WebView 更改音频输出设备
Posted
技术标签:
【中文标题】WebView 更改音频输出设备【英文标题】:WebView change audio output device 【发布时间】:2021-11-19 09:33:21 【问题描述】:如何将 WebView 的音频输出从扬声器更改为听筒?我试过这段代码,但它不起作用
private fun setupAudio()
val am = getSystemService(AUDIO_SERVICE) as AudioManager
am.mode = AudioManager.MODE_IN_COMMUNICATION
am.stopBluetoothSco()
am.isSpeakerphoneOn=false
Log.e("Foo","Current mode is $am.mode")
有权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
【问题讨论】:
【参考方案1】:在BT中停止发送和接收,关闭BT然后关闭免提。这是为了打开听筒。
am.setMode(AudioManager.MODE_IN_COMMUNICATION); //
am.stopBluetoothSco(); // stop send and receive
am.setBluetoothScoOn(false); // turn off bluetooth
am.setSpeakerphoneOn(false); // true to turn on speakerphone; false to turn it off
打开内置扬声器 -
am.setMode(AudioManager.MODE_NORMAL);
am.stopBluetoothSco();
am.setBluetoothScoOn(false);
am.setSpeakerphoneOn(true);
【讨论】:
不过,声音还是来自扬声器。【参考方案2】:我搞定了,诀窍是在播放开始后调用setupAudio()
函数。
【讨论】:
以上是关于WebView 更改音频输出设备的主要内容,如果未能解决你的问题,请参考以下文章