public class ExoMediaPlayer
extends java.lang.Object
implements com.google.android.exoplayer2.ExoPlayer.EventListener
| Constructor and Description |
|---|
ExoMediaPlayer(android.content.Context context) |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(ExoPlayerListener listener) |
void |
blockingClearSurface() |
void |
forcePrepare() |
protected com.google.android.exoplayer2.drm.DrmSessionManager<com.google.android.exoplayer2.drm.FrameworkMediaCrypto> |
generateDrmSessionManager()
Generates the
DrmSessionManager to use with the RendererProvider. |
int |
getAudioSessionId() |
java.util.Map<ExoMedia.RendererType,com.google.android.exoplayer2.source.TrackGroupArray> |
getAvailableTracks()
Retrieves a list of available tracks
|
int |
getBufferedPercentage() |
long |
getCurrentPosition() |
long |
getDuration() |
protected int |
getExoPlayerTrackType(ExoMedia.RendererType type) |
int |
getPlaybackState() |
boolean |
getPlayWhenReady() |
int |
getSelectedTrackIndex(ExoMedia.RendererType type) |
android.view.Surface |
getSurface() |
void |
onLoadingChanged(boolean isLoading) |
void |
onPlaybackParametersChanged(com.google.android.exoplayer2.PlaybackParameters playbackParameters) |
void |
onPlayerError(com.google.android.exoplayer2.ExoPlaybackException exception) |
void |
onPlayerStateChanged(boolean playWhenReady,
int state) |
void |
onPositionDiscontinuity() |
void |
onTimelineChanged(com.google.android.exoplayer2.Timeline timeline,
java.lang.Object manifest) |
void |
onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray trackGroups,
com.google.android.exoplayer2.trackselection.TrackSelectionArray trackSelections) |
void |
prepare() |
void |
release() |
void |
removeListener(ExoPlayerListener listener) |
boolean |
restart()
Seeks to the beginning of the media, and plays it.
|
void |
seekTo(long positionMs) |
protected void |
sendMessage(int renderType,
int messageType,
java.lang.Object message) |
protected void |
sendMessage(int renderType,
int messageType,
java.lang.Object message,
boolean blocking) |
void |
setBufferUpdateListener(OnBufferUpdateListener listener) |
void |
setCaptionListener(CaptionListener listener) |
void |
setDrmCallback(com.google.android.exoplayer2.drm.MediaDrmCallback drmCallback)
Sets the
MediaDrmCallback to use when handling DRM for media. |
void |
setInternalErrorListener(InternalErrorListener listener) |
void |
setMediaSource(com.google.android.exoplayer2.source.MediaSource source) |
void |
setMetadataListener(MetadataListener listener) |
boolean |
setPlaybackSpeed(float speed) |
void |
setPlayWhenReady(boolean playWhenReady) |
void |
setSelectedTrack(ExoMedia.RendererType type,
int index) |
void |
setSurface(android.view.Surface surface) |
void |
setUri(android.net.Uri uri) |
void |
setVolume(float volume) |
void |
setWakeMode(android.content.Context context,
int mode)
This function has the MediaPlayer access the low-level power manager
service to control the device's power usage while playing is occurring.
|
protected void |
stayAwake(boolean awake)
Used with playback state changes to correctly acquire and
release the wakelock if the user has enabled it with
setWakeMode(Context, int). |
void |
stop() |
public void onTimelineChanged(com.google.android.exoplayer2.Timeline timeline,
java.lang.Object manifest)
onTimelineChanged in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray trackGroups,
com.google.android.exoplayer2.trackselection.TrackSelectionArray trackSelections)
onTracksChanged in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void onLoadingChanged(boolean isLoading)
onLoadingChanged in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void onPositionDiscontinuity()
onPositionDiscontinuity in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void onPlaybackParametersChanged(com.google.android.exoplayer2.PlaybackParameters playbackParameters)
onPlaybackParametersChanged in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void onPlayerStateChanged(boolean playWhenReady,
int state)
onPlayerStateChanged in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void onPlayerError(com.google.android.exoplayer2.ExoPlaybackException exception)
onPlayerError in interface com.google.android.exoplayer2.ExoPlayer.EventListenerpublic void setDrmCallback(@Nullable
com.google.android.exoplayer2.drm.MediaDrmCallback drmCallback)
MediaDrmCallback to use when handling DRM for media.
This should be called before specifying the videos uri or path
drmCallback - The callback to use when handling DRM mediapublic void setUri(@Nullable
android.net.Uri uri)
public void setMediaSource(@Nullable
com.google.android.exoplayer2.source.MediaSource source)
public void addListener(ExoPlayerListener listener)
public void removeListener(ExoPlayerListener listener)
public void setBufferUpdateListener(@Nullable
OnBufferUpdateListener listener)
public void setInternalErrorListener(@Nullable
InternalErrorListener listener)
public void setCaptionListener(@Nullable
CaptionListener listener)
public void setMetadataListener(@Nullable
MetadataListener listener)
public void setSurface(@Nullable
android.view.Surface surface)
@Nullable public android.view.Surface getSurface()
public void blockingClearSurface()
@Nullable public java.util.Map<ExoMedia.RendererType,com.google.android.exoplayer2.source.TrackGroupArray> getAvailableTracks()
public int getSelectedTrackIndex(@NonNull
ExoMedia.RendererType type)
public void setSelectedTrack(@NonNull
ExoMedia.RendererType type,
int index)
public void setVolume(float volume)
public void forcePrepare()
public void prepare()
public void stop()
public void setPlayWhenReady(boolean playWhenReady)
public void seekTo(long positionMs)
public boolean restart()
ExoPlayer.STATE_IDLE or ExoPlayer.STATE_ENDED.true if the media was successfully restarted, otherwise falsepublic void release()
public int getPlaybackState()
public int getAudioSessionId()
public boolean setPlaybackSpeed(float speed)
public long getCurrentPosition()
public long getDuration()
public int getBufferedPercentage()
public boolean getPlayWhenReady()
public void setWakeMode(android.content.Context context,
int mode)
PowerManager wake flags.
Use of this method requires Manifest.permission.WAKE_LOCK
permission.
By default, no attempt is made to keep the device awake during playback.context - the Context to usemode - the power/wake mode to setPowerManagerprotected int getExoPlayerTrackType(@NonNull
ExoMedia.RendererType type)
protected void sendMessage(int renderType,
int messageType,
java.lang.Object message)
protected void sendMessage(int renderType,
int messageType,
java.lang.Object message,
boolean blocking)
protected void stayAwake(boolean awake)
setWakeMode(Context, int).
If the wakeLock is null then no action will be performed.awake - True if the wakelock should be acquired@Nullable protected com.google.android.exoplayer2.drm.DrmSessionManager<com.google.android.exoplayer2.drm.FrameworkMediaCrypto> generateDrmSessionManager()
DrmSessionManager to use with the RendererProvider. This will
return null on API's < DrmSessionManager to use or null