<theoplayer-ui> - The container element for a THEOplayer UI.

This element provides a basic layout structure for a general player UI, and handles the creation and management of a THEOplayer player instance for this UI.

Usage

  1. Create a <theoplayer-ui> element.
  2. Place your UI elements as children of the <theoplayer-ui>. Set their slot attribute to one of the defined slots (see below) to place them in the layout.
  3. Set its configuration attribute or property to a valid player configuration.
  4. Set its source attribute or property to a valid stream source.

Customization

This element does not provide any UI elements by default, you need to add all elements as children of the <theoplayer-ui> element. If you're looking for a simple out-of-the-box player experience instead, see <theoplayer-default-ui>.

The styling can be controlled using CSS custom properties (see below).

Attribute

configuration - The THEOplayer PlayerConfiguration, as a JSON string.

Attribute

source - The THEOplayer SourceDescription, as a JSON string.

Attribute

fluid - If set, the player automatically adjusts its height to fit the video's aspect ratio.

Attribute

muted - If set, the player starts out as muted. Reflects ui.player.muted.

Attribute

autoplay - If set, the player attempts to automatically start playing (if allowed).

Attribute

device-type - The device type, either "desktop", "mobile" or "tv". Can be used in CSS to show/hide certain device-specific UI controls.

Attribute

mobile - Whether the user is on a mobile device. Equivalent to device-type == "mobile".

Attribute

tv - Whether the user is on a TV device. Equivalent to device-type == "tv".

Attribute

stream-type - The stream type, either "vod", "live" or "dvr". Can be used to show/hide certain UI controls specific for livestreams, such as a <theoplayer-live-button>. If you know in advance that the source will be a livestream, you can set this attribute to avoid a screen flicker when the player switches between its VOD-specific and live-only controls.

Attribute

user-idle (readonly) - Whether the user is considered to be "idle". When the user is idle and the video is playing, all slotted UI elements will be hidden (unless they have the no-auto-hide attribute).

Attribute

user-idle-timeout - The timeout (in seconds) between when the user stops interacting with the UI, and when the user is considered to be "idle".

Attribute

dvr-threshold - The minimum length (in seconds) of a livestream's sliding window for the stream to be DVR and its stream type to be set to "dvr".

Attribute

paused (readonly) - Whether the player is paused. Reflects ui.player.paused.

Attribute

ended (readonly) - Whether the player is ended. Reflects ui.player.ended.

Attribute

casting (readonly) - Whether the player is casting. Reflects ui.player.cast.casting.

Attribute

playing-ad (readonly) - Whether the player is playing a linear ad. Reflects ui.player.ads.playing.

Attribute

has-error (readonly) - Whether the player has encountered a fatal error.

Attribute

has-first-play (readonly) - Whether the player has (previously) started playback for this stream. Can be used in CSS to show/hide certain initial controls, such as a poster image or a centered play button.

Slot

(no name, default slot) - A slot for controls at the bottom of the player. Can be used for controls such as a play button (<theoplayer-play-button>) or a seek bar (<theoplayer-time-range>).

Slot

top-chrome - A slot for controls at the top of the player. Can be used to display the stream's title, or for a cast button (<theoplayer-chromecast-button>).

Slot

middle-chrome - A slot for controls in the middle of the player (between the top and bottom chrome).

Slot

centered-chrome - A slot for controls centered on the player, on top of other controls.

Slot

centered-loading - A slot for a loading indicator centered on the player, on top of other controls but behind the centered chrome.

Slot

menu - A slot for extra menus (see <theoplayer-menu>).

Slot

error - A slot for an error display, to show when the player encounters a fatal error (see <theoplayer-error-display>).

Hierarchy

Constructors

  • Creates a new THEOplayer UI container element.

    Parameters

    • configuration: PlayerConfiguration = {}

      The player configuration. Will be passed to the ChromelessPlayer constructor to create the underlying THEOplayer instance. Can also be set later on through the configuration property.

    Returns UIContainer

Accessors

  • get autoplay(): boolean
  • Whether the player should attempt to automatically start playback.

    Returns boolean

  • set autoplay(value): void
  • Parameters

    • value: boolean

    Returns void

  • get casting(): boolean
  • Whether the player is casting to a remote receiver.

    Returns boolean

  • get dvrThreshold(): number
  • The minimum length (in seconds) of a livestream's sliding window for the stream to be DVR and its stream type to be set to "dvr".

    Returns number

  • set dvrThreshold(value): void
  • Parameters

    • value: number

    Returns void

  • get ended(): boolean
  • Whether the player is ended.

    Returns boolean

  • get fluid(): boolean
  • Whether to automatically adjusts the player's height to fit the video's aspect ratio.

    Returns boolean

  • set fluid(value): void
  • Parameters

    • value: boolean

    Returns void

  • get fullscreen(): boolean
  • Whether the UI is in fullscreen mode.

    Returns boolean

  • get muted(): boolean
  • Whether the player's audio is muted.

    Returns boolean

  • set muted(value): void
  • Parameters

    • value: boolean

    Returns void

  • get paused(): boolean
  • Whether the player is paused.

    Returns boolean

  • get streamType(): StreamType
  • The stream type, either "vod", "live" or "dvr".

    If you know in advance that the source will be a livestream, you can set this property to avoid a screen flicker when the player switches between its VOD-specific and live-only controls.

    Returns StreamType

  • set streamType(streamType): void
  • Parameters

    Returns void

  • get userIdleTimeout(): number
  • The timeout (in seconds) between when the user stops interacting with the UI, and when the user is considered to be "idle".

    Returns number

  • set userIdleTimeout(value): void
  • Parameters

    • value: number

    Returns void

Methods

  • Parameters

    • attrName: string
    • oldValue: any
    • newValue: any

    Returns void

Events

READY_EVENT: "theoplayerready" = READY_EVENT

Fired when the backing player is created, and the UIContainer.player property is set.

Generated using TypeDoc