android从mp3获得频率峰值

时间:2017-01-07 08:34:57

标签: android mp3 fft frequency

我正在创建Android音频播放器,我想添加绘制带有频率幅度的实时图表的可能性(我不知道它是如何命名的)。我知道如何用FFT做到这一点。但FFT只能应用于原始数据。我的播放器获得了mp3。那么如何从mp3文件中提取频率及其幅度呢?

我看到一个可能的决定:编写自己的本地库,解压缩mp3文件(AFAIK android没有用于解压缩mp3的工具),然后用FFT创建频谱图。 但这种方法有一个必要的减号 - 它需要大量的时间。将mp3转换为wav并对完整原始数据应用FFT会消耗很多时间。显然,最好在播放过程中随时随地进行。但我不知道该怎么做。

还有其他方法可以实现我的目标吗?

P.S。我需要这样的东西enter image description here

1 个答案:

答案 0 :(得分:0)

这个目标可以通过使用mp3解码器来实现,例如,mpg123。它可以为Android构建,并提供访问原始歌曲数据的可能性。我发现this项目使用不同的mp3解码器。