【问题标题】:missing html5 video "ended" event on iPadiPad 上缺少 html5 视频“结束”事件
【发布时间】:2011-04-21 21:42:45
【问题描述】:

有时我的 HTML5 视频不会在 iPad 上生成“结束”事件。似乎只有当我省略“控件”属性并从 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>

【问题讨论】:

    标签: ipad html5-video


    【解决方案1】:

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

    【讨论】:

    • 谢谢!你知道这是否记录在某处吗?或者它是一个错误? seek(0) 在桌面浏览器中工作。
    • 这是一个错误,我已经在我自己的博客上“记录”了它:blog.millermedeiros.com/2011/03/…
    猜你喜欢
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多