三、杰理AD14N——MIC模块应用即record模式代码
一、MIC模块
MIC模块是一种用于音频信号的输入和输出的接口模块。MICLDO、MICBIAS和MICIN是MIC模块的接口引脚,其含义如下:
- MICLDO(MIC Low Dropout)接口:这是MIC模块的电源引脚,用于提供模块的低压降电源。通常,MIC模块需要一个较低的电源电压来正常工作,而MICLDO接口就是用来提供这个低压降电源的。
- MICBIAS(MIC Bias)接口:这是MIC模块的偏置引脚,用于提供麦克风的偏置电压。麦克风是一种需要外部偏置电压才能正常工作的传感器,而MICBIAS接口就是用来提供这个偏置电压的。
- MICIN(MIC Input)接口:这是MIC模块的音频输入引脚,用于接收来自麦克风或其他音频源的模拟音频信号。通常,MICIN接口接收到的音频信号会通过模块的其他部分进行处理和放大,然后输出给其他设备或系统使用。
综上所述,MICLDO接口用于提供低压降电源,MICBIAS接口用于提供麦克风的偏置电压,MICIN接口用于接收音频输入信号。
使用MICBIAS(MIC Bias)接口作为偏置电压(MICBIAS和mic连接)
二、代码设置
1. 原代码修改
app_record()函数在进入while(1)之前进行调用了app_record_init()函数进行初始化设置。
app_record_init()函数会调用encode_start()进行编码操作即录音开始。
我们将其注释掉防止开始进入录音。
设置两个消息分别为:
MSG_REC_START:录音开始
MSG_REC_END:录音结束
2. 消息添加代码
当IOkey3按键按下时,进入录音状态。
当IOkey3按键长按抬起时,录音结束。
进入消息列表添加相应的消息
写出消息对应的代码
case MSG_REC_START:
///开始录音
log_info("encode start\n");
music_play_destroy(&music_obj);
encode_start();
break;
case MSG_REC_END:
if (e_status == ENC_ING) {
//停止录音并播放录音
encode_stop();
log_info("encode stop \n");
decoder_init();
void *device = dev_open(__SFC_NANE, 0);
log_info(" start file index : %d\n", findex);
if (music_play(&music_obj, NULL, findex, decoder_type, device,
MUSIC_MODE_PLAY_ONE, FS_TYPE_NORFS, NULL) == -1) {
log_info("music play failed \n");
}
}
break;
- 将开始的录音模式改为正常模式
将译码器类型中的BIT_SPEED模式注释掉
本文来自博客园,作者:种星记,转载请注明原文链接:https://www.cnblogs.com/zhongxingji/p/17697221.html