Я занимаюсь разработкой приложения, в котором требуется воспроизводить видео с URL-адреса с помощью MPMoviePlayerController, получая при этом сэмплы аудио с помощью AudioQueue из микрофона для дальнейшего их анализа.
Проблема в том, что я не могу записать, когда начинается воспроизведение видео (а также когда оно заканчивается).Просто выборка звука останавливается.Вместо этого, если я отключаю воспроизведение видео, запись звука идет хорошо.Я попытался настроить AudioSession со свойством kAudioSessionProperty_OverrideCategoryMixWithOthers, но безуспешно (он возвращает ошибку).Более того, я думаю, что при использовании AudioQueue установка свойства в AudioSession бесполезна.Даже установка useApplicationAudioSession = NO для MPMoviePlayerController не помогает.
При этом основной код, в котором создается плеер:
audioManager = [[AudioController alloc] init];
//setting AudioQueue: audio buffer, sample rate, format ID (PCM), bits per channel
audioManager.delegate = self;
[audioManager startAudioRecording]; //starts recording with AudioQueue
self.playerVC = [[[MPMoviePlayerController alloc] init] autorelease];
layerVC.view.frame = self.viewPlayer.bounds;
[self.viewPlayer addSubview:playerVC.view];
playerVC.useApplicationAudioSession = YES; //if NO nothing changes
[playerVC setContentURL:[NSURL URLWithString:@"http://www......."]];
[playerVC prepareToPlay];
[playerVC play];