K2x*_*2xL 8 javascript video html5 ipad ios
非常奇怪的错误,我似乎无法搞清楚.
我试图在用户点击播放时从某个位置播放HTML5视频.我试图让它在视频开始播放时正确寻求.
在我的比赛中,我做了 this.currentTime = X
在浏览器上它工作正常.但是在IPad上,当我播放视频时,视频没有寻找正确的位置(从零开始).
更奇怪的是,如果我this.currentTime = X
在一个让我们说1秒的setTimeout中进行调用,它就可以在IPad(有时)上运行.
在 iOS 上,视频在播放时加载(请参阅第 2 项),而不是在页面加载时加载。我的猜测是,运行时视频未加载this.currentTime = X
,因此没有效果。这也解释了为什么延迟操作有时可以解决问题:有时一秒后就加载了,有时却没有。
我没有要测试的 iOS 设备,但我建议将loadeddata
侦听器绑定到视频,以便您的currentTime
操作仅在视频开始加载后发生:
// within the play event handler...
if(!isIOSDevice) {
this.currentTime = X;
} else {
function trackTo(evt) {
evt.target.currentTime = X;
evt.target.removeEventListener("loadeddata", trackTo)
});
this.addEventListener("loadeddata", trackTo);
}
Run Code Online (Sandbox Code Playgroud)
您需要isIOSDevice
根据当前访问是否来自 iOS 设备,在代码中的其他位置进行设置。
K2x*_*2xL -1
感谢以下尝试的答案。不幸的是,不得不求助于仅检查 timeupdate 内部当前时间是否 > 0 且 < 1,如果然后转到视频的该部分并删除 timeupdate 的侦听器。
归档时间: |
|
查看次数: |
8219 次 |
最近记录: |