Я использую AVAudioRecorder для записи звука, но у меня 4-секундная задержка между нажатием кнопки и началом записи.
Вот мой установочный код:
NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 16000.0],AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleIMA4],AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax],AVEncoderAudioQualityKey,nil];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]
initWithURL:soundFileURL
settings:recordSettings
error:&error];
if (error)
{
NSLog(@"error: %@", [error localizedDescription]);
} else {
NSLog(@"prepare to record");
[audioRecorder prepareToRecord];
}
- (void) record {
NSLog(@"Record");
//[audioRecorder prepareToRecord];
if (!audioRecorder.recording)
{
NSLog(@"Record 2");
[audioRecorder record];
NSLog(@"Record 3");
}
}
Запись - это функция, вызываемая при нажатии кнопки.Я знаю, что prepareToRecord вызывается неявно через «запись», но я хотел посмотреть, повлияет ли это на задержку вообще.Это не так.
Вот журнал консоли:
2011-10-18 21:48:06.508 [2949:707] Record
2011-10-18 21:48:06.509 [2949:707] Record 2
2011-10-18 21:48:10.047 [2949:707] Record 3
До начала записи осталось около 3,5 секунд.
Эти настройки слишком велики для iPhone?(Ай фон 4).Я неправильно его инициализирую?