我有一种情况,我可以通过从轨道末尾获取一些操纵缓冲区并将它们写入输出文件的开头来保存音频的后处理过程。
我原本以为我可以通过使用 重置写指针来做到这一点ExtAudioFileSeek
,当我在文档中看到这一行时,我正要实现它
Ensure that the file you are seeking in is open for reading only. This function’s behavior with files open for writing is undefined.
现在我知道我可以关闭文件进行写入然后重新打开它,但过程比这要复杂一些。我正在做的部分操作是从我正在写入的文件中的缓冲区中读取。整个过程如下所示:
- 从读取文件末尾读取缓冲区
- 从写入文件的开头读取缓冲区
- 处理缓冲区
- 将缓冲区写回写入文件的开头,覆盖我在步骤 2 中读取的缓冲区
从逻辑上讲,这可以在 1 遍中完成,没有问题。以编程方式,我怎样才能在不破坏数据、效率降低(与我的目标相反)或潜在地破坏宇宙的情况下实现相同的目标?