1. 在timeupdate事件中记录每次播放进度:
this.lastPlayPlace = this.myPlayer.currentTime();
2. 在下一次timeupdate事件中获取当前的currentTime,并跟上一次的播放进度做比较:
if(this.myPlayer.currentTime() - this.lastPlayPlace > 2){
this.myPlayer.currentTime(this.lastPlayPlace);
alert("快进了!");
} else {
this.lastPlayPlace = this.myPlayer.currentTime(); //更新播放位置记录
}
上述写法在安卓手机上会出现进度反复跳转的问题,是因为安卓手机上设置video的currentTime,视频会从离这个进度最近的关键帧开始播放。比如设置了视频进度跳转到10秒处,但是关键帧位置在视频第7秒,那视频就会从第7秒开始播放,timeupdate事件中的判断会有误差。具体实现需要加个判断。
本文探讨了在安卓设备上实现视频播放时遇到的问题,特别是关于如何准确地检测和处理快进操作。由于安卓系统中视频播放从最近的关键帧开始而非指定时间点,导致了时间更新事件中的进度误差。文中提供了一种解决该问题的方法。

955


被折叠的 条评论
为什么被折叠?



