开始时Javascript /静音视频声音

时间:2018-05-24 14:36:28

标签: javascript html video mute

我在一个有视频的网页上工作。 在重新排版页面时,我想随机启动一个静音视频。滚动后,视频取​​消静音。

我已经完成了随机视频javascript,但我无法对视频进行静音... 当我启动页面时,视频以声音开始......

这是我的代码:

 <div id="mixmen" onmouseover="play()" onmouseout="mute()" onclick="location.href='http://ap-mixmen.com/','_blank'" >

<div class="video">


<section id="videos">

<video id="videos" preload="none" style="height:100%"> 
<source src="imgs/mixmen.mp4" type="video/mp4"></video>

<video id="videos" preload="none" style="height:100%"> 
<source src="imgs/mixmen2.mp4" type="video/mp4"></video>

<video id="videos" preload="none" style="height:100%"> 
<source src="imgs/mixmen3.mp4" type="video/mp4"></video>

<video id="videos" preload="none" style="height:100%"> 
<source src="imgs/mixmen4.mp4" type="video/mp4"></video>


</section>


</div>


<script>

(function () {
                "use strict";
                document.getElementById("videos").muted = true;
                var videosSection = document.getElementById("videos");
                var videosSectionClone = videosSection.cloneNode();
                var videos = videosSection.getElementsByTagName("video");
                var randomVideo = videos.item(Math.floor(Math.random() * videos.length)).cloneNode(true);
                randomVideo.removeAttribute("controls");
                randomVideo.setAttribute("preload", "auto",);
                videosSectionClone.appendChild(randomVideo);
                videosSection.parentNode.replaceChild(videosSectionClone, videosSection);
                randomVideo.play();


})();

var videosSection = document.getElementById("videos");

function play()
{ 
  video.muted = false; 
}

function mute()
{ 
  video.muted = true; 
}



</script>

</div>

你知道它为什么不起作用吗?

3 个答案:

答案 0 :(得分:0)

尝试将静音添加到视频标记

例:      

答案 1 :(得分:0)

尝试添加&#34;静音&#34;到视频标签。

<video id="videos" preload="none" muted style="height:100%"> 
<source src="imgs/mixmen.mp4" type="video/mp4"></video>

答案 2 :(得分:0)

您好第一部分ID必须与您的视频标签不同,那么您的视频标签也必须具有不同的ID,最后您将“muted = true”应用于所选元素。如果您要将页面加载中的所有视频静音,可以按标记名称访问它们,然后按如下方式应用静音:

const videos= [...document.getElementsByTagName('video')];
videos.forEach((video) => { video.muted = true });