Instance Property

requiresLinearPlayback

A Boolean value that determines whether the user is allowed to skip media content.

Declaration

var requiresLinearPlayback: Bool { get set }

Discussion

If this value is false (the default), the AVPlayerViewController UI allows a user to fast forward, scrub, or skip ahead to content later in the player’s presentation. To prevent the user from skipping content—for example, while presenting a legal notice or other mandatory interstitial content—set this property’s value to true.

To keep track of when the player is presenting content for which you might require linear playback, use the interstitialTimeRanges property of the view controller’s player item. You can define the time ranges of the interstitial content and the view controller then sends playerViewController(_:willPresent:) and playerViewController(_:didPresent:) messages to its delegate object when playing interstitial content. You can implement these callbacks to enable or disable the requiresLinearPlayback property as needed.

See Also

Accessing Player View Controller Attributes

var showsPlaybackControls: Bool

A Boolean value that indicates whether the player view controller shows playback controls.

var playbackControlsIncludeInfoViews: Bool

A Boolean value that indicates whether the receiver shows information views when requested by the user.

var playbackControlsIncludeTransportBar: Bool

A Boolean value that indicates whether the receiver shows the transport bar and related controls.

var allowsPictureInPicturePlayback: Bool

A Boolean value that indicates whether the player view controller allows Picture in Picture playback on iPad.

var contentOverlayView: UIView?

A view displayed between the video content and the playback controls.

var entersFullScreenWhenPlaybackBegins: Bool

A Boolean value that determines whether the player automatically displays in full screen when the play button is tapped.

var exitsFullScreenWhenPlaybackEnds: Bool

A Boolean value that indicates whether the player exits full screen when playback ends.

var isReadyForDisplay: Bool

A Boolean value indicating that the first video frame, of the current item of the associated AVPlayer object, is ready for display.

var videoBounds: CGRect

The current size and position of the video image as displayed within the bounds of the player view controller’s view.

var videoGravity: AVLayerVideoGravity

A string that specifies how the video is displayed within the bounds of the player view controller’s view.

var unobscuredContentGuide: UILayoutGuide

A layout guide representing an area that will not be permanently obscured by fixed-position playback controls when they are visible.

var updatesNowPlayingInfoCenter: Bool

A Boolean value that indicates whether the player view controller updates the now playing info center.

var appliesPreferredDisplayCriteriaAutomatically: Bool

A Boolean value that indicates whether the receiver automatically changes the screen's preferred display criteria to that of the asset being played.

var customInfoViewController: UIViewController?

A view controller that provides client-specific content and controls alongside system-provided information and settings panels.