9.18. dec解码virtual输出

概述

dec解码后,不通过dac播放, 而是通过virtual虚拟源输出

9.18.1. 应用示例

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

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

9.18.2. 例子流程

  1. 等待SD卡挂载

  2. 打开dec服务

  3. 打开输入文件

  4. 打开输出文件

  5. 打开解码器

  6. 获取虚拟句柄

  7. 创建数据接收线程

  8. 开始解码

  9. 等待解码完成

  10. 关闭文件, post信号量, 关闭解码器

9.18.3. API参考

//解码虚拟输出时的cbuf读写参数结构体
struct audio_cbuf_t {
    void *cbuf;       /*!< cbuf句柄 */
    void *wr_sem;     /*!< 写信号量指针 */
    void *rd_sem;     /*!< 读信号量指针 */
    volatile u16 end; /*!< 读写结束 */
    volatile u8 state;/*!< 是否正在解码状态 */
};