【问题标题】:WebView change audio output deviceWebView 更改音频输出设备
【发布时间】: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" />

【问题讨论】:

    标签: android audio webview webrtc peerjs


    【解决方案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() 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2016-07-06
      • 2018-05-02
      相关资源
      最近更新 更多