在我自己寫的邊錄音邊轉MP3的 https://github.com/ZXLBoaConstrictor/ZXLRecorder 中我最近遇到了以下的崩潰問題。

由于轉MP3 的處理是異步線程處理,是以對而且我在操作檔案的時候,有做删除錄音檔案處理。
-(void)prepareToRecord{
[self setAudioSession];
//清空曆史錄音檔案
NSString *cafFilePath = [self cafPath];
if ([[NSFileManager defaultManager] fileExistsAtPath:cafFilePath]) {
[[NSFileManager defaultManager] removeItemAtPath:cafFilePath error:nil];
}
[self.recorder prepareToRecord];
}
最開始在考慮到 AVAudioRecorder 的 prepareToRecord函數會建立檔案是以在開始的收先删除了曆史檔案。
fopen 失敗的原因是檔案不存在,是以在考慮到prepareToRecord 會建立也會清空檔案狀态,于是我就把删除檔案操作取消了,修改後的函數如下。
-(void)prepareToRecord{
[self setAudioSession];
[self.recorder prepareToRecord];
}
如果有什麼疑問歡迎留言!!!!