嘿,我正在尝试在android应用程序中更改音频文件的音调。
我在网上发现了一个开源库"SoundTouch“(http://www.surina.net/soundtouch),你认为我可以在安卓应用程序中使用这个库吗?
我在谷歌上搜索了"SoundTouch in Java“,找到了这个数据(http://www.aplu.ch/classdoc/jaw/ch/aplu/jaw/SoundTouch.html)。
可能我可以使用这个库,或者关于任何其他库或进程的想法,我可以使用它来改变android上音频文件的音高?我还研究了Java Sound API,android不支持它们。:/
谢谢亚当
发布于 2009-12-30 16:50:38
你有没有想过改变采样率?如果你将原始音频样本加载到内存中,并使用安卓的AudioTrack类播放它们,你可以指定一系列可能的采样率,安卓将为你重新采样。这将改变音高和节奏,就像以错误的速度播放唱片一样。如果你确实需要在不影响节奏的情况下改变音高,你将需要SoundTouch或类似的东西。
无论如何,这绝对是可能的,但它需要相当多的工作。
您需要使用Android NDK (本机开发工具包)来编译SoundTouch。您发现的Java包装器可能会有所帮助,但最终您需要亲手使用NDK。
您还需要编写自己的代码来从磁盘读取音频文件,然后通过SoundTouch和AudioTrack类对其进行缓冲。MediaPlayer在这方面帮不了你。
最后,请注意,在发布应用程序时,您需要遵守LGPL的条款。
发布于 2012-11-29 19:49:18
https://github.com/nonameentername/soundtouch-android
请遵循上面的链接,只需使用ndk构建。soundtouch的来源错误,请下载并替换它。在linux环境上构建。如有任何疑问,请回复我。
如果你想改变音高,你可以使用openal
http://pielot.org/2011/11/10/openal4android-2/
https://stackoverflow.com/questions/1978228
复制相似问题