我在一个页面中嵌入了一个 Youtube 播放器,我正在player.getDuration()
使用`player.getCurrentTime() 检测总秒数和当前秒数。我已经构建了一个对应于 Youtube 播放秒数的 jQuery 滑块,如下所示:
$('#progressbar').slider({
value: 0,
orientation: "horizontal",
range: "min",
min:0,
max:songDuration,
animate: true,
change: function(event, seekto){
//We got the volume.value -> Set it to the video;
player.seekTo(seekto.value);
}
});
其中 songDuration 表示当前歌曲的总时长。同样在变化函数seekto上表示在视频中寻找的秒数;
另外,我有这段代码:
setInterval(function(){
$("#progressbar").slider({max: player.getDuration()});
$("#progressbar").slider({value: player.getCurrentTime()});
$('.current_elapsed').html(getPropperDuration(Math.floor(player.getCurrentTime())));
},1000);
用播放的秒数从头到尾更新滑块;
问题是播放器会重复一小部分一秒,或者重复与 setInterval 函数每 1 秒更新 Youtube 播放器秒数相同的秒数,因此,播放器会重复一小部分一秒。
是否有任何解决方法可以使用相同的滑块在视频中搜索并表示视频中的总经过时间?