BT music sink relay示例

源码路径:example/bt/music_sink_with_relay

支持的平台

  • eh-lb52J

概述

本例程演示在music_sink基础上,需要两个板子下载该工程,实现两个设备同时播放手机音乐

例程的使用

例程分为两部分:

  1. 一部分是和手机之间操作,与music_sink相同,工程开机会打开蓝牙的Inquiry scan和psage scan,用手机等A2DP source设备可以搜索到本机并发起连接,连上以后即可播放手机音乐。

  2. 另外一部分是两个板子之间的操作,两个板子需要完成配对才能实现音乐的转发。同时有且只有一个板子能够与手机相连,没有连接手机的板子,会收到转发的音乐信息。 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代表两边都播放左声道)来设定两个板子的声道。

  3. 本机的蓝牙名称默认是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

初始版本