BT music sink relay示例
源码路径:example/bt/music_sink_with_relay
支持的平台
eh-lb52J
概述
本例程演示在music_sink基础上,需要两个板子下载该工程,实现两个设备同时播放手机音乐
例程的使用
例程分为两部分:
一部分是和手机之间操作,与music_sink相同,工程开机会打开蓝牙的Inquiry scan和psage scan,用手机等A2DP source设备可以搜索到本机并发起连接,连上以后即可播放手机音乐。
另外一部分是两个板子之间的操作,两个板子需要完成配对才能实现音乐的转发。同时有且只有一个板子能够与手机相连,没有连接手机的板子,会收到转发的音乐信息。 2.1 被手机连上的板子会被配置成relay src角色,否则可以通过finsh命令music set_role x来设置角色。(1是relay sink;2是relay src)。但需要保证relay src是和手机连接的板子。 如果正在配对或配对已经完成,设置角色会失败;可以通过music get_role来检查当前角色。只有src和sink才能进行配对。 2.2 当两个板子角色确定好后,通过music pair来进行配对,配对成功会看到”A2DP relay paired! Role is x”的log 2.3 通过music unpair来取消两个板子之间配对。 2.4 在两个板子没有配对之前,可以通过music set_chnl x(0代表src左声道/sinky右声道,1代表src右声道/sink左声道,2代表两边都播放左声道)来设定两个板子的声道。
本机的蓝牙名称默认是sifli_music_sink。
硬件需求
运行该例程前,需要准备:
两块本例程支持的开发板(支持的平台)。
喇叭。
编译和烧录
切换到例程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
关于编译、下载的详细步骤,请参考快速入门的相关介绍。
例程的预期结果
例程启动后: 能够实现手机音乐的转发,转发设备之间声音同步且无卡顿
异常诊断
参考文档
更新记录
版本 |
日期 |
发布说明 |
---|---|---|
0.0.1 |
01/2025 |
初始版本 |