以下是我正在处理的网站: http://t3kno.dewpixel.net/
正如您所看到的,有一系列歌曲(歌曲的YouTube视频)。我实现了一项功能,这样一旦完成一首歌曲播放,列表中的下一首歌曲就会自动开始播放。
我正在尝试加载的视频已被youtube删除版权内容时遇到问题。目前,我正在通过调用
来检查歌曲的状态player.getPlayerState()
等待状态返回0(结束)。一旦歌曲结束,我尝试加载下一首歌。一旦这首歌加载,我就打电话:
player.playVideo()
然而,如果这首歌被删除,我运气不好。我想尝试找到一种方法来捕捉该事件并跳到下一首歌。但是,当我尝试播放已删除的歌曲时,没有状态变化。含义:
function onytplayerStateChange(newState) {
//do stuff
}
永远不会执行。如何检测此事件并正确处理?
答案 0 :(得分:6)
尝试使用OnError事件侦听器而不是使用onStateChange。如果它返回100则表示视频已被删除或转为私有。有关onError侦听器的官方文档,请参阅此处: https://code.google.com/apis/youtube/flash_api_reference.html#Adding_event_listener
所以你想要沿着这些方向做点什么:
ytplayer.addEventListener("onError", "onPlayerError");
function onPlayerError(errorCode) {
if(errorCode == 100)
{
//play next video
}
}
你可以乱用api并通过这里确定捕获错误的最佳方法: https://code.google.com/apis/ajax/playground/?exp=youtube#polling_the_player