我有一个有效的HTML5视频,但我遇到的问题是每当我在浏览器中看到视频时 - 它立即开始播放。如何禁用自动播放功能?我已尝试使用属性autoplay="false"
,但没有结果。
控件总是隐藏的,我必须右击并点击"显示控件"用于弹出控件。我也尝试使用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>
答案 0 :(得分:5)
如果指定autoplay
属性,视频将自动播放,即使它是错误的。这可以在这里看到:
<video src="http://vjs.zencdn.net/v/oceans.mp4" autoplay="false"></video>
此外,showcontrols
属性实际上应为controls
。
所需的HTML将是:
<video id="video1" controls></video>
来源:
答案 1 :(得分:1)
你必须完全删除它。 tag属性不是布尔值,而是一个开关本身。这将删除自动播放但仍显示控件
<video
id="video1"
controls
src="http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4">
</video>
答案 2 :(得分:0)
确实将autoplay
设置为false
并不能帮助某些视频播放。见this case in fiddle.
如果你想暂停所有视频,你可能希望通过代码来做一些事情:
videos = document.querySelectorAll("video");
for(video of videos) {
video.pause();
video.controls = true
}
当然,如果video
标签位于阴影根元素中,则上述情况将不起作用,但几乎任何通用解决方案都不适用于阴影根元素。在那里,您将需要一种自定义方法,并首先扩展阴影根。