我创建了一个带静音的简单视频模块(用于移动自动启动),但现在我无法更改静音状态...
我用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 :(得分:10)
试试这个:
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;
}
});
答案 1 :(得分: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>
答案 2 :(得分:1)
Glen's Answer 恰到好处,我只是想说明为什么它不适合 Özgür、OP(以及我自己,这就是引导我来到这里的原因)。
基本上归结为静音property和静音attribute是不同的。它似乎没有很好的文档记录(我已经找到了),但我遇到的行为是静音属性(通过 element.getAttribute 和相关方法访问)影响初始状态,但切换它没有任何影响。另一方面。似乎静音属性(通过 videoEl.muted 访问,正如格伦指出的那样)是如何在页面加载后更改静音状态。
答案 3 :(得分:0)
您可以简单地将其静音/取消静音
document.getElementById("theIdOfYourVideoGoesHere").volume=0;
和
document.getElementById("theIdOfYourVideoGoesHere").volume=1;
(此主题似乎已有两年历史,但今天它已成为我的Google搜索排名第一的结果)
Bilgisayar ne bilgiden anlar nesaygıdan。 Çünküocansızbirdüzenektir。卡达。