Как заставить MPMoviePlayerController игнорировать переключатель отключения звука

Я хочу воспроизвести видео с помощью MPMoviePlayerController но я хочу, чтобы он игнорировал переключатель отключения звука, аналогичный поведению видеопроигрывателя Youtube.

Есть идеи?

Используйте категорию AVAudioSessionCategoryPlayback и ваше приложение будет игнорировать переключатель отключения звука, как приложение Youtube.

Например (вдохновленный Кен Плетцером в комментариях):

 #import <AVFoundation/AVFoundation.h> // note: you also need to add AVfoundation.framework to your project's // list of linked frameworks NSError *error = nil; BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error]; if (!success) { // Handle error here, as appropriate } 
 _player.useApplicationAudioSession = NO; 

После импорта AVFoundation просто поместите это в свой делегат:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

в Swift: сделайте это один раз перед воспроизведением звука / видео (например, в начале вашего приложения)

 do{ try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) } catch { //Didn't work } 

Для любого в будущем я знаю, что на это уже был дан ответ, но у меня возникла проблема с воспроизведением видео в моем приложении, которое вызвало такие приложения, как spotify, youtube и т. Д., Чтобы перестать воспроизводить его аудио, поэтому я в конечном итоге использую это:

 NSError *silentSwitcherror = nil; BOOL silentSwitchSuccess = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&silentSwitcherror]; if (silentSwitchSuccess) { //put whatever video code you are trying to play } else { //put how to handle failed instances. } 
  • MPMoviePlayerController - элементы управления не выровнены
  • Воспроизведение видео в полноэкранном режиме, когда пользователь поворачивается на пейзаж, а затем программно поворачивается назад, когда видео останавливается
  • Ошибка воспроизведения видео в MPMoviePlayerController: Символ не найден: ___CFObjCIsCollectable
  • Как проигрывать видеопоток с помощью MPMoviePlayerController в iOS
  • MPMoviePlayerController показывает только черный экран - Swift
  • Воспроизведение видео с Xamarin для iOS после последнего обновления
  • MPMoviePlayerViewController | Разрешить пейзаж
  • MPMoviePlayerController вращается в полноэкранном режиме, в то время как родительский контроллер просмотра поддерживает только портретную ориентацию
  • Начальный образ MPMoviePlayerController
  • Как удалить журналы консоли MPAVController из Xcode
  • Как потоковое видео через безопасное соединение на iOS
  • Interesting Posts

    UIView shadow, cornerradius не работает

    AFNetworking 2.0 Отправить запрос с массивом словаря Параметры

    Как мне оживить UIButton между двумя изображениями PNG?

    Ведение пользовательских атрибутов при замене атрибутного текста на UITextView

    CUICatalog: Недопустимое имя актива: или неверный масштабный коэффициент: 2.000000

    Пересчет высоты пользовательского UITableViewCell при появлении кнопки «Удалить»

    Как я могу загрузить раскадровку программно из класса?

    Как сократить динамическую ссылку Firebase с использованием моего собственного имени домена

    Можно ли программно получить доступ к кодам ошибок, зарегистрированным в CoreBluetooth?

    Как организовать много UIView в шаблоне, ориентированном на дисплеи различного размера

    Быстрое изменение шрифта и цвет кнопки «Назад»

    Основные данные о местоположении файла Sqlite

    -webkit-overflow-scrolling Проблемы с объектами, вставленными в DOM

    Проблема восстановления состояния iOS с помощью DrawerController

    API Google Places для iOS и Google размещает веб-службу

    Давайте будем гением компьютера.