-
- All Implemented Interfaces:
-
com.theoplayer.android.api.event.EventDispatcher
public interface Player implements EventDispatcher<PlayerEvent>
The player API
-
-
Method Summary
Modifier and Type Method Description abstract void
addIntegration(Integration integration)
Adds an Integration. abstract void
removeIntegration(Integration integration)
Removes an Integration. abstract Ads
getAds()
The ads API. abstract Abr
getAbr()
The adaptive bitrate configuration. abstract MediaTrackList<VideoQuality>
getVideoTracks()
List of video tracks of the current source. abstract MediaTrackList<AudioQuality>
getAudioTracks()
List of audio tracks of the current source. abstract TextTrackList
getTextTracks()
List of text tracks of the current source. abstract double
getDuration()
The duration of the media, in seconds. abstract boolean
isAutoplay()
Returns whether the player should immediately start playback after source change. abstract void
setAutoplay(boolean autoplay)
Sets whether the player should immediately start playback after source change. abstract void
setAutoplay(boolean autoplay, @Nullable() DoneCallback callback)
Sets whether the player should immediately start playback after source change. abstract double
getVolume()
The volume of the audio. abstract void
setVolume(double volume)
Sets the volume of the audio. abstract void
setVolume(double volume, @Nullable() DoneCallback callback)
Sets the volume of the audio. abstract PreloadType
getPreload()
The PreloadType of the player. abstract void
setPreload(@NonNull() PreloadType preload)
Sets the PreloadType of the player. abstract void
setPreload(PreloadType preload, @Nullable() DoneCallback callback)
Sets the PreloadType of the player. abstract boolean
isMuted()
Returns whether the audio is muted. abstract void
setMuted(boolean muted)
Sets whether the audio is muted. abstract void
setMuted(boolean muted, DoneCallback callback)
Sets whether the audio is muted. abstract boolean
isSeeking()
Returns whether the player is seeking. abstract SourceDescription
getSource()
The current source which describes the desired playback of a media. abstract void
setSource(@Nullable() SourceDescription source)
Sets a new SourceDescription. abstract void
setSource(@Nullable() SourceDescription source, @Nullable() DoneCallback callback)
Sets a new SourceDescription. abstract String
getSrc()
The current URL of the media. abstract void
setSrc(@Nullable() String src)
Sets a new media source URL. abstract void
setSrc(@Nullable() String src, @Nullable() DoneCallback callback)
Sets a new media source URL. abstract boolean
isPaused()
Returns whether the player is paused. abstract boolean
isEnded()
Returns whether playback of the media has ended. abstract void
play()
Starts or resumes playback. abstract void
play(@Nullable() DoneCallback callback)
Starts or resumes playback. abstract void
pause()
Pauses playback. abstract void
pause(@Nullable() DoneCallback callback)
Pauses playback. abstract void
stop()
Stops playback. abstract void
stop(@Nullable() DoneCallback callback)
Stops playback. abstract ReadyState
getReadyState()
The ReadyState of the player. abstract TimeRanges
getBuffered()
Returns the ranges of the media that the player has buffered. abstract double
getCurrentTime()
Returns the current playback position of the media, in seconds. abstract Metrics
getMetrics()
Get the current Metrics of the player. abstract String
getError()
The last error that occurred for the current source, if any. abstract double
getPlaybackRate()
The playback rate of the media. abstract void
setPlaybackRate(double playbackRate)
Sets the playback rate of the media. abstract void
setPlaybackRate(double playbackRate, @Nullable() DoneCallback callback)
Sets the playback rate of the media. abstract TimeRanges
getPlayed()
Returns the ranges of the media that the player has played. abstract TimeRanges
getSeekable()
Returns the ranges of the media that are seekable by the player. abstract Date
getCurrentProgramDateTime()
The current playback position of the media, as a timestamp. abstract void
setCurrentProgramDateTime(Date currentProgramDateTime)
Sets the current program date time. abstract void
setCurrentProgramDateTime(Date currentProgramDateTime, @Nullable() DoneCallback callback)
Sets the current program date time. abstract int
getVideoHeight()
Returns the height of the active video rendition, in pixels. abstract int
getVideoWidth()
Returns the width of the active video rendition, in pixels. abstract void
setCurrentTime(double currentTime)
Sets the playback position of the media. abstract void
setCurrentTime(double currentTime, @Nullable() DoneCallback callback)
Sets the playback position of the media. abstract HespApi
getHespApi()
The HESP API. abstract void
setAspectRatio(AspectRatio aspectRatio)
Sets the aspect ratio of the player. abstract void
setRenderingTarget(RenderingTarget renderingTarget)
Sets the player rendering target SURFACE_VIEW or TEXTURE_VIEW. abstract TextTrackStyle
getTextTrackStyle()
The Text Track Style API. abstract Network
getNetwork()
The Network API that manages the current player. -
-
Method Detail
-
addIntegration
abstract void addIntegration(Integration integration)
Adds an Integration.
- Only available with the 'Unified Android' SDK.
- Parameters:
integration
- The Integration to be added on the player.
-
removeIntegration
abstract void removeIntegration(Integration integration)
Removes an Integration.
- Only available with the 'Unified Android' SDK.
- Parameters:
integration
- The Integration to be removed from the player.
-
getVideoTracks
@NonNull() abstract MediaTrackList<VideoQuality> getVideoTracks()
List of video tracks of the current source.
-
getAudioTracks
@NonNull() abstract MediaTrackList<AudioQuality> getAudioTracks()
List of audio tracks of the current source.
-
getTextTracks
@NonNull() abstract TextTrackList getTextTracks()
List of text tracks of the current source.
-
getDuration
abstract double getDuration()
The duration of the media, in seconds.
- On source change, duration becomes available after the getReadyState becomes HAVE_METADATA.
-
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.
-
setAutoplay
abstract void setAutoplay(boolean autoplay, @Nullable() DoneCallback callback)
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.callback
- The DoneCallback which will be called when the execution is completed.
-
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.
-
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.
-
setVolume
abstract void setVolume(double volume, @Nullable() DoneCallback callback)
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.callback
- The DoneCallback which will be called when the execution is completed.
-
getPreload
@NonNull() abstract PreloadType getPreload()
The PreloadType of the player. (NonNull)
-
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.
-
setPreload
abstract void setPreload(PreloadType preload, @Nullable() DoneCallback callback)
Sets the PreloadType of the player.
- The execution of the method will be done asynchronously.
- Parameters:
preload
- The new preload type.callback
- The DoneCallback which will be called when the execution is completed.
-
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.
-
setMuted
abstract void setMuted(boolean muted, DoneCallback callback)
Sets whether the audio is muted.
- This affects the capabilities of isAutoplay.
- The execution of the method will be done asynchronously.
- Parameters:
muted
- Whether the audio is muted.callback
- The DoneCallback which will be called when the execution is completed.
-
isSeeking
abstract boolean isSeeking()
Returns whether the player is seeking.
-
getSource
@Nullable() abstract SourceDescription getSource()
The current source which describes the desired playback of a media.
- Changing the source might cause getPreload and isAutoplay.
- Changing the source will stop the previous source.
-
setSource
abstract void setSource(@Nullable() SourceDescription source)
Sets a new SourceDescription.
- The execution of the method will be done asynchronously.
- Changing the source might cause getPreload and isAutoplay.
- Changing the source will stop the previous source.
- Parameters:
source
- The new SourceDescription.
-
setSource
abstract void setSource(@Nullable() SourceDescription source, @Nullable() DoneCallback callback)
Sets a new SourceDescription.
- The execution of the method will be done asynchronously.
- Changing the source might cause getPreload and isAutoplay.
- Changing the source will stop the previous source.
- Parameters:
source
- The new SourceDescription.callback
- The DoneCallback which will be called when the execution is completed.
-
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.
-
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.
-
setSrc
abstract void setSrc(@Nullable() String src, @Nullable() DoneCallback callback)
Sets a new media source URL.
- The execution of the method will be done asynchronously.
- Parameters:
src
- The new media source URL.callback
- The DoneCallback which will be called when the execution is completed.
-
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.
-
play
abstract void play(@Nullable() DoneCallback callback)
Starts or resumes playback.
- The execution of the method will be done asynchronously.
- When the player is not paused this method has no effect.
- Parameters:
callback
- The DoneCallback which will be called when the execution is completed.
-
pause
abstract void pause()
Pauses playback.
- The execution of the method will be done asynchronously.
-
pause
abstract void pause(@Nullable() DoneCallback callback)
Pauses playback.
- The execution of the method will be done asynchronously.
- Parameters:
callback
- The DoneCallback which will be called when the execution is completed.
-
stop
abstract void stop()
Stops playback.
- The execution of the method will be done asynchronously.
-
stop
abstract void stop(@Nullable() DoneCallback callback)
Stops playback.
- The execution of the method will be done asynchronously.
- Parameters:
callback
- The DoneCallback which will be called when the execution is completed.
-
getReadyState
@NonNull() abstract ReadyState getReadyState()
The ReadyState of the player.
- See the HTML Media Specification
-
getBuffered
@NonNull() abstract TimeRanges getBuffered()
Returns the ranges of the media that the player has buffered.
-
getCurrentTime
abstract double getCurrentTime()
Returns the current playback position of the media, 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.
-
getError
@Nullable() abstract String getError()
The last error that occurred for the current source, if any.
-
getPlaybackRate
abstract double getPlaybackRate()
The playback rate of the media.
- For more information, see setPlaybackRate.
-
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.
-
setPlaybackRate
abstract void setPlaybackRate(double playbackRate, @Nullable() DoneCallback callback)
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.callback
- The DoneCallback which will be called when the execution is completed.
-
getPlayed
@NonNull() abstract TimeRanges getPlayed()
Returns the ranges of the media that the player has played.
-
getSeekable
@NonNull() abstract TimeRanges getSeekable()
Returns the ranges of the media that are seekable by the player.
-
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.
-
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.
-
setCurrentProgramDateTime
abstract void setCurrentProgramDateTime(Date currentProgramDateTime, @Nullable() DoneCallback callback)
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.callback
- The DoneCallback which will be called when the execution is completed.
-
getVideoHeight
abstract int getVideoHeight()
Returns the height of the active video rendition, in pixels.
-
getVideoWidth
abstract int getVideoWidth()
Returns the width of the active video rendition, 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.
-
setCurrentTime
abstract void setCurrentTime(double currentTime, @Nullable() DoneCallback callback)
Sets the playback position of the media.
- The execution of the method will be done asynchronously.
- Parameters:
currentTime
- The new playback position, in seconds.callback
- The DoneCallback which will be called when the execution is completed.
-
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'.
-
setAspectRatio
abstract void setAspectRatio(AspectRatio aspectRatio)
Sets the aspect ratio of the player.
- Parameters:
aspectRatio
- the AspectRatio to set on the player.
-
setRenderingTarget
abstract void setRenderingTarget(RenderingTarget renderingTarget)
Sets the player rendering target SURFACE_VIEW or TEXTURE_VIEW. Default target is: SURFACE_VIEW
- refer to: SurfaceView
- refer to: TextureView
- Parameters:
renderingTarget
- the RenderingTarget to set on the player.
-
getTextTrackStyle
abstract TextTrackStyle getTextTrackStyle()
The Text Track Style API.
-
getNetwork
@NonNull() abstract Network getNetwork()
The Network API that manages the current player.
-
-
-
-