【发布时间】:2015-04-29 08:50:05
【问题描述】:
我正在尝试准确计算用户观看视频所花费的时间。他们观看视频的时间不应包括快进或暂停视频。我现在拥有的代码每次都给我不同的百分比(我使用的是间隔)。我不知道还有什么办法解决这个问题?
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
clicked_video = true;
arr.length = (player.getDuration()-1).toFixed(0);
done = true;
}if(event.data === YT.PlayerState.PLAYING){
id = setInterval(check, 1000);
}if(event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.BUFFERING){
clearInterval(id);
var percent = 0;
for(var i=0;i<arr.length;i++){
if(arr[i] == "x"){
percent++;
console.log(percent);
}
}
percent = (percent / arr.length) * 100;
alert(percent + "%");
}
}
function check(){
arr[Math.floor(player.getCurrentTime())] = "x";
}
【问题讨论】:
-
您指的是已观看视频的百分比,以及用户观看的时间。这是两件不同的事情。如果用户将视频播放到 1:00,然后回到 0:30 直到结束怎么办?您是把它算作额外的,还是只想算一分钟?
-
是的,我只想数一分钟。所以用户观看视频的总时间,然后我猜想以百分比计算它
标签: javascript youtube