有没有办法在Android中以更快的速度播放.ogg文件?

时间:2017-01-08 20:20:42

标签: android audio android-mediaplayer android-sound java-audio

我有声音文件,我想以1倍速,2倍速和3倍速播放。它应该是音调校正。有许多解决方案可以脱机更改文件,简单地有三个文件。但这意味着我的应用占用了更多的磁盘空间。

是否有一种直接的在线速度提升方式,因此我只需要在我的应用程序中包含一个版本的文件?

我的应用程序是封闭源代码,因此我无法使用GLP库。

1 个答案:

答案 0 :(得分:1)

您可能正在寻找的功能是音频时间延长。简单地改变采样率不是一种选择,因为它会引起音高变化(类似于模拟唱片或录音带产生的效果)

如果您想要实时拉伸,请尝试使用实时数字信号处理库。如果您愿意为项目添加额外的库,TarsosDSP是默认情况下在Android上运行的本机Java框架。

https://github.com/JorenSix/TarsosDSP

甚至还有Audio Time Stretching示例代码包含在他们的存储库中,甚至还带有swing接口。

编辑:TarsosDSP是GPL' d。音频时间延伸是音频行业的一个交易,所以使用的许多算法都是专有的或GPL&#d; d。

如果您愿意学习一些DSP,我建议您退房 https://github.com/philburk/jsyn 它属于Apache许可证并支持Android。