15

有时我的 HTML5 视频不会在 iPad 上生成“结束”事件。似乎只有当我省略“控件”属性并从 javascript 开始播放时才会发生。它通常第一次工作正常,但第二次视频播放但不会产生“结束”事件。每次播放后我都会调用“load()”,以便重置到剪辑的开头(因为搜索似乎根本不起作用 - 请参阅此线程)。我有一个解决方法,即跟踪“timeupdate”事件并在 时执行我的播放结束操作vid.currentTime>=vid.duration,但我想知道是否有其他人遇到过这个问题。一些相关代码如下。

干杯-克里斯

文件加载功能:

function load() {
    var vid = document.getElementById('vid');
    vid.addEventListener('ended', function() {
        alert('video ended');
        vid.load();
    },false);
}

的HTML:

<body onload="load();">
<h1>HTML5 Video Test</h1>
<input type="submit" value="Play" onclick="document.getElementById('vid').play();">
<video id="vid" src="test.mov" width="640" height="480"></video>
</body>
4

1 回答 1

2

不要使用load()强制搜索。如果您设置video.currentTime0.1而不是0视频将跳转到开头并且ended事件仍将正确调度。(在 iOS 3.2 和 4.2 上测试)

于 2011-03-29T04:25:35.073 回答