Youtube api YouTube';s player.loadPlaylist和cuePlaylist自2013年1月30日起不起作用

Youtube api YouTube';s player.loadPlaylist和cuePlaylist自2013年1月30日起不起作用,youtube-api,Youtube Api,原谅我,如果这是这个问题的错误地点,但是谷歌不推荐的开发者论坛建议我去这里 以下是一些非常简化的代码,旨在演示该问题: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script type="text/

原谅我,如果这是这个问题的错误地点,但是谷歌不推荐的开发者论坛建议我去这里

以下是一些非常简化的代码,旨在演示该问题:

<!DOCTYPE html>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
        <script type="text/javascript">
            $(
                function() {
                    /*
                    This one second delay is just there to give the player time
                    to load.  It's more complicated in my proper implementation.
                    */
                    window.setTimeout(
                        function() {
                            var player = document.getElementById('player');
                            /*
                            Shocker, it doesn't work, regardless of playlist ID.
                            */
                            player.loadPlaylist(
                                {
                                    list:  'PL63FA01F86C3FE49A'
                                }
                            );
                        },
                        1000
                    );
                }
            );
        </script>
    </head>
    <body>
        <object data="http://www.youtube.com/apiplayer?enablejsapi=1&version=3" height="360" id="player" width="600">
            <param name="AllowScriptAccess" value="always">
            <param name="movie" value="http://www.youtube.com/apiplayer?enablejsapi=1&version=3">
        </object>
    </body>
</html>

$(
函数(){
/*
这一秒的延迟只是为了给玩家时间
加载。在我正确的实现中更复杂。
*/
window.setTimeout(
函数(){
var player=document.getElementById('player');
/*
令人震惊的是,无论播放列表ID如何,它都无法工作。
*/
player.loadPlaylist(
{
列表:“PL63FA01F86C3FE49A”
}
);
},
1000
);
}
);

在回答问题之前,请先对您的代码进行一些评论:首先,如果您确定需要使用AS3无铬播放器,您确实应该使用将其添加到页面中,以确保使用正确的
标记。如果只指定
标记,则它将仅在Internet Explorer中工作

此外,您的代码中应该有一个
onYouTubePlayerReader(playerId)
处理程序,用于检测播放器何时已完全加载并准备好响应API调用。这比试图通过
window.setTimeout()
来实现这一点要可靠得多


关于你的实际问题,我不确定Chrome AS3播放器是否支持播放列表。此代码以前是否正常工作,最近是否已停止?如果你真的不想要控件(但隐藏控件会影响播放列表的体验),我可以想象你会有更好的使用和指定
controls=0的体验。

在本周的一次编码冲刺中,我偶然发现了这个问题:

loadPlaylist/cuePlaylist方法需要列表参数和列表类型参数(文档中不太清楚)

因此,守则:

player.loadPlaylist(
    {
         list:  'PL63FA01F86C3FE49A',
         listType: 'playlist'
    }
);
可以很好地使用SWF和HTML嵌入。杰夫·波斯尼克(Jeff Posnick)对这个问题的回答的建议当然也适用,但我已经在两种情况下测试过了

列表类型可以是“列表”、“搜索”或“用户上传”,列表分别表示列表id或视频id数组、搜索查询和用户id