我正在开发一个控制扬声器的应用程序 . 我希望该应用程序能够播放音乐,卡拉OK(同时播放音乐和麦克风),并为用户提供基本的EQ . 到目前为止,我的问题一直是通过蓝牙播放音乐 . 我的应用程序: - 发现附近的所有蓝牙扬声器 - 在列表中输入它们 - 点击设备并将用户发送到蓝牙设置以连接到它现在我的问题是通过蓝牙扬声器成功播放音乐 . 我使用AudioManager并将其设置为通过SCO播放:
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.startBluetoothSco();
audioManager.setBluetoothScoOn(true);
然后尝试播放音乐文件,但这仅播放设备扬声器而不是连接的蓝牙扬声器 . 所以我的问题是我错过了什么?我读了一下A2DP接收器,但它似乎在最近的版本中不可用 . 有什么建议?提前致谢 . TDLR:如何将音乐播放到配对的蓝牙扬声器?
2 回答
http://developer.android.com/reference/android/media/AudioManager.html#startBluetoothSco%28%29
这是一个棘手的意图,因此您可以在调用setBluetoothScoOn(true)之前始终检查状态 .
startBluetoothSco()
方法在SCO设置之前返回 . 在调用上述方法之前,需要为ACTION_SCO_AUDIO_STATE_UPDATED
注册BroadcastReceiver
.