我想我找到了我的問題。
原代碼的問題:
// Start
OSStatus status = AudioOutputUnitStart(self.ioUnit);
// Record the audio samples and save it to a file
[self createFile];
新的代碼,解決了這一問題。請注意「的CreateFile」呼喚AudioOutputUnitStart
// Record the audio samples and save it to a file
[self createFile];
// Start
// Once AudioOutputUnitStart is called, it will start calling callback method quickly. We need to call the above [self createFile] first.
OSStatus status = AudioOutputUnitStart(self.ioUnit);
的AudioOutputUnitStart呼籲將音頻樣本寫入文件回調方法之前,首先調用。由於該文件已經在AudioOutputUnitStart之前創建/打開,現在音頻採樣沒有任何錯誤地寫入文件。