繁体   English   中英

检测寻视频事件HMTL5(主要在iOs4上)

[英]Detect seeking video event HMTL5 (mainly on iOs4)

我需要检测seeking事件,因为iOS4的还有的seeked但没有寻求事件。 我不想检测设备,而是检测功能。

我可以做一个糟糕的addEvent / fireEvent ,但我正在寻找像'seeking' in myElement一样性感的东西。

有什么解决办法吗?

var lastUnixTimeStamp;
var lastCurrentVideoTime;

videoplayer.addEvent('timeupdate',function(){

    if( !lastUnixTimeStamp && !lastCurrentVideoTime ){  //not defined at first timeupdate event
         lastUnixTimeStamp = new Date().getTime();
         lastCurrentVideoTime = videoplayer.currentTime;
         return;
    }

    var videoTimeOffset = videoplayer.currentTime - lastCurrentVideoTime;  //how many milliseconds was video running
    var realTimeOffset = new Date().getTime() - lastUnixTimeStamp;  //how many milliseconds were real time running

    //guess the numbers are not accurate, so if the difference between both is f.e. < 100ms, video runs normally 
   if( (videoTimeOffset - realTimeOffset) > 100 ){
       //do your seeking magic
   }

    lastUnixTimeStamp = new Date().getTime();
    lastCurrentVideoTime = videoplayer.currentTime;


})

正如上面评论中提到的,可能不是最好的解决方案,但应该这样做。 祝你好运

此解决方案仅在您向前寻求时才有效。 如果您希望它向后搜索,则必须验证 videoTimeOffset 是否为负:

var lastUnixTimeStamp;
var lastCurrentVideoTime;

videoplayer.addEvent('timeupdate',function(){

if( !lastUnixTimeStamp && !lastCurrentVideoTime ){  //not defined at first timeupdate event
     lastUnixTimeStamp = new Date().getTime();
     lastCurrentVideoTime = videoplayer.currentTime;
     return;
}

var videoTimeOffset = videoplayer.currentTime - lastCurrentVideoTime;  //how many milliseconds was video running
var realTimeOffset = new Date().getTime() - lastUnixTimeStamp;  //how many milliseconds were real time running

//guess the numbers are not accurate, so if the difference between both is f.e. < 100ms, video runs normally 
if( (videoTimeOffset - realTimeOffset) > 100 || (videoTimeOffset < 0 )){
   //do your seeking magic
}

lastUnixTimeStamp = new Date().getTime();
lastCurrentVideoTime = videoplayer.currentTime;


})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM