MP3 データのサウンドの変更

Sound オブジェクトからデータを抽出するには、 Sound.extract() メソッドを使用します。そのデータを使用(および変更)して、再生用に別の Sound オブジェクトの動的ストリームに書き込むことができます。たとえば、次のコードでは、読み込んだ MP3 ファイルのバイトを、フィルター関数 upOctave() を使用して渡しています。

var mySound = new air.Sound(); 
var sourceSnd = new air.Sound(); 
var urlReq = new air.URLRequest("test.mp3"); 
sourceSnd.load(urlReq); 
sourceSnd.addEventListener(air.Event.COMPLETE, loaded); 
function loaded(event) 
{ 
    mySound.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound); 
    mySound.play(); 
} 
function processSound(event) 
{ 
        var bytes = new air.ByteArray(); 
        sourceSnd.extract(bytes, 8192); 
        event.data.writeBytes(upOctave(bytes)); 
} 
function upOctave(bytes) 
{ 
    var returnBytes = new air.ByteArray(); 
    bytes.position = 0; 
    while(bytes.bytesAvailable > 0) 
    { 
        returnBytes.writeFloat(bytes.readFloat()); 
        returnBytes.writeFloat(bytes.readFloat()); 
        if (bytes.bytesAvailable > 0) 
        { 
            bytes.position += 8; 
        } 
    } 
    return returnBytes; 
}