我目前正在开发一个Android应用程序,需要能够呈现音频文件的波形。我已经阅读过Visualizer类,但我认为该类旨在进行实时计算。我想要做的是通过一个音频文件并生成一个包含整个音频文件波形的.PNG。
基本上像soundcloud这样的东西: http://www.djban.com.br/wp-content/uploads/soundcloud-waveform.png
有没有可以执行此操作的库?或者你能告诉我如何获得一个音频文件的振幅数组吗?
答案 0 :(得分:2)
我不知道任何图书馆,但它应该很容易让它运作。
首先,为了获得波形的振幅,您将需要PCM格式的音频。 假设您需要任意音频文件的波形(特别是mp3),您需要找到一种在格式之间进行转换的方法。快速谷歌搜索提供this result。 注意:如果您只是需要对来自麦克风的音频进行此操作,则可以避免转换,因为它以PCM格式传送音频数据。
获取样本后,您需要以某种方式绘制其幅度。你有几个选择,但我会试试Canvas。您可以在那里绘制线条(或一般形状)然后export it to a file或在屏幕上绘制。
绘制的另一个选项是OpenGL。如果您以前没有使用它,这会更复杂,但它可能会更快。