如何在ios中使用应用程序关闭字幕设置而不是系统关闭字幕设置



在我的应用程序中,我有闭路字幕设置,我使用AVPLayer播放视频/直播内容,而不显示默认控件。在我的应用程序中,我可以根据开关状态启用或禁用类似开关的隐藏字幕,我将BOOL值存储在用户默认值中。基于用户默认值,我正在尝试使用下面的api为avplayer启用或禁用cc。

[self.player setClosedCaptionDisplayEnabled:enable];

现在的问题是,即使我在应用程序中关闭了cc,但iphone系统设置启用了cc,我也会在avplayer中获得cc。如果我关闭系统cc,那么我的应用程序设置将在avplayer中生效。

你能建议有什么方法可以绕过avplayer的系统设置吗。如果不能,请提供苹果文档链接,向clinet证明我们不能这样做。

您应该设置

self.player.appliesMediaSelectionCriteriaAutomatically = FALSE;

相反,这是不赞成的。

[self.player setClosedCaptionDisplayEnabled:enable];

默认情况下,AVPlayer根据系统首选项应用选择标准。要覆盖任何媒体选择组的默认条件,请使用-[AVPlayer setMediaSelectionCriteria:forMediaCharacteristic:]。

编辑

将使用此方法:

@方法setMediaSelectionCriteria:forMediaCharacteristic:

@abstract对具有指定媒体特性的媒体应用自动选择标准。

@param标准AVPlayerMediaSelectionCriteria的实例。

@param mediaCharacteristic要应用选择标准的媒体特性。支持的值包括AVMediaCharacteristicAudible、AVMediaCharacteriticLegible和AVMediaCharacteristicVisual。

@当:时,讨论标准将应用于AVPlayerItem

a( 已准备好播放

b( 特定媒体选择由不同组中的-[AVPlayerItem selectMediaOption:inMediaSelectionGroup:]进行。一个组中的自动选择可能受到另一组中的特定选择的影响。

c(基本系统偏好发生变化,例如系统语言、辅助功能字幕

任何组中的-[AVPlayerItem selectMediaOption:inMediaSelectionGroup:]所做的特定选择将覆盖该组中的自动选择,直到收到-[AVPPlayerItem selectedMediaOptionAutomaticalyMediaSelectionGroup:]为止。

  • (void(setMediaSelectionCriteria:(可为null的AVPlayerMediaSelectionCriteria*(条件forMediaCharacteristic:(AVMediaCharacteristic(mediaCharacteristicNS_AVAILABLE(10_9,7_0(

相同的文档在这里

相关内容

  • 没有找到相关文章

最新更新