2012-08-05 46 views
3

我正在Android中创建一个应用程序。我的应用程序录制音频并将其存储在SD卡
中,并以列表格式显示。我这样做,但我需要编辑这个音频,就像我打开录音
然后我需要从结束再次开始这个录音,并能够在该录音附加音频。如何编辑或追加录音?

像:假设我重新编码“MyRecord01”时间是04.06秒,我想在记录
添加更多的声音则必须从04.07开始,并添加一些音频。

我搜索了很多,但没有找到任何相对的东西。请直接给我任何链接或任何参考。
或给我任何提示。
在此先感谢。

回答

0

这并不难。关键是了解你录制的音频是如何格式化的。如果您使用未压缩的格式,如WAV或AIFF,这是最简单的。下面是WAV文件格式的一个(很多)解释:https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

如果数据块是最后一个,那么大多数WAV文件可以很容易地追加到(这可能是格式的要求,我无法确切地记得)。如果它不是最后一个,您首先必须复制该文件并对其进行修改,以使该数据块最后一个。如果文件很大,这可能是一个耗时的步骤。

完成之后,您只需将新的音频数据附加到数据块并更新文件中其他位置的几块数据,例如数据块大小(在数据块中),块大小(在RIFF描述符)和Subchunk1大小(在fmt块中)。 (一旦你阅读了这个解释,这一切对你来说都会更有意义)。当你追加时,你可能想要对这些数据做些什么,以便在你的应用程序在附加程序崩溃时很容易修复 - 你不需要想要破坏用户的数据。

该过程与AIFF类似,但细节有所不同。

对于MP3s而言,我并不是100%确信我的头脑是如何工作的。如果提供内存服务,这个过程在概念上更容易一些,因为MP3文件是由一系列独立的块组成的,每个块都有自己的迷你头。理论上,你可以追加更多的块。但实际上,它会变得更加复杂,因为压缩和诸如ID3标签之类的东西。

+0

如何在Android中实现?任何相关的文章? – 2012-08-08 05:35:20

+0

我不知道一篇专门介绍WAV/AIFF附加文章的相关文章,但我刚刚给你提供了所有你需要的工具。你将不得不消化它们并提出你自己的解决方案。 – 2012-08-08 14:06:51

1

Here是您需要的代码。希望对你有效。

如果我发现你的问题不对,请随时评论并告诉我。