我正在尝试使用 AudioFile 和 ExtAudioFile API 编写一个低级音频编写器。我正在使用 AudioFileInitializeWithCallbacks 创建一个新的音频文件,但似乎这需要实现读取和获取大小回调。为什么这不能只接受一个写入回调并相信数据已成功写入。
如果我正在写入一个我无法找到的流(例如 CD 或网络套接字)怎么办?
当然,这应该只是不断地将数据推送到写入回调,如果操作不成功,我有责任在需要返回错误代码的地方写入这些数据。
AudioFile_SetSizeProc 和 AudioFile_WriteProc 的文档似乎不正确,因为它们都谈到了读取操作“inPosition 要读取的数据的偏移量。”、“@result 回调应该返回数据的大小。”。
目前我已经通过只写入文件来解决这个问题,但是在第一次写入过程之后我得到了一个 kExtAudioFileError_InvalidOperationOrder 。这是什么意思?文档中没有关于它的评论。
任何指示或帮助都会非常感激。