我有一个项目,需要我显示一个上传的声音波形。声音始终是MP3,大多数时间是22.05 kHz单声道,只有语音。这个项目是用Flex/ActionScript3编写的,它打算在浏览器中运行,但如果可以的话,也可以考虑转换为AIR。
我找到并观察过的所有生成波形的例子,要么是在声音播放时实时进行可视化,要么是最有希望的as3soundeditorlib,它保持已经生成的波形,但它做得非常慢,似乎使用了和播放音频一样长的时间。
有没有办法产生比实时更快的电波?
发布于 2011-03-14 21:55:45
一旦有了声音对象,就可以使用extract method将原始数据放入字节数组中。然后使用这些值作为y值,使用time作为x值,这样就得到了波形的图形。
发布于 2011-03-14 22:03:21
我(目前)还不使用Flex,但这里有一个C#示例来实现这个功能:
Open source C# code to present wave form?
如果你知道如何在Flex中的表面上绘制简单的线条,你应该能够翻译C#方法:
http://livedocs.adobe.com/flex/3/html/help.html?content=Drawing_Vector_Graphics_1.html
https://stackoverflow.com/questions/5299051
复制相似问题