AVAudioSession
및 AVAudioRecorder
을 사용하여 내 응용 프로그램에 오디오를 녹음합니다. 불행히도 녹음하는 동안 전화를 받으면 내 앱이 정지됩니다. 중단에 대한 AVAudioRecorder
대리자 메서드 구현을 시도했지만 호출되지 않았습니다. 사용자가 녹화 프로세스를 시작하고 중지하기 위해 상호 작용하는보기 컨트롤러와 AVAudioRecorder
을 포함하는 별도의 레코더 컨트롤러가 있습니다. 내 레코더 컨트롤러에서 구현 다음 한 AVAudioRecorder 중단 대리자 메서드가 호출되지 않습니다.
는
을 왜 이러한@interface OSRecordPlayController : NSObject <AVAudioRecorderDelegate, AVAudioPlayerDelegate, AVAudioSessionDelegate>
-(void) audioRecorderBeginInterruption:(AVAudioRecorder *)recorder
{
if(recorder.recording)
{
[recorder stop];
[self stopRecording];
[self moveViewsDown];
interruptedDuringRecording = YES;
}
}
-(void)audioRecorderEndInterruption:(AVAudioRecorder *)recorder withOptions:(NSUInteger)flags
{
if(interruptedDuringRecording)
{
[recorder prepareToRecord];
[recorder record];
interruptedDuringRecording = NO;
}
}
-(void)setUpAudioFile
{
self.recorder = [[AVAudioRecorder alloc] initWithURL:self.audioFileURL settings:audioSettings error:nil];
self.recorder.delegate = self;
self.recorder.meteringEnabled = YES;
[self.recorder prepareToRecord];
}
를 호출되지 않습니다? 나는 둘 다 브레이크 포인트를 설정했지만, 나는 그들 중 어느 것도 맞지 않았다. 나는이 질문을 아무런 확실한 대답으로 보지 못했지만 모든 오래된 대답은 방해를위한 AVAudioSession
대리자 메서드에 대한 것이지만, 그것들은 더 이상 사용되지 않습니다.
중복 가능성이 있음을 그 오류를하지 않았다 question/6579257/avaudioplayer-and-avaudiorecorder-delegate-methods-not-called) –