问题:
当iPad / iPhone启用了设置/常规/辅助功能/隐藏式字幕+ SDH时,无法使用selectMediaOption:inMediaSelectionGroup:
禁用隐藏式字幕。禁用此设备设置后,可以使用selectMediaOption:inMediaSelectionGroup:
在应用程序中启用/禁用隐藏式字幕。添加self.player.view.player.appliesMediaSelectionCriteriaAutomatically = FALSE;
对观察到的应用程序行为没有影响。
关于此问题的有趣之处在于,有时应用程序可以成功启用/禁用字幕。在其他时候则不是。
如果期望设备设置始终覆盖应用程序设置,那么我希望行为保持一致,即应用程序将永远无法覆盖设备设置。
我的问题是:
观察值:
记录提供给
selectMediaOption:inMediaSelectionGroup:
的值以及关联设置的之前/之后的值,将显示预期的结果。即,提供给函数的参数是正确的,并且对基础设置的影响是预期的。当预期禁用字幕时,日志显示以下内容:
AVMediaSelectionOption
的当前值为<AVMediaSelectionKeyValueOption: 0x28188fb00, language = (null), mediaType = 'clcp', tagged media characteristics = {public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound}, default = YES>
AVMediaSelectionOption
的值为null 日志显示启用隐藏式字幕时情况相反。
相关文章:
最佳答案
虽然不是确切的答案,但我能够跟踪问题的原因。我对大多数(但不是全部)AVPlayer交互使用外部库。事实证明,它具有干扰AVPlayer行为的类似功能。有趣的是,如果我在外部库中调用AVPlayer函数(例如selectMediaOption:inMediaSelectionGroup:
)和关联的函数,则它可以工作。这两个函数都不能单独运行,都必须调用。
关于ios - 在AVPlayer中启用/禁用隐藏式字幕,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53788295/