三、杰理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
分类:
实习笔记-杰理AD14N芯片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!