Javascript 使用图像将视频静音/取消静音

标签 javascript html html5-video html5-audio

由于某种原因,它不起作用......我做错了什么? 我希望能够使用图像将视频静音和取消静音,这会改变视频是否静音。

 function mute() {
            var video = document.getElementById("bgvid");
         if (!video.muted) {
             document.getElementById('muteicon').src = "Images/muteicon.png";
            video.muted;
         }     else {
             document.getElementById('muteicon').src = "Images/soundicon.png";
             video.muted == false;
             }

        }
video#bgvid {
            margin-top: 30px;
            margin-bottom: 60px;

            width: 1280px; height: 720px;


            background-size: cover;

        }
        video { display: block; }
<video autoplay loop id="bgvid">
        <source src="newyork.mp4" type="video/mp4">
    </video>
    <br><br>
    <img alt="mute icon" src="Images/soundicon.png" id="muteicon" onclick="mute()">
    <script>
      </script>

最佳答案

您必须使用assign(=)运算符而不是 equality(==)运算符:

function mute() {
    var video = document.getElementById("bgvid");

    if (!video.muted) {
        document.getElementById('muteicon').src = "Images/muteicon.png";
        // video.muted <- not assigned to true
        video.muted = true;
    } else {
        document.getElementById('muteicon').src = "Images/soundicon.png";
        // video.muted == false <- wrong use of equality operator
        video.muted = false;
    }
}

并且您不能仅通过按您所做的调用来告诉 API 将属性设置为 true:

video.muted

您必须为该属性分配一个值:

video.muted = true

关于Javascript 使用图像将视频静音/取消静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200467/

相关文章:

Javascript 日期 UTC 问题

javascript - 悬停效果在 IE9 上不起作用

使用 FFMPEG 的 PHP HTML5 兼容 MP4 视频

JavaScript - 撤消数组的排序

javascript - 选择 div 中的特定元素?

html - 如何获得类似于 www.youtube.com 的可滚动侧边栏?

video-streaming - 如何将视频从浏览器提交/流式传输到服务器?

html - 固定在 div 中的视频

javascript - AngularJS - 如何在没有 HTML 元素的情况下使用 ng-if

html - 带有 html.radiobutton ASP.NET MVC 的单选按钮