Android蓝牙应用audioManager问题

Android蓝牙应用audioManager问题,android,bluetooth,speaker,android-audiomanager,a2dp,Android,Bluetooth,Speaker,Android Audiomanager,A2dp,我正在开发一个控制扬声器的应用程序。我希望该应用程序能够播放音乐,做卡拉OK(播放音乐和麦克风在同一时间),并提供一个基本的均衡器给用户。到目前为止,我的问题一直是通过蓝牙播放音乐。我的应用:-发现附近的所有蓝牙扬声器-将其放入列表-与单击的设备配对,并将用户发送到蓝牙设置以连接到该设备 现在我的问题是通过蓝牙扬声器成功播放音乐。我使用AudioManager并将其设置为在SCO上播放: audioManager.setMode(AudioManager.MODE_IN_CALL); audi

我正在开发一个控制扬声器的应用程序。我希望该应用程序能够播放音乐,做卡拉OK(播放音乐和麦克风在同一时间),并提供一个基本的均衡器给用户。到目前为止,我的问题一直是通过蓝牙播放音乐。我的应用:-发现附近的所有蓝牙扬声器-将其放入列表-与单击的设备配对,并将用户发送到蓝牙设置以连接到该设备 现在我的问题是通过蓝牙扬声器成功播放音乐。我使用AudioManager并将其设置为在SCO上播放:

audioManager.setMode(AudioManager.MODE_IN_CALL); 
audioManager.startBluetoothSco();
audioManager.setBluetoothScoOn(true);
然后尝试播放音乐文件,但这仅通过设备扬声器播放,而不通过连接的蓝牙扬声器播放。 所以我的问题是我错过了什么?我读了一些关于A2DP接收器的文章,但在最近的版本中似乎没有。有什么建议吗?提前谢谢。
TDLR:如何向配对的蓝牙扬声器播放音乐?

在设置SCO之前,会返回
startBluetoothSco()
方法。在调用上述方法之前,您需要注册一个
BroadcastReceiver
,用于
ACTION\u SCO\u AUDIO\u STATE\u UPDATED

调用setBluetoothScoOn(true)之前,始终可以检查状态,这是一个很难理解的意图