嘿,我正在尝试更改Android应用程序中音频文件的音高.
我在网上发现了一个开源库“SoundTouch”(http://www.surina.net/soundtouch),您认为我可以在Android应用中使用这个库吗?
我可以使用这个库,或者我可以用来改变android上音频文件音高的任何其他库或进程的任何想法?我也查看了Java Sound API,android不支持它们. :/
谢谢
亚当
解决方法:
您是否考虑过仅更改采样率?如果您将原始音频样本加载到内存中并使用Android的AudioTrack类播放它们,您可以指定各种可能的采样率,Android将为您重新采样.这将改变音高和速度,就像以错误的速度播放唱片一样.如果你绝对需要在不影响节奏的情况下改变音高,你需要SoundTouch或类似的东西.
无论如何,这绝对是可能的,但需要相当多的工作.
您需要使用Android NDK(本机开发工具包)来编译SoundTouch.您找到的Java包装器可能会有所帮助,但最终您需要亲自动手使用NDK.
您还需要编写自己的代码来从磁盘读取音频文件,然后通过SoundTouch缓冲它并通过AudioTrack类缓存. MediaPlayer在这里不会帮到你.
最后,请注意,在发布应用时,您需要遵守LGPL的条款.
标签:java,android,audio
来源: https://codeday.me/bug/20190610/1214100.html