【发布时间】:2012-11-10 13:04:28
【问题描述】:
要求
Android 在 sd 卡中打开一个 .wav 文件,播放它,添加一些效果(如回声,音高转换等),保存效果文件。简单:(
我知道的
- 我可以使用 Soundpool 或 MediaPlayer 打开和播放文件。
- 我可以在演奏时同时使用两者来产生一些效果。即媒体播放器 我可以设置环境混响效果。使用 SoundPool 我可以设置 播放率,有点像音高转换。我成功了 立即实施。
- 但是这两个类都没有任何方法来保存 播放的文件。所以我只能玩,我不能保存音乐 效果。
我想知道的
- 除了 MediaPlayer 或 声池。省钱没关系,你只提班级,我会做 研究与他们一起保存文件。
- 我可以在其中添加效果和保存的任何 3rd 方库?快乐如果 它是开源和免费的。但即使是提及它们 专有的。
- 我可以调查的任何其他领域。 OpenAL 支持语音吗 与语音定位一起过滤?它可以在 Android 上运行吗?
准备好做脏活了。请把路借给我..
编辑:
进行了更多搜索,发现AudioTrack。但它也不支持保存到文件。所以那里也没有运气..编辑
好的,如果我自己做呢?从wav 文件中获取原始字节,然后进行处理。我使用 AudioRecord 录制了一个 wav 文件,得到了一个 wav 文件。是否有任何资源描述低级音频处理(我的意思是字节级别)。编辑
好吧,赏金时间到了,我将赏金给我得到的唯一答案。 7天后,我明白的是- 我们无法保存使用 MediaPlayer、AudioTrack 等播放的内容。
- 没有可用的音频处理库。
- 您可以获取原始 wav 文件,并自己进行音频处理。这 答案为读取/写入 wav 文件提供了一个很好的包装类。一种 用于读取和更改 wav 文件音高的好 Java 代码是 here。
【问题讨论】:
-
您肯定需要获取已处理音频的字节缓冲区并写入文件。
-
@VipulShah 知道怎么做吗?
-
希望对您有所帮助。不知道能不能这样添加效果:stealthcopter.com/blog/2010/01/…
-
@viperbone 你确定你链接正确吗?我无法打开链接
-
是的,在我这里链接有效。可以打开这个并查看第三个条目:stealthcopter.com/blog/2010/01
标签: android android-mediaplayer soundpool audio-processing audioeffect