有时我的 HTML5 视频不会在 iPad 上生成“结束”事件。似乎只有当我省略“controls”属性并从 javascript 开始播放时才会发生。第一次通常工作正常,但第二次视频播放但不会生成“结束”事件。我确实在每次播放后调用“load()”,以便重置到剪辑的开头(因为查找似乎根本不起作用 - 请参阅 this thread )。我有一个解决方法,即跟踪“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>
最佳答案
不要使用load()
来强制查找。如果将 video.currentTime
设置为 0.1
而不是 0
,视频将跳转到开头和 ending
事件仍会正常发送。 (在 iOS 3.2 和 4.2 上测试)
关于ipad - iPad 上缺少 html5 视频 "ended"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874070/