1

AS3 で Youtube API をセットアップしました。すべてうまくロードされていますが、複数のサムネイルをロードして表示し、ユーザーが 1 つをクリックしてビデオを視聴できるようにしたいのですが、これを行うのに少し問題があります。

これを行うためのコードは次のとおりです: (「vid_player」はコンテナ オブジェクトのインスタンス名です。

   function createFeaturedButtons(vid_player:Object, featuredVideos:Array) {
   var results:Array = [];
   for each (var id:String in featuredVideos) {
    results.push(vid_player.getClickToPlayButton("BYjoERBzfNw"));
results.push(vid_player.getClickToPlayButton("oEB50roGOOg"));
    }
    return results;
   }

配列の結果を表示するにはどうすればよいですか?

4

1 に答える 1

2

これにより、サムネイルが取得され、ステージ表示リストに 5 ピクセル間隔で一列に追加されます。idArray 内のアイテムの数は、ロードされるボタンの数を定義します。

var spacing:Number = 5;
var nextX:Number = 0;
var idArray:Array = [ 'BYjoERBzfNw', 'oEB50roGOOg', 'oEB50roGOOg', 'oEB50roGOOg', 'oEB50roGOOg' ];

// this call needs to be made in the onPlayerReady() method (not listed in this example but part of the youtube player initialization process)
createThumbnails( vid_player, idArray );

function createThumbnails( vid_player:Object, videoIdArray:Array )
{
    var i:int;
    var results:Array = [];

    for( i = 0; i < videoIdArray.length; i++ )
    {
        results.push( vid_player.getClickToPlayButton( videoIdArray[ i ] ) );
    }

    for( i = 0; i < results.length; i ++ )
    {
        // set whatever width and height you want the thumb to be
        results[ i ].width = 50;
        results[ i ].height = 50;

        // set its position
        results[ i ].x = nextX;
        // set the next position
        nextX += results[ i ].width + spacing;

        addChild( results[ i ] );
    }
}

このルーチンからの出力を、(私自身のビデオ ID を使用して) プレーヤーを正常にロードするコードに追加すると、次のようになります (5 つのサムすべてに同じ ID を使用しました)。

ここに画像の説明を入力

于 2013-09-24T17:57:11.577 に答える