我有这个演示,您可以使用YouTube Player API更改YouTube视频的时间和音量。我想做的是在滑动或"拖动"滑块时更新UI滑块值。我已经完成了第一部分,当使用这个整洁的小代码片段滑动时,它生动地更新了值:
slide: function(event, ui) {
$("#content").text("video_time: " + ui.value.toString().toHHMMSS());
}
不幸的是。。。在我尝试做的事情中,当我滑动时,时间会成功更新,但一秒钟后就会重置。这是因为我现在有一个功能,它会不断更新,并确保jQuery UI Slider的值与YouTube视频的值相匹配,让它发挥作用对我来说是一个挑战。
如果有任何可能的工作要做,请让我知道,谢谢!
演示:http://codepen.io/mistkaes/pen/MwONzK?editors=001
$("#content"(.text("video_time:"+player.getCurrentTime((.toString((.toHHMMSS(((;
onReady
事件中的行正在覆盖slide
事件中的一行。由于您在开始搜索时暂停了视频,我只检查播放器是否在onReady
中暂停,如果没有,请使用播放器的当前时间作为值。
换句话说,改变
setInterval(function() {
$("#content").text("video_time: " +
player.getCurrentTime().toString().toHHMMSS());
}, 250);
至
setInterval(function() {
if(player.getPlayerState()!=2)//video not paused, use player time as video_time
//thus, when the player IS paused, use the value from the slider as the
//video time, which is what you wanted
{
$("#content").text("video_time: " +
player.getCurrentTime().toString().toHHMMSS());
}
}, 250);
在您的onReady
活动中。