0

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

audioManager.setMode(AudioManager.MODE_IN_CALL); 
audioManager.startBluetoothSco();
audioManager.setBluetoothScoOn(true);

然后尝试播放音乐文件,但这只会在设备扬声器上播放,而不是在连接的蓝牙扬声器上播放。所以我的问题是我错过了什么?我读了一些关于 A2DP 接收器的信息,但它似乎在最近的版本中不可用。有什么建议么?提前致谢。TDLR:如何在配对的蓝牙扬声器上播放音乐?

4

2 回答 2

1

startBluetoothSco()方法在 SCO 设置之前返回。在调用上述方法之前,您需要注册一个BroadcastReceiverfor 。ACTION_SCO_AUDIO_STATE_UPDATED

于 2015-01-30T02:18:20.793 回答
0

http://developer.android.com/reference/android/media/AudioManager.html#startBluetoothSco%28%29

这是一个粘性意图,因此您始终可以在调用 setBluetoothScoOn(true) 之前检查状态。

于 2015-04-08T18:00:15.667 回答