У меня проблема с функциями записи моего приложения:
Каталог записи: / Document / Recordings /
[recordingSettings setValue:[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
[recordingSettings setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordingSettings setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
[recordingSettings setValue:[NSNumber numberWithInt:AVAudioQualityMax] forKey:AVEncoderAudioQualityKey];
NSURL *url = [NSURL fileURLWithPath:[[GlobalRecording recordingDirectory] stringByAppendingPathComponent:currentFileName]];
NSError *err = nil;
AVAudioRecorder *aRecorder = [[AVAudioRecorder alloc] initWithURL:url settings:recordingSettings error:&err];
if( err ){
NSLog(@"could not create a recorder: %@ %d %@", [err domain], [err code], [[err userInfo] description]);
return;
}
[aRecorder setDelegate:self];
aRecorder.meteringEnabled = YES;
BOOL temp = [aRecorder prepareToRecord];
if (temp) {
NSLog(@"Prepare TRUE");
} else {
NSLog(@"Prepare FALSE");
}
temp = [aRecorder record];
if (temp) {
NSLog(@"Record TRUE");
} else {
NSLog(@"Record FALSE");
}
Проблема в том, что [aRecorder prepareToRecord] всегда возвращает TRUE, чтосоздаст файл записи в системе (/ Document / Recordings).Но [aRecorder record], этот метод для начала записи, всегда возвращает FALSE.Это сделает запись файла размером 0 байт, ничего с этим не поделаешь.
Надеюсь, кто-нибудь уже сталкивался с этой проблемой и помог мне.Спасибо.