Ios 在AVPlayer中启用/禁用闭路字幕
问题: 当iPad/iPhone具有设置/常规/辅助功能/闭路字幕+SDH功能时,不能使用Ios 在AVPlayer中启用/禁用闭路字幕,ios,avfoundation,avplayer,Ios,Avfoundation,Avplayer,问题: 当iPad/iPhone具有设置/常规/辅助功能/闭路字幕+SDH功能时,不能使用selectMediaOption:inMediaSelectionGroup:禁用闭路字幕。禁用此设备设置时,可以使用selectMediaOption:inMediaSelectionGroup:在应用程序中启用/禁用闭路字幕。添加self.player.view.player.appliesMediaSelectionCriteriaAutomatically=FALSE对观察到的应用程序行为没有影响
selectMediaOption:inMediaSelectionGroup:
禁用闭路字幕。禁用此设备设置时,可以使用selectMediaOption:inMediaSelectionGroup:
在应用程序中启用/禁用闭路字幕。添加self.player.view.player.appliesMediaSelectionCriteriaAutomatically=FALSE代码>对观察到的应用程序行为没有影响
这个问题的有趣之处在于,有时应用程序成功地启用/禁用了字幕。在其他时候,情况并非如此
如果期望设备设置总是覆盖应用程序设置,那么我希望行为是一致的,即应用程序永远无法覆盖设备设置
我的问题是:
应用程序是否可以覆盖设备的闭路字幕设置
如果允许应用程序覆盖设备设置,如何以确定性的方式实现这一点(与我看到的非确定性行为相比)
观察结果:
记录提供给selectMediaOption:inMediaSelectionGroup:
的值以及相关设置的前后值,显示预期结果。也就是说,提供给函数的参数是正确的,对基础设置的影响是预期的
当预期禁用字幕时,日志显示以下内容:
提供给函数的选项的值按预期为null
AVMediaSelectionOption
的当前值为
虽然不是确切的答案,但我能够追踪问题的原因。我使用一个外部库来进行大多数(但不是所有)AVPlayer交互。事实证明,它具有类似的功能,可以干扰AVPlayer的行为。有趣的是,如果我调用AVPlayer函数(例如,selectMediaOption:inMediaSelectionGroup:
)和外部库中的相关函数,它就会工作。两个函数都不能单独工作,都必须调用 我忘了提到我在iOS 12.1上看到了这一点,你找到解决方案了吗?我在下面的帖子中给出了答案的提示。很难找到这方面的文档,但请检查avmediaCharacteristicLeable
。这可能就是你需要的。谢谢你的回复。你能给我一些示例代码让我检查一下吗。以及我需要使用哪个外部库来完成此操作。