サウンドメタデータの操作

Flash Player 9 以降、Adobe AIR 1.0 以降

MP3 形式を使用するサウンドファイルには、サウンドに関する追加データが ID3 タグの形式で含まれることがあります。

すべての MP3 ファイルに ID3 メタデータが含まれるわけではありません。 Sound オブジェクトが MP3 サウンドファイルをロードすると、サウンドファイルに ID3 メタデータが含まれる場合でも、 Event.ID3 イベントが送出されます。ランタイムエラーを防ぐため、アプリケーションでは、 Event.ID3 イベントを受信するのを待ってから、読み込まれたサウンドの Sound.id3 プロパティにアクセスする必要があります。

次のコードでは、サウンドファイルの ID3 メタデータが読み込まれたことを認識する方法を示します。

import flash.events.Event; 
import flash.media.ID3Info; 
import flash.media.Sound; 
 
var s:Sound = new Sound(); 
s.addEventListener(Event.ID3, onID3InfoReceived); 
s.load("mySound.mp3"); 
 
function onID3InfoReceived(event:Event) 
{ 
    var id3:ID3Info = event.target.id3; 
 
    trace("Received ID3 Info:"); 
    for (var propName:String in id3) 
    { 
        trace(propName + " = " + id3[propName]); 
    } 
}

このコードは、まず Sound オブジェクトを作成し、 Event.ID3 イベントを監視するよう指示します。サウンドファイルの ID3 メタデータが読み込まれると、 onID3InfoReceived() メソッドが呼び出されます。 onID3InfoReceived() メソッドに渡される Event オブジェクトのターゲットは元の Sound オブジェクトなので、メソッドは Sound オブジェクトの id3 プロパティを取得し、指定されたすべてのプロパティで反復処理を実行して値をトレースします。