我试图弄清楚当播放器不再缓冲时是否有回调。
我现在正在使用 onPlayerBuffering: function(){};
播放器开始缓冲的时间,但我似乎找不到任何相反的东西。
一旦播放器缓冲,似乎就onPlayerPlaying: function(){};
不起作用了。
有谁知道这是否可能?
另外,我正在使用 Nirvana Tikku 的 jquery-youtube 插件,回调列表在这里和这里......这些都不起作用吗?
谢谢!!
我试图弄清楚当播放器不再缓冲时是否有回调。
我现在正在使用 onPlayerBuffering: function(){};
播放器开始缓冲的时间,但我似乎找不到任何相反的东西。
一旦播放器缓冲,似乎就onPlayerPlaying: function(){};
不起作用了。
有谁知道这是否可能?
另外,我正在使用 Nirvana Tikku 的 jquery-youtube 插件,回调列表在这里和这里......这些都不起作用吗?
谢谢!!
我会设置一个函数来定期检查缓冲是否继续:
// set interval to something reasonable, 5 seconds?
var buffercheck = setInterval(bufferstatus, 5000);
function bufferstatus() {
onPlayerBuffering: function(){ /* your code for a callback here */ },
}
查看 YouTube 播放器 API https://developers.google.com/youtube/js_api_reference#Events
您只需要收听onStateChange
事件:
这是一个工作演示:http: //jsbin.com/izolo/edit
示例代码:
function handlePlayerStateChange (state) {
switch (state) {
case 1:
case 3:
// Video has begun playing/buffering
videoContainer.cycle('pause');
break;
case 2:
case 0:
// Video has been paused/ended
videoContainer.cycle('resume');
break;
}
}
function onYouTubePlayerReady(id){
var player = $('#' + id)[0];
if (player.addEventListener) {
player.addEventListener('onStateChange', 'handlePlayerStateChange');
}
else {
player.attachEvent('onStateChange', 'handlePlayerStateChange');
}
}