我目前正在iPhone上使用音频队列来录制和播放音频。
我希望能够做的是录制一些音频,允许用户暂停记录队列,以及通过音频向后和向前搜索以选择他们可以再次开始录制的位置。 / p>
我已经通过使播放AudioQueueBuffer尺寸足够小来解决搜索问题,以便播放音频队列回调以允许用户使用滑块控件来听到音频的速率发生,因为他们来回调整滑块
我想通过设置我从Audio Recording Queue回调中调用的AudioFileWritePackets函数的inStartingPacket参数,我可以在新位置实现录制。
问题是这只会在先前录制的音频上插入音频。文件长度显然不会改变,所以如果用户倒退并且录制的音频比以前少,那么在新录制的音频结束后旧音频仍然存在。
有没有办法可以让AudioFile在用户开始插入新音频时截断,还有其他方法可以从插入位置开始删除旧音频,还是有更好的方法去关于这个任务?
由于
答案 0 :(得分:3)
我有同样的问题。我当前的方法是将新音频记录到一个单独的文件中,然后当第一个文件的第一部分与第二个文件连接时,将结果写入第三个文件,然后将第三个文件重命名为第一个文件,删除第二个文件。连接操作需要使用AudioFile API编写自定义但相当简单的函数。
我也希望听到更多开明的想法,或者看到AudioFileTruncate()
功能。