UserInterfaceApi
@objc(BMPUserInterfaceApi)
@MainActor
public protocol UserInterfaceApi : NSObjectProtocol
API methods related to the user interface.
-
Returns true if the player is currently in fullscreen mode.
Declaration
Swift
@MainActor var isFullscreen: Bool { get }
-
Returns true if the players playback controls are currently shown, false if they are hidden.
Declaration
Swift
@MainActor var areControlsShown: Bool { get }
-
Returns if Picture-In-Picture is available.
Picture-In-Picture is available in the following use-cases:
- on iOS 14.2 and above. (We disabled PiP on iOS 14.0 and 14.1 due to an underlying iOS bug)
- on tvOS 14 and above.
if explicitly enabled through
PlaybackConfiguration#isPictureInPictureEnabled
(default is disabled)
Declaration
Swift
@MainActor var isPictureInPictureAvailable: Bool { get }
Return Value
true if Picture-In-Picture is available.
-
Returns true if player is currently in Picture-in-Picture (PiP) mode.
Declaration
Swift
@MainActor var isPictureInPicture: Bool { get }
-
A value defining how the video is displayed within the parent container’s bounds. Possible values are defined in
ScalingMode
.When a value was set before the
Player
was added to the view, it will have precedence over the value configured inStyleConfig.scalingMode
.Declaration
Swift
@MainActor var scalingMode: ScalingMode { get set }
-
The player enters Picture-In-Picture mode. Has no effects if already in picture in picture.
- Starting Picture-In-Picture during casting is not supported and will result in a no-op.
- This has no effect when using system UI.
Declaration
Swift
@MainActor func enterPictureInPicture()
-
The player exits Picture-In-Picture mode. Has no effect if not in Picture-In-Picture mode.
This has no effect when using system UI.
Declaration
Swift
@MainActor func exitPictureInPicture()
-
The player enters fullscreen mode. Has no effect if in fullscreen.
Declaration
Swift
@MainActor func enterFullscreen()
-
The player exits fullscreen mode. Has no effect if not in fullscreen.
Declaration
Swift
@MainActor func exitFullscreen()
-
Sets a poster image which will be displayed before playback starts.
Declaration
Swift
@objc(setPosterImage:keepPersistent:) @MainActor func setPosterImage(url: URL, keepPersistent: Bool)
Parameters
url
The URL to the poster image.
keepPersistent
Flag to set the poster image persistent so it is also displayed during playback.
-
Set the subtitle styles which should be applied to WebVTT subtitles and other legible text. Setting subtitle styles using this method completely replaces all previously set subtitle styles.
Setting subtitle styles is only supported when the
userInterfaceType
in theStyleConfig
is set to.system
or.subtitle
.Declaration
Swift
@MainActor func setSubtitleStyles(_ subtitleStyles: [AVTextStyleRule]?)
Parameters
subtitleStyles
The subtitle styles which should be applied.