9

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

如何像拨号器中的那样构建和选择控制媒体输出的选项?我查看了有关蓝牙和音频控件的文档,但似乎没有任何工作正常(例如 setScoBluetooth 等)

4

1 回答 1

3

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

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

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

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

于 2013-08-23T08:56:35.570 回答