将两个声音文件合并到一个新文件中

时间:2012-06-13 10:45:47

标签: actionscript-3 flex flash-cs5 flex4.6

如何合并两个声音并保存为新文件?一个声音是加载的mp3文件,另一个是麦克风。然后我需要将此声音上传到服务器。这可能吗?

1 个答案:

答案 0 :(得分:1)

这一切都可以完成,但如果你看一些简单的例子,几乎没有方法可以打电话,我担心这不是那么容易。

您可以使用Sound.extract()从声音中提取字节。该数据是16位数的声音幅度,左右声道交错。使用ByteArray.readShort()来获取它们。

可以使用SampleDataEvent.SAMPLE_DATA see example here捕获麦克风数据。要将它们与歌曲混合,只需添加声音幅度并将结果写入第三个阵列。结果将基本上是WAV格式(没有标题,)解包的声音数据。你可以原始上传它,或者搜索“as3 mp3 encoder”(google),但是这些东西很少见并且是由entusiasts编写的,所以也许你可以让它们工作。此外,要正确混合声音,来自麦克风和声音文件的数据频率必须相等。

上传部分 - 如果这是磁盘上的文件,这很容易 - FileReference.upload()。但是内存中只有数据。所以你可以查看Socket类来发送它。