使用 iPhone SDK 剪切音频文件

Posted

技术标签:

【中文标题】使用 iPhone SDK 剪切音频文件【英文标题】:cut audio file with iPhone SDK 【发布时间】:2010-05-29 15:36:34 【问题描述】:

是否可以? (文件扩展名为 .caf) 我只需要在开始时切断沉默。

(另外,也许可以从具有指定开始和结束时间的现有文件中写入新文件。)

提前致谢!

【问题讨论】:

真的这么复杂,没人知道怎么做吗? 【参考方案1】:

它并不难,只是很繁琐,你可以使用Extended Audio File Services。查看 ExtAudioFileRead 和 ExtAudioFileWrite 的参考(他们有示例代码),然后您可以打开一个音频文件读取它,修剪它,然后编写新的。

【讨论】:

嗨阿兰。感谢你的回答!我看到 ExtAudioFileRead 和 ExtAudioFileWrite 但我看不到 ExtAudioFileTrim 或其他东西.. :( 好的。我明白了。但问题是 - 如何修剪音频文件?我不能只是切断字节的和平,它会破坏文件。 如果是直接 pcm 数据(未压缩),那么您可以计算出要剪切的内容。在我的个人资料中有一些 iphone 核心音频示例项目。其中一个(混音器)有一个名为 InMemoryAudioFile 的类。它打开一个音频文件并将其数据放入一个数组中。 PCM 数据的布局很简单。如果它是 16 位数据的立体声文件,您将有 32 位数据包,每个数据包代表一个立体声样本。一旦你能得到这些数据,就不用费劲了。 @AranMulholland 我没有看到 InMemoryAudioFile。请您提供确切的网址。 我想这就是sites.google.com/site/iphonecoreaudiodevelopment/…【参考方案2】:

没有修剪功能。您必须编写一些代码来打开一个文件进行读取,并创建并打开另一个文件进行写入。然后编写一个循环,读取音频样本或数据包数据,丢弃开头的静音,并将音频数据写入输出文件。

【讨论】:

以上是关于使用 iPhone SDK 剪切音频文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Iphone sdk 中的音频队列播放 .wav 文件

iPhone SDK:将流式音频文件保存到 Documents 文件夹

iphone sdk 如何在电话通信期间播放 DTMF 音频文件

iPhone SDK:使用核心音频 AVAudioPlayer 更改播放速度

iPhone SDK:如何将从 iPod 库中挑选的音频文件写入我的应用程序的文档文件夹?

iPhone SDK:如何使用 AVAudioPlayer 标准化音频播放?