2016-08-19 148 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

是的,它與靜音並沒有什麼變化的開始,我會檢查後 –