【发布时间】:2015-01-27 01:03:18
【问题描述】:
我正在尝试构建一个非常简单的 HTML5 视频播放器:
HTML
<div class="col-lg-12 video">
<video id="format-video" width="100%" height="100%" loop="loop" preload="auto">
<source src="Video-AOM.mp4" type="video/mp4" />
<img src="images/fallback.jpg" />
</video>
<img class="background" src="images/video-background.jpg" />
<div class="video-run"></div>
<div class="video-play-pause"></div>
</div>
打字稿
$(document).ready(function () {
if ($('#format-video').length > 0) {
var video = <HTMLVideoElement> document.getElementById('format-video');
video.oncanplaythrough = function () {
$('.video-run').fadeIn(200);
$('.video-run').click(function () {
$(".video .background").fadeOut(200);
$('.video-run').fadeOut(200);
$('.video-play-pause').fadeIn(200);
$('.video-play-pause').on('click',function () {
if (video.paused) {
video.play();
}
else {
video.pause();
}
})
video.play();
});
}
});
所以当视频可以“播放”时,一个大的“播放”按钮会淡入,点击时会淡出,而小的暂停/播放会淡入。
如果我点击播放/暂停按钮,暂停会起作用,但如果我再次点击它,它要么只播放几秒钟并冻结,要么什么都没有发生。
我正在 Chrome 40.0.2214.91 m 上进行测试。
我尝试按照那里的建议设置 preload="none" :HTML5 video controls - Cannot play after pause in chrome only 但没有成功。
不确定是否有解决方案。
【问题讨论】:
标签: jquery html html5-video typescript