杰理之编码请求参数解析【篇】

struct audio_enc_req {
u8 cmd; //请求操作类型
u8 status; //编码器状态
u8 channel; //同时编码的通道数
u8 channel_bit_map; //ADC通道选择
u8 volume; //ADC增益(0-100),编码过程中可以通过AUDIO_ENC_SET_VOLUME动态调整增益
u8 priority; //编码优先级,暂时没用到
u8 use_vad : 1; //是否使用VAD功能
u8 vad_auto_refresh : 1; //是否自动刷新VAD状态,赋值1表示SPEAK_START->SPEAK_STOP-

SPEAK_START->SPEAK_STOP->…循环
u8 direct2dac : 1; //AUDIO_AD直通DAC功能
u8 high_gain : 1; //直通DAC时是否打开强增益
u8 amr_src : 1; //amr编码时的强制16k变采样为8kpcm数据,因为amr编码器暂时只支持8k编

u8 aec_enable : 1; //AEC回声消除功能开关,常用于蓝牙通话
u8 ch_data_exchange : 1; //用于AEC差分回采时和MIC的通道数据交换
u8 no_header : 1; //用于opus编码时是否需要添加头部格式
u8 vir_data_wait : 1; //虚拟编码时是否允许丢失数据
u8 no_auto_start : 1; //请求AUDIO_ENC_OPEN时不自动运行编码器,需要主动调用
AUDIO_ENC_START
u8 sample_depth : 6; //采样深度16bit或者24bit
u16 vad_start_threshold; //VAD连续检测到声音的阈值,表示开始说话,回调
AUDIO_SERVER_EVENT_SPEAK_START,单位ms,填0使用库内默认值
u16 vad_stop_threshold; //VAD连续检测到静音的阈值, 表示停止说话,回调
AUDIO_SERVER_EVENT_SPEAK_STOP,单位ms,填0使用库内默认值
u16 frame_size; //编码器输出的每一帧帧长大小,只有pcm格式编码时才有效

你可能感兴趣的:(算法,人工智能)