天天看點

IOS 記錄處理錄音轉MP3崩潰的問題(ftello 、flockfile)

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

IOS 記錄處理錄音轉MP3崩潰的問題(ftello 、flockfile)

由于轉MP3 的處理是異步線程處理,是以對而且我在操作檔案的時候,有做删除錄音檔案處理。

IOS 記錄處理錄音轉MP3崩潰的問題(ftello 、flockfile)
-(void)prepareToRecord{
    [self setAudioSession];
    //清空曆史錄音檔案
    NSString *cafFilePath = [self cafPath];
    if ([[NSFileManager defaultManager] fileExistsAtPath:cafFilePath]) {
        [[NSFileManager defaultManager] removeItemAtPath:cafFilePath error:nil];
    }
    [self.recorder prepareToRecord];
}
           

最開始在考慮到 AVAudioRecorder 的 prepareToRecord函數會建立檔案是以在開始的收先删除了曆史檔案。

IOS 記錄處理錄音轉MP3崩潰的問題(ftello 、flockfile)
IOS 記錄處理錄音轉MP3崩潰的問題(ftello 、flockfile)

fopen 失敗的原因是檔案不存在,是以在考慮到prepareToRecord 會建立也會清空檔案狀态,于是我就把删除檔案操作取消了,修改後的函數如下。

-(void)prepareToRecord{
    [self setAudioSession];
    [self.recorder prepareToRecord];
}
           

如果有什麼疑問歡迎留言!!!!