Adds an event listener to the player. PlayerEventMap is a computed type which maps event names to their payloads.
Remove listeners with Player.removeEventListener.
The name of the event. Available events include PlayerState events and PlayerEventType events.
The handler function.
Attaches a video element (tag) to be used for playback. This replaces any video element in use. This is optional; if it is not called, the Player creates and uses a video element.
The video element to attach.
Gets the currently buffered range.
The buffered range which the playhead is within.
Set of available Quality objects from the loaded source or empty if none are currently available. The qualities will be available after the PlayerState.READY state has been entered. This set contains the qualities that can be used with Player.setQuality. Note that this set will contain only qualities capable of being played on the current device and not all those present in the source stream. On iOS mobile (iPhone) browsers, this API will return an empty array. The reason is that underlying Safari browser manages the playback entirely and does not provide any way to access the available qualities.
Gets the quality that the player is using. On iOS mobile (iPhone) browsers, this API will return an empty Quality object. The reason is that underlying Safari browser manages the playback entirely and does not provide any way to access the available qualities.
The current quality of the source.
Gets the ID of the playback session.
A unique identifier ID of the current play session, or undefined if the session is not yet known. The ID is known after the player enters the PlayerState.READY state. This session identifier can be shared with support or displayed in an user interface to help troubleshoot or diagnose playback issues with the currently playing stream.
Gets the state of the player.
The current state of the player.
Gets the synchronized time, in milliseconds
The synchronized time is a UTC time that represents a specific time during playback, at a granularity of 1 second. It can be used to sync external events and state to a specific moment during playback.
Note an event is dispatched when this value changes: PlayerEventType events.
The current synchronized time of the player, in milliseconds.
Gets whether the Adaptive Bitrate (ABR) streaming algorithm is enabled. The maximum quality is controlled by Player.setAutoMaxQuality.
True if ABR is enabled, false otherwise.
Loads the specified stream and prepares the player for playback. On success, the player state changes to PlayerState.READY. On failure, this invokes the PlayerEventType.ERROR listener.
The URL of the stream to load.
Optional
mediaType: stringMedia type of the content if known; for example, 'video/mp4' or 'application/x-mpegURL'. If not provided, the type is inferred from the path.
Starts or resumes playback of the stream, if no stream is loaded indicates intent to play and the player will automatically play on a subsequent load call. On success, depending on the type of stream, the player state changes to PlayerState.BUFFERING and then PlayerState.PLAYING, or just PlayerState.PLAYING. On failure, this invokes the PlayerEventType.ERROR listener. This does not need to be called if autoplay is enabled.
Removes an event listener from the player. PlayerEventMap is a computed type which maps event names to their payloads.
The name of the event. Available events include PlayerState events and PlayerEventType events.
The handler function.
Seeks to a specified time in the stream and begins playing at that position if play() was called. If no stream is loaded the seek will be be deferred until load is called. On success, depending on the type of stream, the player state changes to PlayerState.BUFFERING and then PlayerState.PLAYING, or just PlayerState.PLAYING. On failure, this invokes the PlayerEventType.ERROR listener.
The position to seek to, in seconds.
Sets the maximum quality the player is allowed to auto-switch up to (if ABR is enabled) using the input quality's bitrate value. This allows you to control resource usage. The Quality you provide here is applied to the current stream. If you load a new stream, call this again after PlayerState.READY.
This API is not supported on iOS mobile (iPhone) browsers.
The maximum quality to use for ABR.
Sets the maximum video display size of the player. This prevents the player from auto-switching to qualities above the specified resolution when ABR is enabled.
This API is not supported on iOS mobile (iPhone) browsers.
The display width.
The display height.
Enables or disables the Adaptive Bitrate (ABR) streaming algorithm. Note the maximum quality is controlled by Player.setAutoMaxQuality. The player chooses the quality to play based on current network and device conditions. By default, the player starts in this mode. This mode is implicitly disabled by a call to Player.setQuality.
This API is not supported on iOS mobile (iPhone) browsers.
True to enable ABR, false to disable.
Sets the initial (minimum) buffer duration required to start playback. If a value outside the allowable range is used, the current value is maintained. Defaults to 1s in low latency mode, 2s otherwise. Lowering this value may increase rebuffering.
This API is not supported on iOS mobile (iPhone) browsers.
Buffer duration in seconds. The allowable range is 0.1 to 5
Enables low-latency playback for live streams configured to support it. Changing this value during playback restarts the stream.
This API is not supported on iOS mobile (iPhone) browsers.
True to enable, false to disable. Default: true.
Sets the log level for the player.
The log level to set. Default: LogLevel.ERROR.
Sets the quality the player should use for playback. On success, this
invokes the PlayerEventType.QUALITY_CHANGED listener. This
call disables adaptive bitrate (ABR) streaming. This call has
no effect when the HTMLVideoElement's controls
attribute is present.
A valid quality entry from Player.getQualities.
Optional
adaptive: booleanTrue for an adaptive quality change; that is, to change quality smoothly at the end of the current buffer. False to change quality immediately.
This API is not supported on iOS mobile (iPhone) browsers.
Enables skipping to the live edge on a rebuffer. Note this can cause video content and content associated with it such as timed metadata to be skipped.
This API is not supported on iOS mobile (iPhone) browsers.
True to enable, false otherwise.
Sets the Request.credentials property used when the player makes HTTP requests. Possible values are "include" | "omit" | "same-origin" from the JavaScript fetch API. The default value used is "same-origin". This can be used for credentialed playback of IVS recordings (e.g. via CloudFront if configured) but not for IVS live streams.
"include" | "omit" | "same-origin"
This API is not supported on iOS mobile (iPhone) browsers.
A class implementing the Player interface. Do not instantiate this class directly; instead, use the factory create function.