WebView改变音频输出设备

WebView change audio output device

如何将 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" />

停止在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);

我成功了,诀窍是在播放开始后调用 setupAudio() 函数。