从MP3文件获取Android频率峰值

3
我正在创建一个Android音频播放器,并想添加绘制实时图表以显示频率振幅(我不确定确切的名称是什么)的可能性。我知道如何使用FFT进行操作,但FFT只能应用于原始数据。我的播放器获取的是mp3文件。那么如何从mp3文件中提取频率和它们的振幅呢?
我看到唯一的可能的解决方法是编写自己的本地库来解压缩mp3文件(据我所知,Android没有解压缩mp3的工具),然后使用FFT创建光谱图。但这种方法有一个重要的缺陷 - 它需要大量的时间。将mp3转换为wav并在完整原始数据上应用FFT需要很长时间。显然,在播放期间即时处理更好。但我不知道如何做到这一点。
还有其他方法可以实现我的目标吗?
注:我需要类似于这个的东西 enter image description here
1个回答

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接