BT music source示例

源码路径:example/bt/music_source

支持的平台

  • eh-lb525

  • eh-lb563

  • eh-lb567

  • eh-lb58x

概述

本例程演示本地音乐播放以及连接耳机等A2DP SINK设备后将声音送给对端设备,包含:

  • 预置一首mp3音频文件在root分区。

例程的使用

例程开机会默认使能蓝牙,并通过FINSH命令进行控制

  1. 播放本地音乐: 通过命令music play_default来播放预置的.mp3文件,如果没有连接耳机等蓝牙设备,会直接从喇叭播出。 如果想播放文件系统内的歌曲可以使用music play [loop_time] [path]来进行,例music play 3 \A.mp3会播放root分区下A.mp3 3次

  2. 搜索蓝牙设备 通过命令music inquiry start来搜索耳机类蓝牙设备,该命令只会上报搜到的COD的Major Class为0x000400的设备(Audio device)。 搜索到的设备会以log “device [%s] searched”和“device COD is [%d], addr is xx:xx:xx:xx:xx:xx”的形式打印。

  3. 连接蓝牙设备 通过命令music conn [addr]来进行连接,addr将上面搜到设备的地址(xx:xx:xx:xx:xx:xx)打印值复制即可。 如果已知晓耳机类蓝牙设备地址,可以不用进行搜索蓝牙设备,直接连接即可。 当A2DP profile连上以后,本设备的输出音源会自动从喇叭切到耳机端,断开后会切回来。

  4. 调节对端蓝牙设备音量 通过命令music set_vol [val]来实现,val在0-127之间有效。本例程目前只支持调节支持绝对音量功能的耳机,若耳机不支持该功能,则无法调节音量。

硬件需求

运行该例程前,需要准备:

编译和烧录

切换到例程project目录,运行scons命令执行编译:

> scons --board=eh-lb525 -j32

切换到例程project/build_xx目录,运行uart_download.bat,按提示选择端口即可进行下载:

$ ./uart_download.bat

     Uart Download

please input the serial port num:5

关于编译、下载的详细步骤,请参考快速入门的相关介绍。

例程的预期结果

例程启动后:

  1. 在不连接蓝牙的情况播放内置音乐

  2. 可以搜索耳机类蓝牙设备,并在连接后播放内置音乐

异常诊断

参考文档

更新记录

版本

日期

发布说明

0.0.1

01/2025

初始版本