2

これがこの問題の間違った場所である場合はご容赦ください。ただし、Googleの非推奨の開発者フォーラムでは、ここにアクセスすることをお勧めしています。

以下は、問題を実証することを目的とした非常に単純化されたコードです。

<!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>
4

2 に答える 2

1

今週、コーディング スプリント中に、まさにこの問題に遭遇しました。

loadPlaylist/cuePlaylist メソッドには、list パラメーターと listType パラメーターの両方が必要です(ドキュメントではあまり明確ではありません)。

したがって、コード:

player.loadPlaylist(
    {
         list:  'PL63FA01F86C3FE49A',
         listType: 'playlist'
    }
);

SWF と HTML 埋め込みの両方で問題なく動作するはずです。もちろん、この質問に対する Jeff Posnick の回答に対する推奨事項も当てはまりますが、両方のシナリオで動作することをテストしました。

listType は、'list'、'search'、または 'user_uploads' のいずれかです。list は、リスト ID または動画 ID の配列、検索クエリ、またはユーザー ID をそれぞれ表します。

于 2013-05-03T17:08:57.373 に答える
0

質問に入る前に、コードに関するいくつかのコメント: まず、AS3 クロムレス プレーヤーを使用する必要があることが確かな場合は、SWFObjectを使用してページに追加し、適切な<object><embed>タグの両方が使用されるようにする必要があります。 . タグのみを指定する<object>と、Internet Explorer でのみ機能します。

また、onYouTubePlayerReader(playerId)プレーヤが完全にロードされ、API 呼び出しに応答する準備が整ったことを検出するハンドラをコードに含める必要があります。これは、window.setTimeout().

実際の質問に関しては、クロムレス AS3 プレーヤーがプレイリストの操作をサポートしていたかどうかはわかりません。このコードは以前は機能していましたが、最近停止しましたか? iframe 埋め込みプレーヤーを使用して、本当にコントロールが必要ないかどうかを指定すると、はるかに優れたエクスペリエンスが得られるとcontrols=0思います (ただし、コントロールを非表示にすると、プレイリストのエクスペリエンスが損なわれます)。

于 2013-02-13T16:58:20.820 に答える