このドキュメントでは、YouTube ActionScript 2.0 プレーヤー API のリファレンス情報を提供します。
ActionScript 2.0 API では、Flash アプリケーションにプレーヤーを読み込んでプレーヤーの公開 API を ActionScript から呼び出すことによって、YouTube 動画プレーヤーをコントロールすることができます。APIを呼びだすことで、再生、一時停止、動画内の特定の場所への移動、音量設定、プレーヤーのミュート、その他の便利な機能を使うことができます。プレーヤーが別の SWF に読み込まれると、ActionScript API が自動的にアクティブ化されます。
すべて正常に表示するには、エンド ユーザー側に FlashPlayer 8 以降がインストールされている必要があります。
ActionScript API は JavaScript API と同様の API ですが、プレーヤーが初期化される方法に若干の違いがあります。使用可能な API コールのリストについては、JavaScript API のドキュメントをご覧ください。ActionScript からプレーヤーの初期化とコールを行う方法については、下記の例をご覧ください。
ActionScript 固有の API コールは、次のとおりです。
player.isPlayerLoaded():Booleanplayer.addEventListener(event:String, handler:Function)プレーヤー SWF のアーキテクチャのため、ActionScript の組み込みの MovieClipLoader は正確な情報を提供しません。プレーヤー SWF の API コール受信準備が整ったことを検知するには、player.isPlayerLoaded() を呼び出す必要があります。これは、プレーヤーが完全に読み込まれて初期化されると true を返します。
この時点でイベントを登録し、プレーヤーに対してその他の任意の API コールを実行することができます。
この例では、MovieClipLoader の onLoadInit イベントを使用してプレーヤー SWF が読み込まれるのを待機し、次にプレーヤー SWF が初期化される時点をチェックするインターバルを開始します。
ytPlayerLoaderListener = {};
var loadInterval:Number;
ytPlayerLoaderListener.onLoadInit = function() {
loadInterval = setInterval(checkPlayerLoaded, 250);
}
function checkPlayerLoaded():Void {
if (ytplayer.isPlayerLoaded()) {
ytplayer.addEventListener("onStateChange", onPlayerStateChange);
ytplayer.addEventListener("onError", onPlayerError);
loadIndicator._visible = false;
clearInterval(loadInterval);
}
}
function onPlayerStateChange(newState:Number) {
trace("New player state: "+ newState);
}
function onPlayerError(errorCode:Number) {
trace("An error occurred: "+ errorCode);
}
ytPlayerLoader = new MovieClipLoader();
ytPlayerLoader.addListener(ytPlayerLoaderListener);
ytPlayerLoader.loadClip("http://www.youtube.com/v/VIDEO_ID", ytplayer);
プレーヤーが読み込まれて準備されると、JavaScript API と同様にすべての API コールを実行することができます。
複数のプレーヤー SWF を読み込む場合 (以前のプレーヤーの代わりに新しいプレーヤー SWF を読み込む場合も含む)、前のプレーヤーとは別の名前で MovieClip に読み込む必要があります。たとえば、_root.youtubeplayer に動画を読み込んだ場合、新しいプレーヤーを読み込むには、_root.youtubeplayer2 などを使用してください。
YouTube プレーヤーの読み込みを解除するときは、必ず最初に stopVideo() を呼び出す必要があります。これにより NetStream オブジェクトはクローズされます。また、プレーヤーが読み込み解除されると、動画のダウンロードは停止します。