是否可以保存从服务器下载的 mp3 文件而不将其转换为 ByteArray? (AS3)

Is it possible to save a mp3 file downloaded from server without converting it to ByteArray? (AS3)

在网上找了一圈,没找到从服务器下载mp3,保存到本地存储(iPad)然后加载播放的方法,只能转成byteArray,将其保存为 .mp3,然后加载并读回 mp3 以便能够在 flash 应用程序中播放。

问题是,虽然这个方法没问题,但本地存储中保存的未压缩文件(byteArray格式)太重,我怀疑应用程序正在浪费内存。

我的问题是,是否有任何形式可以直接保存 mp3,而不需要任何转换,就像可以正常播放的 mp3 一样?我无法使用 FileReference 中的 download() 或 save() 等方法。

非常感谢!!

解决方案!! (完美运行):

我继续在网上寻找完成此操作的方法,一些论坛为我提供了线索,让我可以在搜索时执行此操作。它最终非常简单,但我花了将近 2 周的时间才找到它...这是我的代码:

var queue:LoaderMax = new LoaderMax({name:"mainQueue", onProgress:progressHandler, onComplete:completeHandler, onError:errorHandler});

queue.append( new DataLoader("http://" + **url**, {name:**"example.mp3"**format:"binay"}));
queue.load();

// Complete Event:
private function completeHandler():void {
        var file:File = new File(**your location**);    // appData
        var fr:FileStream = new FileStream();
        fr.open(file.resolvePath(nameIn), FileMode.WRITE);
        fr.writeObject(LoaderMax.getContent("example.mp3"));
        fr.close();
        fr = null;
        // Now the mp3 is saved in local storage, we load it as Sound object so we can play it.
        var loader:MP3Loader;
        loader = new MP3Loader(**your location**, {autoPlay:false}) ;
        loader.addEventListener(Event.COMPLETE, function():Sound {
            loader.content.play(); // This line is the only one not checked, but I am completely sure you can do something like this to play the sound. For example, I introduce the loader.content in a Array of Sound and later I am capable to play any sound I want.
            loader.dispose(true);  // This is very important to free memory. You should do the same thing with queue when all items are downloaded.
        });
        loader.load();
}

我希望这对很多人有帮助!!