事实证明,合并多个 mp3 文件实际上很容易。您可以连接他们的原始数据并将其保存为新的 mp3 文件。有几个条件适用:
- 确保所有压缩设置相同且非动态。比特率、频率、立体声/单声道等。
- 您的操作系统或 mp3 播放器指示的最终结果长度可能是错误的,并且仅显示第一段的长度。这是标题数据。大多数播放器,包括 Flash,只会播放整个文件,所以在大多数情况下,这可能不是问题。
在这个例子中,我使用了 Greensock 的 LoaderMax 库。DataLoader 是您要使用的特定加载器类型(默认情况下应为二进制)。*请注意,我稍后使用 url 作为名称来标识加载程序,并且需要将一些 *_variables* 声明为类成员* 当然,您也可以使用本地方式或不同的库来加载文件。
for each ( var mp3FileURL : String in _mp3FileURLs )
{
var loader : DataLoader = new DataLoader( mp3FileURL, mp3FileURL ) );
_preloadQueue.append( loader );
}
加载队列完成后,您可以开始处理来自加载器的数据。
_audioEditMP3 = new ByteArray();
for each ( var mp3FileURL : String in _mp3FileURLs )
{
var content : * = _preloadQueue.getContent( mp3FileURL );
_audioEditMP3.writeBytes( content );
}
您现在可以保存文件了!
var file : FileReference = new FileReference();
file.save( _audioEditMP3, "myAudioCompilation.mp3" );