如何以编程方式在蓝牙和手机之间选择媒体音频

Ash*_*thi 9 android bluetooth

我需要有一组按钮,其操作类似于JB拨号器中的媒体输出选择器,它将选择"耳机""扬声器"和"电话听筒".我可以很好地打开和关闭扬声器,但是在标准手机和蓝牙耳机之间切换媒体输出之间的切换使我望而却步.

我如何构建和选项,如控制媒体输出的拨号器?我看过蓝牙和音频控件的文档,似乎没有什么工作正常(例如setScoBluetooth等)

Mic*_*ael 3

路由策略的实现是特定于平台的,因此不同产品之间可能略有不同,但这是我的建议:

如果支持 A2DP 的设备被配对/连接“用于媒体”使用,则它应该是流的默认输出设备MUSIC。因此,如果您什么都不做,音频应该路由到 A2DP 设备。

setBluetoothA2dpOn要将音频路由到扬声器而不是 A2DP 设备,请使用带有参数的AudioManager方法false。此方法已被标记为已弃用很长一段时间,但仍然存在并执行我上次检查时公布的操作。

要将音频路由到耳机,请使用VOICE_CALL流类型,并使用 AudioManager 的setMode方法将模式更改为MODE_IN_CALL。您可能还想使用 禁用蓝牙setBluetoothScoOn(false)