我正在构建一个包含一些WebViews的应用程序。

我想忽略其中一个(不是整个应用或设备,只是那个特定的WebView),但是这个问题没有确定的答案。
有谁知道如何在Android中静音WebView声音?

最佳答案

您不能仅使WebViews音量静音,但可以在显示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);
}

当未显示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);
}

如果您不想设置完整音量,则可以通过以下方式获取当前系统音量:
mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

并将其保存在本地,然后在退出Webview时再次将其重新设置。

10-07 16:22
查看更多