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