使用聲音中繼資料

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 屬性,然後重複執行所有其具名屬性以追蹤其值。