一、原理
Hi3520D音频(AUDIO)模块包括音频输入、音频输出、音频编码、音频编码和音频解码模块。音频输入和输出模块通过对Hi3520D芯片SIO设备的控制实现相应的音频输入输出功能;编码和解码模块则提供对ADPCM、G726、G711、PCM格式的音频编解码功能。
读取本地音频进行输出播放,主要原理如下:芯片利用DMA将内存中的数据传输到AO设备。AO设备通过I2S时序或PCM时序向AudioCodec发送数据。AudioCodec完成数字信号到模拟信号的转换过程,并输出模拟信号。
Hi3520D音频解码播放流程:
1、 音频输出属性初始化(通过结构体AIO_ATTR_S来进行设置);
2、 配置音频编解码模块(ACODEC);
3、 根据音频编码协议创建音频解码通道;
4、 设置AO设备属性;启用AO设备;启用AO通道(启用AO重采样,此项可选);
5、 绑定音频输出通道到音频解码通道;
6、 向每包待发送的音频数据头添加4字节的海思音频协议头;
7、 向音频解码通道发送组合后的音频数据包;
8、 播放声音。
二、调试过程
1、 制作原始音频数据(raw data)文件
Hi35XX系列芯片编解码所支持的音频格式主要是ADPCM、G726、G711、PCM等原始音频格式,常见的音频格式无法直接播放。因此若要输出播放本地音频,需先将音频转化成原始音频格式。
图1Adobe Audition启动界面