我正在用java开发一个简单的音频播放器。我唯一需要的高级功能是一个频率滤波器。它不一定是一个功能齐全的均衡器功能,对于特定的频率范围具有不同的增益:一个低通滤波器可以将频率削减到高于指定值。
我研究了jlGui,它有一个均衡器,但它只适用于MP3数据,而我将要播放的文件是OGG。
浏览各种答案后,我发现像Xuggler或Jave这样的ffmpeg包装器可能是一种解决方案。但我没有找到任何教程,甚至没有关于如何使用ffmpeg处理频率滤波的入门教程。
此外,JMF被描述为实现这样一个函数的有效选择,但我发现没有足够具体的东西。
发布于 2012-07-19 21:21:20
http://www.cs.ubc.ca/~kvdoel/jass/doc/index.html
这是温哥华UBC的JASS项目的JavaDoc。它对于非商业用途是免费的。你应该能够用它实现大多数类型的过滤器。检查几层以上的URL,以获得实际的源代码下载。
发布于 2013-11-26 20:15:35
我最终使用了这个解决方案(用于windows应用程序):Equalizer APO
它利用了Windows Vista及更高版本上可用的音频处理对象技术。我的应用程序只需要编辑一个配置文本文件,剩下的工作由APO完成。
显然,它依赖于平台,我必须安装一个外部应用程序才能让我的过滤器工作,但在我的情况下它是可以接受的,而且它很容易实现。
发布于 2012-07-24 19:01:08
我发现了一个叫JEQ的老项目
它基于javax.sound,使用IIR创建10/15/25/31频段的均衡器。它可以处理PCM数据(而不仅仅是像其他人那样的MP3 ),所以我希望我能让它与OGG一起工作。我唯一关心的是输出质量,这在我的一些测试中并不是很好。我得去调查一下
https://stackoverflow.com/questions/11539455
复制相似问题