MPMoviePlayerController не отвечает на регуляторы громкости устройства - PullRequest
2 голосов
/ 08 февраля 2012

Я работаю над игрой, которая во время последовательности заголовков воспроизводит видео в фоновом режиме, используя MPMoviePlayerController.Я накладываю свои игровые элементы управления на это (всего лишь несколько текстурированных кнопок UIB).

Само видео не имеет звука, но я играю звуки, когда нажимаю кнопки через OpenAL.Для Audio Session установлено значение «Ambient», и всякий раз, когда рядом нет MPMoviePlayerController, он правильно реагирует на кнопку отключения звука и громкость на устройстве.Но как только видео начинает воспроизводиться, оно выдает звуки безотносительно к настройкам приглушения звука или громкости.

Кто-нибудь может мне помочь?Взаимодействует ли MPMoviePlayerController с состоянием AudioSession?Есть ли способ, чтобы предотвратить это.В моем фильме нет звука, поэтому делать это не нужно.

1 Ответ

2 голосов
/ 29 марта 2012

MPMoviePlayerController использует общий экземпляр AVAudioPlayer. Таким образом, вы можете буквально установить громкость MPMoviePlayerController, и он отключит фоновую музыку. Тем не менее, лучшим способом является указание MPMoviePlayerController не использовать общий экземпляр.

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"intro" ofType:@"m4v"]];
self.player = [[MPMoviePlayerController alloc] initWithContentURL:url];
self.player.movieSourceType = MPMovieSourceTypeFile;
**[self.player setUseApplicationAudioSession:FALSE];**
...