html5设置或返回音频/视频是否应该在结束时再次播放的属性loop
实例
将视频设置为循环播放:
myVid=document.getElementById("video1");myVid.loop=true;
定义和用法
loop 属性设置或返回音频/视频是否应该在结束时再次播放。
浏览器支持
所有主流浏览器都支持 loop 属性。
注释:Internet Explorer 8 或更早的浏览器不支持该属性。
语法
设置 loop 属性:
立即学习“前端免费学习笔记(深入)”;
audio|video.loop=true|false
返回 loop 属性:
audio|video.loop
属性值
值 | 描述 |
true | 指示音频/视频应该在结束时再次播放。 |
false | 默认。指示音频/视频不应该在结束时再次播放。 |
返回值
类型 | 描述 |
布尔值 | true|false。默认值是 false。 |
实例
将视频设置为循环播放:
<!DOCTYPE html> <html> <body> <p><button onclick="enableLoop()" type="button">启用循环</button><button onclick="disableLoop()" type="button">禁用循环</button><button onclick="checkLoop()" type="button">检查循环的状态</button></p><video id="video1" controls="controls"><source src="/kf51/demo/mov_bbb.mp4" type="video/mp4"><source src="/kf51/demo/mov_bbb.ogg" type="video/ogg">您的浏览器不支持 video 标签。</video><script>var myVid = document.getElementById("video1");function enableLoop() { myVid.loop = true;myVid.load();} function disableLoop() { myVid.loop = false;myVid.load();} function checkLoop() { alert(myVid.loop);} </script> </body> </html>
因为需要在APP加载HTML页面,用CrossWalk替换了原生的WebVIew,发现在一台测试机上即使设置Loop属性。视频(andorid4.2.2设备)不会循环播放,
最后不再使用loop属性用js来处理循环播放,HTML5懂得也不多,,直接上代码了
<video autoplay="autoplay" id = "video" playsinline webkit-playsinline> <source type="video/mp4" src="path" /> <preference name="AllowInlineMediaPlayback" value="true" /></video><script> var video = document.getElementById("video"); video.loop = false; video.addEventListener('ended', function() { video.currentTime=0.1; video.play(); }, false); video.play(); </script></body>
webView加载HTML可能出现包括autopaly loop等属性都不能用的情况,可以考虑用更强大的CrossWalk代替,不过会增加包的大小
同是用HTML5加载视频来循环播放,可以避免直接播放视频时切换过程中短暂的黑屏情况。。。