要求
Android 在 sd 卡中打开一个 .wav 文件,播放它,添加一些效果(如回声,音高转换等),保存文件。简单的 :(
我知道的
- 我可以使用 Soundpool 或 MediaPlayer 打开和播放文件。
- 我可以在使用两者的同时发挥一些效果。即对于媒体播放器,我可以设置环境混响效果。使用 SoundPool 我可以设置播放速率,这有点像音高转换。我现在成功地实施了这些。
- 但是这些类中的任何一个都没有任何方法来保存播放的文件。所以我只能播放,我不能保存有效果的音乐。
我想知道的
- 除了 MediaPlayer 或 SoundPool 之外,是否还有其他感兴趣的类别。不用管保存,你只是提到类,我会和他们一起研究保存文件。
- 任何可以添加效果和保存的第三方库?如果它是开源和免费的,那就太高兴了。但是,即使它是专有的,也要提及它们。
- 我可以研究的任何其他领域。OpenAL 是否支持语音过滤和语音定位?它可以与Android一起使用吗?
准备做肮脏的工作。请把路借给我..
编辑:
进行了更多搜索,然后遇到了AudioTrack。但它也不支持保存到文件。所以那里也没有运气..编辑
好的,如果我自己做呢?从wav文件中获取原始字节,然后进行处理。我使用 AudioRecord 录制了一个 wav 文件,得到了一个 wav 文件。是否有任何资源描述低级音频处理(我的意思是字节级别)。编辑
好吧,赏金时间到了,我正在为我得到的唯一答案提供赏金。7天后,我明白的是- 我们无法保存使用 MediaPlayer、AudioTrack 等播放的内容。
- 没有可供使用的音频处理库。
- 您可以获取原始 wav 文件,并自己进行音频处理。答案为读取/写入 wav 文件提供了一个很好的包装类。一个很好的 java 代码来读取和改变 wav 文件的音调在这里。