如何编辑或附加录音?

Posted

技术标签:

【中文标题】如何编辑或附加录音?【英文标题】:How to edit or append audio recording? 【发布时间】:2012-08-05 05:43:56 【问题描述】:

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

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

我搜索了很多,但没有找到任何相关的东西。请引导我到任何链接或任何参考。 或者给我任何提示。 提前致谢。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

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

AIFF 的流程类似,但细节有所不同。

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

【讨论】:

如何在Android中实现?有相关文章吗? 我不知道有一篇相关文章专门介绍了附加到 WAV/AIFF,但我刚刚为您提供了您需要的所有工具。您将不得不消化它们并提出自己的解决方案。

以上是关于如何编辑或附加录音?的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioRecorder / AVAudioPlayer - 将录音附加到文件

如何使用 PowerShell 或 python 脚本读取、编辑或附加存储在 Azure Blob 存储中的 Excel 文件(列和行)

如何使用 Terraform 附加或删除安全组的入口/出口规则?

如何在邮件编辑器中附加两个图像

将不可编辑的文本附加到输入的末尾?

如何确定录音源