CHa*_*awk 4 javascript youtube api
这是我正在处理的网站:http: //t3kno.dewpixel.net/
如你所见,有一个运行的歌曲列表(歌曲的YouTube视频).我实现了一项功能,这样一旦完成一首歌曲播放,列表中的下一首歌曲就会自动开始播放.
当我正在尝试加载的视频已被youtube删除版权内容时,我遇到了问题.目前,我通过调用以下方式检查歌曲的状态:
player.getPlayerState()
Run Code Online (Sandbox Code Playgroud)
等待状态返回0(结束).一旦歌曲结束,我尝试加载下一首歌.一旦这首歌加载我打电话:
player.playVideo()
Run Code Online (Sandbox Code Playgroud)
但是,如果这首歌被删除,我运气不好.我想尝试找到一种方法来捕捉该事件并跳到下一首歌.但是,当我尝试播放已删除的歌曲时,没有状态变化.含义:
function onytplayerStateChange(newState) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
从未执行过.如何检测此事件并正确处理?
而不是使用onStateChange尝试使用OnError事件侦听器.如果它返回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
}
}
Run Code Online (Sandbox Code Playgroud)
你可以乱用api并通过访问来确定捕获错误的最佳方法:https: //code.google.com/apis/ajax/playground/?exp = youtube #polling_the_player