显示海报图像或暂停按钮时,HTML5视频暂停
Show poster image or pause button when HTML5 video is paused?
嗨,我正在为iPad编写一个本地网站,并有一个没有控件的视频,当点击时播放和暂停。当视频暂停时,是否可以显示海报图像?或者在中间显示暂停按钮?下面是我用来播放和暂停的代码:
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
var overlay = document.getElementById('video-overlay');
var video = document.getElementById('video');
var videoPlaying = false;
overlay.onclick = function() {
if (videoPlaying) {
video.pause();
videoPlaying = false;
}
else {
video.play();
videoPlaying = true;
}
}
}//]]>
</script>
和视频的HTML
<div id='video-overlay'></div>
<video width="768" height="432" poster="thumbnail2.jpg" id='video'>
<source src="PhantomFuse3_TechVideo_h264.mp4" type="video/mp4">
</video>
另一个解决方案是调用:
video.load()
它将重新显示海报图像。它将在下次交互时重新开始视频,但如果你愿意,你可以保存时间戳并从那里开始播放。
您必须在视频上注册暂停事件。
像这样:JSFiddle代码
当然,您应该根据需要修改它并添加一些结构。不过我还没在iPad上试过。另外要注意的是:注册点击会在点击事件上引入300毫秒的延迟。你应该查看触摸设备的touchstart事件,并注册click和touchstart。
var overlay = document.getElementById('video-overlay'),
video = document.getElementById('video'),
videoPlaying = false;
function hideOverlay() {
overlay.style.display = "none";
videoPlaying = true;
video.play();
}
function showOverlay() {
// this check is to differentiate seek and actual pause
if (video.readyState === 4) {
overlay.style.display = "block";
videoPlaying = true;
}
}
video.addEventListener('pause', showOverlay);
overlay.addEventListener('click', hideOverlay);
相关文章:
- HTML5画布-暂停时的运行时间
- 我的HTML5游戏不时暂停,我如何才能知道它是否's是由垃圾收集引起的
- 用angular js在屏幕上点击播放和暂停html5视频
- 在 html5 中使用暂停和播放按钮
- 删除对HTML5视频标签的控件(播放,暂停等)
- 暂停HTML5视频,如果它是使用空格键像youtube互动
- 在屏幕尺寸上播放/暂停HTML5视频
- 随机暂停HTML5视频播放器
- 播放暂停 HTML5 视频 JavaScript
- 在其他元素悬停时开始/暂停 HTML5 视频
- 如何使用JavaScript暂停HTML5视频播放器
- 当按空格键时,暂停HTML5视频
- 如何在父iframe中暂停html5音频,该功能来自子框架
- 暂停html5视频点击无处不在
- 暂停HTML5视频播放器点击
- 我如何用JavaScript暂停HTML5视频
- 当滚动开始时暂停html5视频
- 在IOS设备上暂停(html5) youtube视频
- 暂停HTML5视频时,离开了视野
- jQuery全局播放和暂停HTML5音频