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

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

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

解决方法

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

如果支持A2DP的设备配对/连接“用于媒体”,则它应该是MUSIC流的输出设备.因此,如果您不执行任何操作,则应将音频路由到A2DP设备.

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

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...