在Android应用程序中静音webview

Ale*_*nes 5 audio android volume mute webview

我正在构建一个应用程序,其中包含一些WebViews.

我想使WebView我搜索的其中一个(不是整个应用程序或设备)静音,但这个问题没有确定的答案。有没有人知道如何WebView在Android中静音?

Aks*_*AB' 4

您不能仅将 WebView 音量静音,但可以在显示 WebView 时将整个系统音量静音。例如:
当您显示特定的 WebView 时,请使用以下方法:

public static void mute(Context context) {
    AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    int mute_volume = 0;
    mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mute_volume, 0);
}
Run Code Online (Sandbox Code Playgroud)

当 webView 未显示时设置最大音量如下:

public static void unmute(Context context) {
    AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    int unmute_volume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, unmute_volume, 0);
}
Run Code Online (Sandbox Code Playgroud)

如果您不想设置完整音量,可以通过以下方式获取当前系统音量

mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
Run Code Online (Sandbox Code Playgroud)

并将其保存在本地,并在退出 Webview 时再次设置回来。

  • 这有效,谢谢。然而,它设置了整个手机的音量设置,所以我认为这样做可能会让一些用户生气。 (3认同)