5. 多录音分区(AD14N)

AD14N目前支持多录音分区功能,能在各个分区中独立的进行录音操作。本章着重介绍录音的多分区功能实现流程。将会涉及到app_record.c以及nor_fs_resource.c。


5.1. 1 多录音分区一般流程

在开机初始化中会调用void norfs_init_api(void),此函数实现对录音区域的初始化,会初始化录音的起始地址、结束地址以及字节大小等变量。在分区前需要确保有足够的空间能够存放至少256字节。此流程中以将原本的录音地址一分为二,实现双录音分区为例。

5.1.1. 1.1 创建录音分区初始化

"图1 创建录音分区初始化“

图1 创建录音分区初始化

创建双录音分区初始化步骤:

① 打开nor_fs_resource.c文件;
② 仿照函数norfs_init_api()创建录音分区2的初始化函数norfs_init_api2();
③ 修改录音分区1函数norfs_init_api()中,norfs_init()传入的结束地址。本章中    将其改为原来长度的一半;
④ 修改录音分区2函数norfs_init_api2()中,norfs_init()传入的起始地址。本章中   将其改为同录音分区1同长度;

详情步骤可参考图1。同理,多录音分区也可根据上述步骤修改进行录音分区初始化。

若不选择默认录音地址,可在isd_config.ini文件中自行开辟地址。

5.1.2. 1.2 创建录音切换分区消息事件并设置键位

"图2 创建录音切换分区消息事件“

图2 创建录音切换分区消息事件

"图3 设置录音切换分区键位“

图3 设置录音切换分区键位

创建录音切换分区消息事件并设置键位步骤:

① 打开msg.h文件;
② 如图2,在录音操作相关信息处添加录音切换分区消息事件    MSG_REC_NEXT_SECTOR;
③ 打开app_record_key.c文件;
④ 如图3,在IOKEY_RECORD_SHORT_UP定义中添加IOKEY 3作为切换录   音分区按键;

可自行命名切换消息事件和选择切换的键位。

5.1.3. 1.3 在app录音任务中实现录音分区切换操作

"图4 在app录音任务中实现录音分区切换操作“

图4 在app录音任务中实现录音分区切换操作

在app录音任务中实现录音分区切换操作步骤:

① 打开nor_fs_resource.c文件;
② 创建录音分区切换标志norfs_sector_flag;
③ 关闭正在编码或者正在播放的录音任务,防止任务干扰分区的切换;
④ 根据标志选择初始化的录音分区;
    a.标志为0时,切换至分区2,同时将标志置1;
    b.标志为1时,切换至分区1,同时将标志置0;
⑤ 播放所在分区最新的录音文件;
    a.初始化解码器;
    b.打开录音设备;
    c.进行录音解码,解码会自动选择该分区最新的文件进行播放;

详情步骤可参考图4。同理,多录音分区也可根据上述步骤,通过增加标志的置来选择多录音分区切换。