This service is a api layer that handles the communication with the video element regarding playback.

Note This service is created by the HlsPlayer on startup and should never be instantiated elsewhere.

Hierarchy

  • Service
    • ProgressiveService

Constructors

  • Note Should only be used from within the player.

    Parameters

    • master: HTMLVideoElement

      The video element.

    • eventCallback: (<T>(event) => void)

      Callback to control internal event handling.

        • <T>(event): void
        • Type Parameters

          • T extends PlayerEvent

          Parameters

          • event: T

          Returns void

    • internalEventBus: EventMixin

      Event bus for internal communication.

    • Optional settings: PlayerSettings

      Basic settings controlling the behavior.

    Returns ProgressiveService

Properties

playbackRates: number[]
plugin: PluginApi

An object containing all currently registered plugins. Access a specific plugin using the Plugins static property Name, i.e. plugin[Plugin.Name].

Accessors

  • get ended(): boolean
  • Returns boolean

  • get isLooping(): boolean
  • Returns boolean

  • get isSeeking(): boolean
  • Returns true if a seek is in progress, false otherwise

    Returns boolean

  • get loaded(): boolean
  • Player and plugins, if any, are ready for continued playback.

    Returns boolean

  • get master(): HTMLMediaElement
  • Returns HTMLMediaElement

  • get maximumPlaybackRate(): number
  • The maximum acceptable value for playback rate.

    Returns number

    The maximum value.

  • get minimumPlaybackRate(): number
  • The minimum acceptable value for playback rate.

    Returns number

    The minimum value.

  • get muted(): boolean
  • Player and plugins, if any, are all muted.

    Returns boolean

  • get playbackRateIncrements(): number[]
  • Returns a list of playback rates that are used when increasing or decreasing playback rate.

    Returns number[]

Methods

  • Cancels loop playback.

    Returns void

  • Decreases the current playback rate based on predefined steps.

    Returns void

  • Destroys the service, should only be called from within the player.

    Returns Promise<void>

  • Returns the active video file or undefined if no video file is loaded.

    Returns VideoFile

  • Parameters

    • format: Frame

    Returns number

  • Parameters

    • format: Milliseconds

    Returns number

  • Parameters

    • format: Percent

    Returns number

  • Parameters

    • format: Seconds

    Returns number

  • Parameters

    • format: Time

    Returns string

  • Parameters

    • format: Timecode

    Returns string

  • Parameters

    • format: TimeFormat

    Returns string | number

  • Returns number

  • Parameters

    • format: Frame

    Returns number

  • Parameters

    • format: Milliseconds

    Returns number

  • Parameters

    • format: Percent

    Returns number

  • Parameters

    • format: Seconds

    Returns number

  • Parameters

    • format: Time

    Returns string

  • Parameters

    • format: Timecode

    Returns string

  • Parameters

    • format: TimeFormat

    Returns string | number

  • Returns number

  • Returns PlayerStatus

  • Increases the current playback rate based on predefined steps.

    Returns void

  • Returns a list of all registered plugins.

    Returns Plugin[]

  • Parameters

    • videoFile: VideoFile

    Returns void

  • Load videoFiles i.e multiple representations of the same video.

    Parameters

    • files: VideoFile[]

      The files to be loaded.

    Returns void

  • Loop section of loaded Video.

    Parameters

    • inFrame: number

      inclusive

    • outFrame: number

      exclusive

    Returns void

  • Mutes the player.

    Returns void

  • Mutes the muxed audio

    Returns void

  • Helper method to make sure that playback is resumed correctly. Should only be used from within the player.

    Returns void

  • Pauses playback and makes sure that the player is stopped at an exact frame.

    Parameters

    • Optional pauseOn: SeekEvent

      (Optional) Seek to specific time when pausing.

    • Optional userPause: boolean

    Returns Promise<void>

  • Starts playback. Queues requests if the player is seeking or loading to achieve autoplay behavior.

    Returns Promise<void>

  • Parameters

    • event: SeekEvent
    • Optional roundingMode: RoundingMode

    Returns Promise<void>

  • Update frameOffset value for all loaded videoFiles. Equivalent to load videoFile with a specific frameOffset.

    Parameters

    • offset: number

      Frame offset to set.

    Returns void

  • Sets the playback rate. Limited to predefined min- and max values.

    Parameters

    • rate: number

      The new playback rate

    Returns number

  • Set the volume of the player.

    Parameters

    • volume: number

      A number between 0 and 1.

    Returns void

  • Sets the default controller for the volume

    Parameters

    • volumeController: VolumeController

      the volume controller

    Returns void

  • Switch between already loaded video files i.e representations of the same video. The file must be with the 'loadVideoFiles' method.

    Parameters

    • file: VideoFile

      The desired representation.

    Returns void

  • Toggles mute.

    Returns void

  • Toggles mute on the muxed audio

    Returns void

  • Toggles playback.

    Returns Promise<void>

  • Unmutes the player.

    Returns void

  • Unmutes the muxed audio

    Returns void

  • Parameters

    • videoFile: VideoFile

    Returns void

  • Update the dropFrame value for all loaded videoFiles. Equivalent to load videoFile with dropFrame property set.

    Parameters

    • dropFrame: boolean

      Drop frame value to set.

    Returns void