У меня возникла странная проблема с AVAudioRecorder. В моем приложении мне нужно записать аудио и воспроизвести его. Я создаю свой плеер как:Проблема с использованием AVAudioRecorder
if(recorder)
{
if(recorder.recording)
[recorder stop];
[recorder release];
recorder = nil;
}
NSString * filePath = [NSHomeDirectory() stringByAppendingPathComponent: [NSString stringWithFormat:@"Documents/%@.caf",songTitle]];
NSDictionary *recordSettings = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0],AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleIMA4],AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax],AVEncoderAudioQualityKey,nil];
recorder = [[AVAudioRecorder alloc] initWithURL: [NSURL fileURLWithPath:filePath] settings: recordSettings error: nil];
recorder.delegate = self;
if ([recorder prepareToRecord] == YES){
[recorder record];
Я выпускаю и создаю плеер каждый раз, когда нажимаю кнопку записи. Но проблема в том, что AVAudiorecorder занимает некоторое время, прежде чем начинать запись, и поэтому, если я нажимаю кнопку записи несколько раз непрерывно, мое приложение замерзает в течение некоторого времени. Тот же код работает нормально, без каких-либо проблем, когда наушники подключены к устройству ... нет задержки при записи, и приложение не замерзает, даже если я нажимаю кнопку записи несколько раз.
Будет полезно, если кто-нибудь поможет мне исправить эту проблему. Любая помощь в этом отношении будет высоко оценена.
Thanx заранее.