I'm building an app that includes some WebViews
.
I want to mute one of them (not the whole app or device just that specific WebView
) I searched but there's no certain answer to this question.
Is there anyone knows how to mute a WebView
sound in Android?
Many Android apps like Gmail, Twitter, or Reddit apps usually display content from the internet. Google has made it easy for developers to render internet content in their apps through Android System WebView.
This interface was deprecated in API level 12. This interface is now obsolete.
You can't mute only WebViews volume, but you can mute the whole system volume when you are showing the WebView. Like :
When you are showing that particular WebView use the below method :
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);
}
And when the webView is not shown set max volume Like :
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);
}
If you don't want to set full volume you can get current system volume by
mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
and save it locally and set it back again when you exit the Webview.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With