hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef RECORDER_H
#define RECORDER_H
#ifdef __cplusplus
extern "C" {
#endif
 
#include "alsa_cfg.h"
#include <stdlib.h>
 
typedef struct recorder_handle* recorder_handle_t;
__attribute ((visibility("default"))) recorder_handle_t recorder_open(alsa_open_config_t *config);
__attribute ((visibility("default"))) int recorder_start(recorder_handle_t self);
//注意alsa的一帧值一个采样时刻所有通道的数据
//计算方法:
//  一帧字节数 = config->bits * config->channels / 8;
//  frame_count必须为config->period_size;
__attribute ((visibility("default"))) int recorder_read(recorder_handle_t self, char *frame, size_t frame_count);
__attribute ((visibility("default"))) int recorder_stop(recorder_handle_t self);
__attribute ((visibility("default"))) void recorder_close(recorder_handle_t self);
 
#ifdef __cplusplus
}
#endif
#endif