SystemUserInterfaceConfig
@objcMembers
@objc(BMPSystemUserInterfaceConfig)
public class SystemUserInterfaceConfig : UserInterfaceConfig
Contains config values that can be used to alter the visual presentation and behaviour when the System UI is used.
-
An array of text style rules to apply to WebVTT subtitles and other legible text.
Declaration
Swift
public var subtitleStyles: [AVTextStyleRule]? -
When set to true the first frame of the main content will not be rendered before playback starts. Default is
false.To reliably hide the first frame before a pre-roll ad, please ensure that you are using the
AdvertisingConfigurationto schedule ads and not the scheduleAd API call.Declaration
Swift
public var hideFirstFrame: Bool -
Indicates whether to show the ‘Auto’ option when choosing subtitles or not. Defaults to
true.This property is only available on tvOS.
Declaration
Swift
@available(tvOS 14.0, *) @available(iOS, unavailable) public var showAutoSubtitleOption: Bool { get set } -
Indicates whether to show the seek bar and related controls during user interaction. Default is
true.Depending on the tvOS version this property has a different behaviour:
On tvOS 14 it controls the seek bar visibility. Set this property to
falseto selectively prevent the seek bar from being displayed during user interaction.On tvOS 15 and above it controls the seek bar and audio/subtitle track selection views visibility. Set this property to
falseto selectively prevent the seek bar and audio/subtitle track selection views from being displayed during user interaction.
This property is only available on tvOS. The new tvOS 15 System UI is only used when the app is built using Xcode 13.
Declaration
Swift
@available(tvOS 14.0, *) @available(iOS, unavailable) public var showSeekBar: Bool { get set } -
Indicates whether to show the views for video metadata, navigation markers and playback settings when requested by the user. Default is
true.Depending on the tvOS version this property has a different behaviour:
On tvOS 14 it controls the visibility of the info views which contains the media information and audio/subtitle track selection. If no
AVNavigationMarkersGroups orAVMetadataItems are set, only the audio/subtitle selection view is shown.On tvOS 15 and above it controls the visibility of the info views which contains the media information and chapters if
AVNavigationMarkersGroups are configured. (The audio/subtitle selected was removed from the info view) If noAVNavigationMarkersGroups orAVMetadataItems are set, the info view isn’t shown.
Set this property to
falseto selectively prevent the info views from being displayed during user interaction.This property is only available on tvOS. The new tvOS 15 System UI is only used when the app is built using Xcode 13.
Declaration
Swift
@available(tvOS 14.0, *) @available(iOS, unavailable) public var showInfoViews: Bool { get set } -
Indicates whether the title is shown above the seek bar. Default is
true.Set this property to
falseto selectively prevent the title from being displayed. IfshowSeekBarisfalse, this property won’t have an effect. This property is only available on tvOS 15 and above.Declaration
Swift
@available(tvOS 15.0, *) @available(iOS, unavailable) public var showTitleInSeekBar: Bool { get set } -
An array of actions and menus to display with the default player controls. Empty by default.
Use this property to display custom pop-up menus in transport bar. This property only supports menu elements of type
UIActionandUIMenu, and supports displaying inline one level of submenus.Declaration
Swift
@available(tvOS 15.0, *) @available(iOS, unavailable) public var transportBarCustomMenuItems: [UIMenuElement] { get set } -
Called whenever the user is seeking in a VOD or time shifting in a Live source in the system UI. Can be used to override the target time of the seek or time shift operation, for instance to prevent the user from skipping over ads.
Declaration
Swift
@available(tvOS 14.0, *) @available(iOS, unavailable) public var timeToSeekAfterUserSeeked: ((_ oldTime: TimeInterval, _ targetTime: TimeInterval) -> TimeInterval)? { get set }
SystemUserInterfaceConfig Class Reference