三、杰理AD14N——MIC模块应用即record模式代码

一、MIC模块

MIC模块是一种用于音频信号的输入和输出的接口模块。MICLDO、MICBIAS和MICIN是MIC模块的接口引脚,其含义如下:

  1. MICLDO(MIC Low Dropout)接口:这是MIC模块的电源引脚,用于提供模块的低压降电源。通常,MIC模块需要一个较低的电源电压来正常工作,而MICLDO接口就是用来提供这个低压降电源的。
  2. MICBIAS(MIC Bias)接口:这是MIC模块的偏置引脚,用于提供麦克风的偏置电压。麦克风是一种需要外部偏置电压才能正常工作的传感器,而MICBIAS接口就是用来提供这个偏置电压的。
  3. 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;

  1. 将开始的录音模式改为正常模式

将译码器类型中的BIT_SPEED模式注释掉

posted @ 2023-08-01 16:18  种星记  阅读(63)  评论(0编辑  收藏  举报  来源