4

我已经使用 AVAudioRecorder 实现了一个音频录制功能,其中 AVSampleRateKey 为 44100.0 并将其保存为 .caf。录制音频后,我希望用户能够在需要时从两端修剪音频。有人可以帮我实现吗?

在我的例子中,因为 AVSampleRateKey 是 44100.0,所以 44100 字节代表 1 秒的记录。正确的?因此,如果我从最后删除这些字节,音频将在最后被修剪。但是从一开始就修剪,我应该跳过多少字节才能使标题保持不变?

如果您能指出一些教程/文档,那就太好了。

非常感谢提前

4

2 回答 2

1

CAF 文件的标头通常包含有关数据块应该有多长的信息,以及必须与文件完整性保持一致的其他数据。如果您只是修剪文件末尾的字节,那么对于其他应用程序来说,它看起来就像一个损坏的文件。如果您使用 ExtAudioFile 访问文件,您应该能够读取音频文件并获取样本数据,然后写入一个新的音频文件,并修剪掉末端。

于 2009-12-30T23:32:42.137 回答
0

您可以使用扩展音频文件服务。查看 ExtAudioFileRead 和 ExtAudioFileWrite 的参考(他们有示例代码)然后您可以打开一个音频文件读取它,修剪它然后编写新的。去这里http://developer.apple.com/library/ios /#documentation/MusicAudio/Reference/ExtendedAudioFileServicesReference/Reference/reference.html

于 2011-06-10T07:50:00.993 回答