[英]HTML5 Audio Mute in Android webview
我在android webview中使用HTML5音频播放器。 我想静音音频,我正在使用这样的代码
this.mute = function()
{
console.debug("Muted");
if(_audioHtml.muted == undefined) {
alert("Doesn't exist");
}
else {
if(_audioHtml.muted === true) {
alert("Muted");
}
else if (_audioHtml.muted === false) {
alert("Non Muted");
}
else {
alert("None of them");
}
}
_audioHtml.muted = true;
};
每次通话后,我都可以看到静音的值发生了变化。 但它不会对设备产生任何影响。 它总是以设定的音量产生声音。 我怎么能在android中做到这一点。 我使用的是Android 4.0.4。
谢谢。
假设像<audio id="player" src="something.mp3" />
这样的音频标签,你应该使用Javascript来切换标签本身的muted
属性...类似于
$('#player').muted = true;
如果您以这种方式设置音频,它会起作用:( html5标签将被静音)在您的JAVA活动中:
wv.loadUrl("file:///android_asset/index.html");
wv.addJavascriptInterface(this, "jInterface");
在你的html文件中:静音:
<script>
jInterface.mute();
</script>
现在回到你的java活动:
public void mute()
{
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
}
我还没有找到适用于我的MotoX 4.2设备的解决方案,但这在大多数情况下都适用,基本上你在视频开始播放后暂停
需要注意的是,我的三星4.3设备过早播放“播放”方式,它应该在视频实际开始播放时触发,但在视频开始加载时触发
if (sdkVersion < 4.4) {
player.addEventListener("timeupdate", pauseIfPlaying); // check player.currentTime > 0
} else {
player.addEventListener("playing", function () {
player.muted = true;
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.