Включить / отключить скрытые субтитры в AVPlayer - PullRequest
0 голосов
/ 15 декабря 2018

Проблема:

Если на iPad / iPhone есть Настройки / Общие / Специальные возможности / Субтитры + SDH , включенные субтитры нельзя отключить с помощью selectMediaOption:inMediaSelectionGroup:.Когда этот параметр устройства отключен, скрытые субтитры можно включить / отключить в приложении с помощью selectMediaOption:inMediaSelectionGroup:.Добавление self.player.view.player.appliesMediaSelectionCriteriaAutomatically = FALSE; не изменило наблюдаемое поведение приложения.

Что интересно в этой проблеме, так это то, что иногда приложение успешно включает / отключает подписи.В других случаях это не так.

Если предполагается, что настройки устройства всегда будут переопределять настройки приложения, то я ожидаю, что поведение будет согласованным, т. Е. Приложение никогда не сможет переопределить настройки устройства..

Мои вопросы:

  1. Возможно ли, что приложение сможет переопределить настройки скрытых титров устройства?
  2. Если приложениеразрешено переопределять настройки устройства, как это можно сделать детерминированным способом (по сравнению с недетерминированным поведением, которое я наблюдаю)?

Наблюдения:

Регистрация значений, предоставленных для selectMediaOption:inMediaSelectionGroup:, а также значений до и после соответствующих настроек, показывает ожидаемые результаты.То есть аргументы, предоставленные функции, являются правильными, и ожидаемые результаты влияют на базовые параметры.

В журналах показано следующее, когда ожидается отключение субтитров:

  1. Значение для параметра, предоставленного функции, равно нулю, как и ожидалось
  2. Текущее значение для AVMediaSelectionOption равно <AVMediaSelectionKeyValueOption: 0x28188fb00, language = (null), mediaType = 'clcp', tagged media characteristics = {public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound}, default = YES>
  3. Значение AVMediaSelectionOption после вызова selectMediaOption: inMediaSelectionGroup: isnull

Журналы показывают, что при включении скрытых субтитров верно обратное.

Похожие записи:

1 Ответ

0 голосов
/ 19 декабря 2018

Хотя это не совсем ответ, я смог отследить причину проблемы.Я использую внешнюю библиотеку для большинства, но не для всех взаимодействий AVPlayer.Оказывается, он имеет аналогичную возможность, которая мешает поведению AVPlayer.Интересно, что если я вызываю функцию AVPlayer (например, selectMediaOption:inMediaSelectionGroup:) и связанную функцию во внешней библиотеке, она работает.Ни одна из функций не работает сама по себе, обе должны быть вызваны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...