#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 
 |