我想使用Youtube API提供的onStateChange事件来收听视频的结尾,然后在播放器中播放新的视频。但是,出于某种原因,这似乎不可能。
function onPlayerStateChange(event) {
if(event.data === 0) {
console.log('done');
goNext();
}
}
function goNext() {
player.loadVideoById('JBJ1VPBrCl0', 0, 'default');
}
我像这样注册事件处理程序
player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '530',
width: '640',
videoId: '0Bmhjf0rKe8',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
问题是:如果我手动调用我的函数goNext(),视频会发生变化。如果我等待视频终止,则“完成”消息将打印到控制台,但视频不会更改。我有什么想法吗?
我在这里竖起了小提琴。谢谢!
答案 0 :(得分:0)
FWIW,你的小提琴示例对我来说很好(在视频结束后它会自动开始播放"短片 - 猫喵 - 有趣的猫视频 - 红色激光"视频)你碰巧有任何YouTube-之前安装的相关浏览器扩展众所周知,有些问题会导致YT API出现问题。