Youtube API - 处理Youtube删除的视频

时间:2011-11-20 22:15:42

标签: javascript api youtube

以下是我正在处理的网站: http://t3kno.dewpixel.net/

正如您所看到的,有一系列歌曲(歌曲的YouTube视频)。我实现了一项功能,这样一旦完成一首歌曲播放,列表中的下一首歌曲就会自动开始播放。

我正在尝试加载的视频已被youtube删除版权内容时遇到问题。目前,我正在通过调用

来检查歌曲的状态
player.getPlayerState()

等待状态返回0(结束)。一旦歌曲结束,我尝试加载下一首歌。一旦这首歌加载,我就打电话:

player.playVideo()

然而,如果这首歌被删除,我运气不好。我想尝试找到一种方法来捕捉该事件并跳到下一首歌。但是,当我尝试播放已删除的歌曲时,没有状态变化。含义:

function onytplayerStateChange(newState) {
//do stuff
}

永远不会执行。如何检测此事件并正确处理?

1 个答案:

答案 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