MP3 demo

[English]

1、功能概述

对指定的 xx.mp3 音频文件进行MP3解码,并输出解码后的音频到 xx.pcm 文件 对指定的 xx.mp3 音频文件进行MP3解码,并输出解码后的音频通过Audio DAC进行播放

2、代码路径

demo路径: \components\demos\media\audio\mp3

MP3库API接口的详细说明请参考同网页: /api-reference/multi_media/bk_mp3.html

3、cli命令简介

demo支持的命令如下表:

Command

Description

mp3_decode_test

MP3解码并将解码后的音频存储到sdcard

mp3_play_test

MP3解码并进行实时播放

demo运行依赖的宏配置:

Name

Description

File

value

CONFIG_AUDIO_MP3_TEST

配置demo是否生效

\middleware\soc\bk7256\bk7256.deconfig

y

CONFIG_AUDIO

配置audio功能是否生效

\middleware\soc\bk7256\bk7256.deconfig

y

CONFIG_AUDIO_MP3

配置helix是否编译为库

\properties\soc\bk7256\bk7256.deconfig

y

demo运行依赖的库和驱动:
  • libhelix.a MP3解码库

  • SD SDcard及文件系统驱动

4、演示介绍

1.准备测试需要的音频文件
  • 将需要测试的xx.mp3文件保存在SDCARD卡根目录

2.挂载TF卡
  • 串口工具发送指令 fatfstest M 1 挂载TF卡

3.执行解码测试
  • 串口工具发送指令 mp3_decode_test start xx.mp3 xx.pcm 执行测试,并输出解码后的xx.pcm音频文件至TF卡根目录

4.执行解码并进行播放测试
  • 串口工具发送指令 mp3_play_test start/stop xx.mp3 执行测试,可以实时播放或停止播放MP3文件

5、详细配置及说明

重要

注意事项:
  • 1.解码后存放PCM数据的buffer分配空间大小需要根据MP3类型进行分配,常见分配大小为1152B或者2304B;

  • 2.MP3解码流程为:MP3DecoderInit —> MP3FindSyncWord —> MP3Decode —> MP3GetLastFrameInfo —> MP3FreeDecoder

  • 3.MP3的具体使用可完全移植mp3_demo.c文件中的cli_mp3_play_test_cmd()的测试demo。