如何编辑或追加录音?

时间:2012-08-05 05:43:56

标签: android audio append edit recording

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

喜欢:假设我的重新编码“MyRecord01”时间是04.06秒,我想在录音中添加更多音频
然后它必须从04.07开始并添加一些音频。

我搜索很多,但没有发现任何相对的东西。请指导我任何链接或任何参考。
或者给我任何暗示 提前致谢。

2 个答案:

答案 0 :(得分:1)

Here是您需要的代码。希望它适合你。

如果我发现您的问题有误,请随时发表评论并告诉我。

答案 1 :(得分:0)

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

如果数据块是最后一个,则可以轻松附加大多数WAV文件(这可能是格式的要求,我无法回想起来)。如果它不是最后一个,您首先必须复制该文件并对其进行修改,使得数据块最后。如果文件很大,这可能是一个耗时的步骤。

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

AIFF的流程类似,但细节上存在差异。

对于MP3,我不是百分之百地确定这是如何工作的。如果内存服务过程在概念上更容易,因为MP3文件被构造为一系列独立的块,并且每个块都有自己的迷你头。从理论上讲,你可以添加更多的块。但实际上,由于压缩和ID3标签之类的东西,它会变得更加复杂。