在iPhone 4(4.2.1)上创建录制时,我在设备控制台中收到以下错误。调用record方法后立即收到此错误。 AVAudioRecorder的init成功没有错误,prepareToRecord返回true。
<AudioQueueServer> aq@0xaf4000: ConvertInput using invalid anchor time
此错误不会一直发生,也不会在模拟器中发生。
以下是我使用的音频设置:
self.recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
[recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVEncoderAudioQualityKey];
这个错误意味着什么?
答案 0 :(得分:4)
我发现导致此错误的问题。我正在回答,以防其他人遇到同样的问题。
在我的录像机选项卡的viewDidLoad中,我将音频会话类别设置为AVAudioSessionCategoryRecord。录制后,我的应用程序进入播放选项卡,在viewDidLoad中,音频会话类别被重置为AVAudioSessionCategoryPlayback。返回录音机选项卡后,音频会话类别仍设置为AVAudioSessionCategoryPlayback,这会导致错误。
要解决此问题,我将音频会话类别设置为app delegate中的AVAudioSessionCategoryPlayAndRecord。