我需要一组按钮,其操作类似于JB拨号器中的媒体输出选择器,它将选择“耳机”“扬声器”和“电话听筒”。我可以很好地打开和关闭扬声器,但是在标准手机和蓝牙耳机之间切换媒体输出之间的切换使我望而却步。
我如何构建和选择控制媒体输出的拨号器?我看过蓝牙和音频控件的文档,似乎没有什么工作正常(例如setScoBluetooth等)
答案 0 :(得分:3)
路由策略的实现是特定于平台的,因此不同产品之间可能略有不同,但这是我建议的:
如果支持A2DP的设备配对/连接“用于媒体”,它应该是MUSIC
流的默认输出设备。因此,如果您不执行任何操作,则应将音频路由到A2DP设备。
要将音频路由到扬声器而不是A2DP设备,请使用AudioManager的setBluetoothA2dpOn
方法和参数false
。此方法已被标记为已弃用很长时间,但仍然存在并在上次检查时执行广告操作。
要将音频路由到听筒,请使用VOICE_CALL
流类型,并使用AudioManager的setMode
方法将模式更改为MODE_IN_CALL
。您可能还想使用setBluetoothScoOn(false)
禁用蓝牙。