繁体   English   中英

禁用HTML5视频的自动播放和显示控件

[英]Disable autoplay and show controls with HTML5 video

我有一个可以正常工作的HTML5视频,但是我遇到的问题是,每当我在浏览器中转到该视频时,它就会立即开始播放。 如何禁用自动播放功能? 我已经尝试过使用属性autoplay="false"尝试,但是没有结果。

并且控件始终处于隐藏状态,我必须右键单击并单击“显示控件”以使控件弹出。 我也尝试使用以下showcontrols="true"启用此功能: showcontrols="true" ,但那里也没有任何反应。

感谢所有帮助。 下面是我的代码

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>hls.js</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <style>
            .hlsjs {
                position: relative;
                width: 70%;
            }
            .ratio {
                position: absolute;
                padding-top: 75%;
            }
            video {
                background-color: #ccc;
                width: 100%;
            }
        </style>
        <script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script>
        <script>
            window.onload = function() {
                if (Hls.isSupported()) {
                    var video1 = document.getElementById("video1");
                    hls1 = new Hls({
                        debug : true
                    }), hls1.on(Hls.Events.MEDIA_ATTACHED, function() {
                        hls1.loadSource("http://fdfasd.com/fdsa.m3u8");
                    });
                    hls1.attachMedia(video1);
                }
            };
        </script>
    </head>
    <body>
        <h1>hls.js</h1>
        <h2>First instance</h2>
        <div class="hlsjs">
            <video id="video1" autoplay="false" showcontrols="true"></video>
            <div class="ratio"></div>
        </div>
    </body>
</html>

如果您指定autoplay属性,则即使视频为假,视频也将自动播放。 可以在这里看到:

 <video src="http://vjs.zencdn.net/v/oceans.mp4" autoplay="false"></video> 

同样, showcontrols属性实际上应该是controls

因此,所需的HTML将是:

<video id="video1" controls></video>

资料来源:

您必须将其完全删除。 tag属性不带布尔值,而是一个开关本身。 这将删除自动播放,但仍显示控件

 <video id="video1" controls src="http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4"> </video> 

实际上,将autoplay设置为false并不能帮助某些视频继续播放。 看到这种情况摆弄。

如果您想暂停所有视频,则可能需要编写以下代码:

videos = document.querySelectorAll("video"); 
for(video of videos) {
  video.pause(); 
  video.controls = true
}

当然,如果video标签在shadow root元素中,上述情况将不起作用,但是几乎没有任何常规解决方案可与shadow roots元素一起使用。 在那里,您将需要一种自定义方法,并首先扩展阴影根。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM