9.20. 编码数据流dec解码

概述

MP3编码文件数据流, 通过vfs_ops传入进行dec解码

9.20.1. 应用示例

  • apps/demo/demo_DevKitBoard/include/demo_config.h 打开 #define USE_AUDIO_BUFFER_TEST 宏使用,例程文件为 apps/common/example/audio/play_audio_buffer/main.c

  • 该例子中以文件 1.mp3 作为输入数据,进行dec的解码, 输出pcm数据到dac播放

9.20.2. 例子流程

  1. 等待SD卡挂载

  2. 参数初始化

  3. 创建信号量

  4. 打开解码服务

  5. 打开文件

  6. 动态申请cbuf内存

  7. 创建数据源线程

  8. 开始解码

  9. 等待数据读完整, 文件播放完毕后调用事件END

  10. 停止解码

  11. 释放cbuf内存

  12. 关闭文件

  13. 注销解码服务

  14. 销毁信号量

9.20.3. 注意事项

  • 首先读取到的512字节数据是MP3解码库所需要拿到的MP3信息, 参考MP3文件前512字节数据, 使用数据流的时候注意下这一点.

  • 由于不同解码库读取数据的方式与顺序不一样, 所以该例子只针对MP3解码, 不适用与其他解码.