Interface Player

  • All Implemented Interfaces:
    com.theoplayer.android.api.event.EventDispatcher

    
    public interface Player
     implements EventDispatcher<E>
                        

    The player API

    • Constructor Detail

    • Method Detail

      • getAds

        @NonNull() abstract Ads getAds()

        The ads API.

        • Only available with the feature 'ads'.
        Returns:

        The ads API. (NonNull)

      • getAbr

        @NonNull() abstract Abr getAbr()

        The adaptive bitrate configuration.

        Returns:

        The adaptive bitrate configuration. (NonNull)

      • getTextTracks

        @NonNull() abstract TextTrackList getTextTracks()

        List of text tracks of the current source.

        Returns:

        List of text tracks of the current source. (NonNull)

      • getDuration

         abstract double getDuration()

        The duration of the media, in seconds.

        Returns:

        The duration of the media, in seconds.

      • isAutoplay

         abstract boolean isAutoplay()

        Returns whether the player should immediately start playback after source change.

        • To autoplay without sound, setMuted must be configured with 'true'.
      • setAutoplay

         abstract void setAutoplay(boolean autoplay)

        Sets whether the player should immediately start playback after source change.

        • The execution of the method will be done asynchronously.
        Parameters:
        autoplay - Indicates whether the player should automatically play.
      • getVolume

         abstract double getVolume()

        The volume of the audio.

        • This volume is completely separated from the Android device volume.
        • The volume heard will be a combination of the player volume and the Android device volume.
        Returns:

        The player volume, represented by a rational number between 0 and 1.

      • setVolume

         abstract void setVolume(double volume)

        Sets the volume of the audio.

        • The execution of the method will be done asynchronously.
        • This volume is completely separated from the Android device volume.
        • The volume heard will be a combination of the player volume and the Android device volume.
        Parameters:
        volume - The new volume of the audio, represented by a rational number between 0 and 1.
      • setPreload

         abstract void setPreload(@NonNull() PreloadType preload)

        Sets the PreloadType of the player.

        • The execution of the method will be done asynchronously.
        Parameters:
        preload - The new preload type.
      • isMuted

         abstract boolean isMuted()

        Returns whether the audio is muted.

      • setMuted

         abstract void setMuted(boolean muted)

        Sets whether the audio is muted.

        • This affects capabilities of isAutoplay.
        • The execution of the method will be done asynchronously.
        Parameters:
        muted - Whether the audio is muted.
      • isSeeking

         abstract boolean isSeeking()

        Returns whether the player is seeking.

      • getSrc

        @Nullable() abstract String getSrc()

        The current URL of the media.

        • Prefer getSource instead, as it contains a more detailed description regarding ads, analytics etc.
        Returns:

        The current URL of the media. (Nullable)

      • setSrc

         abstract void setSrc(@Nullable() String src)

        Sets a new media source URL.

        • The execution of the method will be done asynchronously.
        Parameters:
        src - The new media source URL.
      • isPaused

         abstract boolean isPaused()

        Returns whether the player is paused.

      • isEnded

         abstract boolean isEnded()

        Returns whether playback of the media has ended.

        • Playback had ended when the current playback position is at the end of the media and the player does not loop.
      • play

         abstract void play()

        Starts or resumes playback.

        • The execution of the method will be done asynchronously.
        • When the player is not paused this method has no effect.
      • pause

         abstract void pause()

        Pauses playback.

        • The execution of the method will be done asynchronously.
      • stop

         abstract void stop()

        Stops playback.

        • The execution of the method will be done asynchronously.
      • getCurrentTime

         abstract double getCurrentTime()

        Returns the current playback position of the media, in seconds.

        Returns:

        The playback position in seconds.

      • getMetrics

        @Nullable() abstract Metrics getMetrics()

        Get the current Metrics of the player.

        • The values will be updated periodically.
        • If the metrics are not yet known, it returns null.
        Returns:

        The current player Metrics.

      • getError

        @Nullable() abstract String getError()

        The last error that occurred for the current source, if any.

        Returns:

        The last error that occurred. (Nullable)

      • getPlaybackRate

         abstract double getPlaybackRate()

        The playback rate of the media.

        Returns:

        The playback rate of the media.

      • setPlaybackRate

         abstract void setPlaybackRate(double playbackRate)

        Sets the playback rate of the media.

        • The execution of the method will be done asynchronously.
        • Playback rate is represented by a number where `1` is default playback speed.
        • It is recommended that you limit the range to between 0.5 and 4.

        Example:

        • `playbackRate = 0.70` will slow down the playback rate of the media by 30%.
        • `playbackRate = 1.25` will speed up the playback rate of the media by 25%.
        Parameters:
        playbackRate - The new playback rate, represented by a number where `1` is default playback speed.
      • getCurrentProgramDateTime

        @Nullable() abstract Date getCurrentProgramDateTime()

        The current playback position of the media, as a timestamp.

        • The result of the execution can be null when the manifest doesn't specify the currentProgramDateTime.
        • The relation between getCurrentProgramDateTime and getCurrentTime is determined by the manifest.
        Returns:

        The playback position. (Nullable)

      • setCurrentProgramDateTime

         abstract void setCurrentProgramDateTime(Date currentProgramDateTime)

        Sets the current program date time.

        • The execution of the method will be done asynchronously.
        • When the program date time information is not embedded in the manifest, the current program date time will not be set.
        Parameters:
        currentProgramDateTime - The new current program date time.
      • getVideoHeight

         abstract int getVideoHeight()

        Returns the height of the active video rendition, in pixels.

        Returns:

        The video height in pixels.

      • getVideoWidth

         abstract int getVideoWidth()

        Returns the width of the active video rendition, in pixels.

        Returns:

        The video width in pixels.

      • setCurrentTime

         abstract void setCurrentTime(double currentTime)

        Sets the playback position of the media.

        • The execution of the method will be done asynchronously.
        Parameters:
        currentTime - The new playback position, in seconds.
      • getHespApi

        @Nullable() abstract HespApi getHespApi()

        The HESP API.

        • Note: This API is in an experimental stage and may be subject to breaking changes.
        • Only available with the feature 'hesp'.
        Returns:

        The HESP API. (Nullable)

      • getNetwork

        @NonNull() abstract Network getNetwork()

        The Network API that manages the current player.

        Returns:

        The Network API. (NonNull)