ミキサーを構築し、すべてのシーケンスを配列に保存してからもう一度再生しました。ミックスを MP3 として保存したいのですが、ミックスを保存する方法を探していましたが、サウンドを byteArrays としてロードすることが答えでした。 (sound.extract) 私はそれを完成させましたが、MP3 として保存するためにすべてのサウンドを 1 つの ByteArray に保存する方法がよくわかりません。たとえば、2 つのオーディオ ファイルをロードして保存するこのコードを取得しました。 ByteArrays を分離し、各サウンドを再生します。2 つの byteArrays を 1 つに格納する方法を知っている人はいますか?
var mySound:Sound = new Sound();
var sourceSnd:Sound = new Sound();
var urlReq:URLRequest = new URLRequest("Track1.mp3");
sourceSnd.load(urlReq);
sourceSnd.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void
{
mySound.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound);
//mySound.play();
}
var mySound2:Sound = new Sound();
var sourceSnd2:Sound = new Sound();
var urlReq2:URLRequest = new URLRequest("Track2.mp3");
sourceSnd2.load(urlReq2);
sourceSnd2.addEventListener(Event.COMPLETE, loaded2);
function loaded2(event:Event):void
{
mySound2.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound2);
mySound2.play();
mySound.play();
}
function processSound(event:SampleDataEvent):void
{
var bytes:ByteArray = new ByteArray();
sourceSnd.extract(bytes, 8192);
event.data.writeBytes(bytes);
}
function processSound2(event:SampleDataEvent):void
{
var bytes:ByteArray = new ByteArray();
sourceSnd2.extract(bytes, 8192);
event.data.writeBytes(bytes);
}