#ifndef RECORDER_H #define RECORDER_H #ifdef __cplusplus extern "C" { #endif #include "alsa_cfg.h" #include 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