2016-08-19 131 views
2

我创建了一个简单的视频块与静音(移动自动启动),但现在我不能改变静音状态...如何取消静音HTML5视频有一个静音道具

我用repository,小提琴链接会很好。

到目前为止,我没有运气尝试这样做。

HTML

<video width="640" height="264" muted autoplay webkit-playsinline src="'+videoURL+'"></video>' 

JS

$(document).on("click",".containerVolume",function(e){ 
     if(isMuted){ 
      $('video').prop('muted', false); 
     } 
     else{ 
      $('video').prop('muted',true); 
     } 
}); 

var videos = document.querySelectorAll('video'); 
     if (location.search === '?enabled=false') 
     { 
     } else if (location.search === '?enabled=true') { 
      enableVideos(false); 
     } else { 
     enableVideos(); 
     } 
     function enableVideos(everywhere) { 
      for (var i = 0; i < videos.length; i++) { 
      window.makeVideoPlayableInline(videos[i], !videos[i].hasAttribute('muted'), !everywhere); 
      } 
     } 
+0

这个作品:'document.getElementsByTagName(“video”)[0] .removeAttribute(“muted”);' –

回答

4

试试这个:

function toggleMute() { 

    var video=document.getElementById("myVideo"); 

    if(video.muted){ 
    video.muted = false; 
    } else { 
    video.muted = true; 
    } 

} 

检查例如here

如果你的代码不能正常工作,尝试添加id到视频/元素你想要的点击注册并使用:

var video=document.getElementById("myVideo") ; 

$(video).on("click", function(e){ 
    if(video.muted){ 
     video.muted = false; 
    } 
    else{ 
     video.muted = true; 
    } 
}); 
+0

删除了静音的attr但仍然是静音 –

+0

我已经更新了我的答案。 '.muted'是正确的方法,如果这不适用于您的特定代码,则可能存在其他问题。请检查链接的JSFiddle以获取工作示例。 –

+0

我更新了我的问题 –

1

您应该使用videoEl.muted

var video = document.getElementById('video'); 
 

 
function toggleMute(){ 
 
    video.muted = !video.muted; 
 
}
<video id="video" width="300" controls muted src="http://www.w3schools.com/html/mov_bbb.mp4"></video> 
 

 
<br><br> 
 
<a onclick="toggleMute()">Toggle Mute</a>

+0

什么也没有发生 –

+0

@ÖzgürErsil - 你看视频? –

+0

是的,它与静音并没有什么变化的开始,我会检查后 –