Open zzd490442757 opened 5 years ago
移动端的 seek 需要在 canplay 后才有用。
安卓端需要考虑 durationchange, ios 需要考虑 canplay
iOS 不会主动触发 canplay 吧?
我发现只有点击了 才会触发 loadedmetedata loadeddata canplay 等回调,否则只会触发 loadstart
不懂点击指的什么。。不知道你是不是指点击后才能开始播放。
不懂点击指的什么。。不知道你是不是指点击后才能开始播放。
点击 指的是 点击 DOM 上 video 的播放键,或者 用 API 调用 this.player.play() 方法,这么之后 我发现才会有 loadedmetedata loadeddata canplay 等的回调
你是不是设置了 preload="none"
你是不是设置了 preload="none"
preload: 'auto' 这么设置的
有几个可能
我觉得人第四个可能性不大,你具体看 network 定位下。到底有没有发起具体的请求。
iOS QQ 浏览器 9.0 以上 依然seek无效 (直接通过video dom 事件触发也无效),现象是进度条拉到跳转位置 然后又重新调到跳转前的进度位置
在使用seek快进时候,ChimeeMobilePlayer在PC端有效果,移动端无效果。代码如下: var player=new ChimeeMobilePlayer({ wrapper: '#wrapper', // video dom容器 src: 'http://cdn.toxicjohann.com/lostStar.mp4', autoplay: true, controls: true, playsInline: true, preload: 'auto', x5VideoPlayerFullscreen: true, x5VideoOrientation: 'landscape|portrait', xWebkitAirplay: true, muted: true, // removeInnerPlugins: ['chimeeMobiControlbar', 'chimeeState'] // 需要移除的插件 }); player.on('loadedmetadata', () => { player.seek(200); })
后来在大师(李猜猜)的帮助下 完美解决了。代码如下 var player=new ChimeeMobilePlayer({ wrapper: '#wrapper', // video dom容器 src: 'http://cdn.toxicjohann.com/lostStar.mp4', autoplay: true, controls: true, playsInline: true, preload: 'auto', x5VideoPlayerFullscreen: true, x5VideoOrientation: 'landscape|portrait', xWebkitAirplay: true, muted: true, // removeInnerPlugins: ['chimeeMobiControlbar', 'chimeeState'] // 需要移除的插件 }); player.on('canplay', () => { player.seek(200); }) 解决方法仅仅是把“loadedmetadata”换成了“canplay”,完美解决