Skip to main content

BBNativePlayerAPI

class BBNativePlayerAPI: @preconcurrency EventListenerInterface

Public Player API

Functions

autoPlayNextCancel

func autoPlayNextCancel ()

Cancel AutoPlayNext countdown

closeModalPlayer

func closeModalPlayer() -> Void

Closes an existing modal player

collapse

func collapse ()

Collapse

enterFullScreen

func enterFullScreen ()

Fullscreen (only works on normal content)

exitFullScreen

func exitFullScreen ()

NormalScreen

expand

func expand ()

Expand

getModalPlayerView

func getModalPlayerView() -> UIView?

Return the UIView used by the ModalPlayer, you can use this to add your own UI elements on top

loadWithClipId

func loadWithClipId (clipId: String, initiator: String? = "external", autoPlay: Bool? = true, seekTo: NSNumber? = nil, context: [String: Any]? = nil) -> Void

Load With Clip Id

  • Parameter clipId
  • Parameter initiator (optional, default: "external")
  • Parameter autoPlay (optional, default: true)
  • Parameter seekTo (optional, default: null)
  • Parameter context (optional): Context dictionary with keys like contextCollectionType, contextCollectionId, contextEntityType, contextEntityId

loadWithClipJson

func loadWithClipJson (clipJson: String, initiator: String? = "external", autoPlay: Bool? = true, seekTo: NSNumber? = nil, context: [String: Any]? = nil) -> Void

Load With Clip JSON

  • Parameter clipJson
  • Parameter initiator (optional, default: "external")
  • Parameter autoPlay (optional, default: true)
  • Parameter seekTo (optional, default: null)
  • Parameter context (optional): Context dictionary with keys like contextCollectionType, contextCollectionId, contextEntityType, contextEntityId

loadWithClipListId

func loadWithClipListId (clipListId: String, initiator: String? = "external", autoPlay: Bool? = true, seekTo: NSNumber? = nil, context: [String: Any]? = nil, listOffset: Int? = nil) -> Void

Load With Clip List Id

  • Parameter clipListId
  • Parameter initiator (optional, default: "external")
  • Parameter autoPlay (optional, default: true)
  • Parameter seekTo (optional, default: null)
  • Parameter context (optional): Context dictionary with keys like contextCollectionType, contextCollectionId, contextEntityType, contextEntityId

loadWithClipListJson

func loadWithClipListJson (clipListJson: String, initiator: String? = "external", autoPlay: Bool? = true, seekTo: NSNumber? = nil, context: [String: Any]? = nil) -> Void

Load With Clip List JSON

  • Parameter clipListJson
  • Parameter initiator (optional, default: "external")
  • Parameter autoPlay (optional, default: true)
  • Parameter seekTo (optional, default: null)
  • Parameter context (optional): Context dictionary with keys like contextCollectionType, contextCollectionId, contextEntityType, contextEntityId

loadWithProjectId

func loadWithProjectId (projectId: String, initiator: String? = "external", autoPlay: Bool? = true, seekTo: NSNumber? = nil, context: [String: Any]? = nil) -> Void

Load With Project Id

  • Parameter projectId
  • Parameter initiator (optional, default: "external")
  • Parameter autoPlay (optional, default: true)
  • Parameter seekTo (optional, default: null)
  • Parameter context (optional): Context dictionary with keys like contextCollectionType, contextCollectionId, contextEntityType, contextEntityId

loadWithProjectJson

func loadWithProjectJson(projectJson: String, initiator: String? = "external", autoPlay: Bool? = true, seekTo: NSNumber? = nil, context: [String: Any]? = nil) -> Void

Load With Project JSON

  • Parameter projectJson
  • Parameter initiator (optional, default: "external")
  • Parameter autoPlay (optional, default: true)
  • Parameter seekTo (optional, default: null)
  • Parameter context (optional): Context dictionary with keys like contextCollectionType, contextCollectionId, contextEntityType, contextEntityId

pause

func pause()

Pause playback

play

func play()

Start / Resume playback

seek

func seek(offsetInSeconds: NSNumber)

Seek to time offset

seekRelative

func seekRelative(offsetInSeconds: NSNumber)

Seek relative to the current position (e.g. +10.0 or -10.0 seconds)

setMuted

func setMuted (muted: Bool, userAction: Bool = false)

Set Muted state

  • Parameter muted
  • Parameter userAction (optional, default: false)

setVolume

func setVolume (volume: Double, userAction: Bool = false)

Set Volume [0.0 - 1.0]

  • Parameter volume
  • Parameter userAction (optional, default: false)

unload

func unload () -> Void

Unload

updatePlayoutWithJson

func updatePlayoutWithJson(playoutJson: String) -> Void

Update Playout With JSON

@param playoutJson

Properties

adMediaHeight

var adMediaHeight: Int?

Ad media height in pixels (read-only)

adMediaWidth

var adMediaWidth: Int?

Ad media width in pixels (read-only)

clipData

var clipData: MediaClip?

Clip data (read-only)

createChromeCastButton

var createChromeCastButton: GCKUICastButton?

Create Cast button for google chromecast (read-only)

Deprecated: use BBNativePlayer.createChromeCastButton(frame:) instead.

duration

var duration: Double?

Media duration in seconds (read-only)

fullscreen

var fullscreen: Bool?

Get fullscreen state

getChromeCastMiniControlsView

var getChromeCastMiniControlsView: UIView?

Gets the MiniMediaControlsContainerView view for google chromecast, place this where you want in the app to give the user access to the controls (optional) Visibility will be handled by player logic when needed

Deprecated: use BBNativePlayer.getChromeCastMiniControlsView() instead.

inView

var inView: Bool?

InView override

isCasting

var isCasting: Bool?

InView override

mode

var mode: String?

Mode (read-only) @see https://support.bluebillywig.com/player-api/events-modes-and-phases/#2-0-modes

muted

var muted: Bool?

Muted state

phase

var phase: Phase?

Phase (read-only) @see https://support.bluebillywig.com/player-api/events-modes-and-phases/#3-0-phases

playoutData

var playoutData: Playout?

Playout data (read-only)

projectData

var projectData: Project?

Project data (read-only)

relatedItems

var relatedItems: [ContentItemInterface]?

Related items

state

var state: State?

State (read-only) @see https://support.bluebillywig.com/player-api/events-modes-and-phases/#4-0-states

volume

var volume: Float?

Volume [0.0 - 1.0]