处理声音元数据

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 属性,然后循环访问其所有命名属性以跟踪这些属性的值。