处理声音元数据

使用 mp3 格式的声音文件可以采用 ID3 标签格式来包含有关声音的其他数据。

并非每个 mp3 文件都包含 ID3 元数据。当 Sound 对象加载 mp3 声音文件时,如果该声音文件包含 ID3 元数据,它将调度 Event.ID3 事件。若要防止出现运行时错误,应用程序应等待接收 Event.ID3 事件后,再访问加载的声音的 Sound.id3 属性。

以下代码说明了如何识别何时加载了声音文件的 ID3 元数据:

var s = new air.Sound(); 
s.addEventListener(air.Event.ID3, onID3InfoReceived); 
var urlReq = new air.URLRequest("mySound.mp3"); 
s.load(urlReq); 
 
function onID3InfoReceived(event) 
{ 
    var id3 = event.target.id3; 
 
    air.trace("Received ID3 Info:"); 
    for (propName in id3) 
    { 
        air.trace(propName + " = " + id3[propName]); 
    } 
}

此代码先创建一个 Sound 对象并通知它侦听 id3 事件。加载声音文件的 ID3 元数据后,将调用 onID3InfoReceived() 方法。传递给 onID3InfoReceived() 方法的 Event 对象的目标是原始 Sound 对象。该方法随后获取 Sound 对象的 id3 属性并循环访问其命名属性以跟踪它们的值。