public class ExoVideoDelegate
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
protected class |
ExoVideoDelegate.InternalListeners |
| Modifier and Type | Field and Description |
|---|---|
protected ClearableSurface |
clearableSurface |
protected android.content.Context |
context |
protected ExoMediaPlayer |
exoMediaPlayer |
protected ExoVideoDelegate.InternalListeners |
internalListeners |
protected ListenerMux |
listenerMux |
protected boolean |
playRequested |
| Constructor and Description |
|---|
ExoVideoDelegate(android.content.Context context,
ClearableSurface clearableSurface) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<ExoMedia.RendererType,com.google.android.exoplayer2.source.TrackGroupArray> |
getAvailableTracks() |
int |
getBufferedPercent() |
long |
getCurrentPosition() |
long |
getDuration() |
protected void |
initExoPlayer() |
boolean |
isPlaying() |
void |
onSurfaceDestroyed() |
void |
onSurfaceReady(android.view.Surface surface) |
void |
pause() |
void |
release() |
boolean |
restart() |
void |
seekTo(long milliseconds) |
void |
setDrmCallback(com.google.android.exoplayer2.drm.MediaDrmCallback drmCallback)
Sets the
MediaDrmCallback to use when handling DRM for media. |
void |
setListenerMux(ListenerMux listenerMux) |
boolean |
setPlaybackSpeed(float speed) |
void |
setTrack(ExoMedia.RendererType trackType,
int trackIndex) |
protected void |
setup() |
void |
setVideoUri(android.net.Uri uri) |
void |
setVideoUri(android.net.Uri uri,
com.google.android.exoplayer2.source.MediaSource mediaSource) |
boolean |
setVolume(float volume) |
void |
start() |
void |
stopPlayback(boolean clearSurface)
Performs the functionality to stop the video in playback
|
void |
suspend() |
boolean |
trackSelectionAvailable() |
protected ExoMediaPlayer exoMediaPlayer
protected ListenerMux listenerMux
protected boolean playRequested
protected android.content.Context context
protected ClearableSurface clearableSurface
@NonNull protected ExoVideoDelegate.InternalListeners internalListeners
public ExoVideoDelegate(@NonNull
android.content.Context context,
@NonNull
ClearableSurface clearableSurface)
public void setVideoUri(@Nullable
android.net.Uri uri)
public void setVideoUri(@Nullable
android.net.Uri uri,
@Nullable
com.google.android.exoplayer2.source.MediaSource mediaSource)
public 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 boolean restart()
public boolean setVolume(float volume)
public void seekTo(long milliseconds)
public boolean isPlaying()
public void start()
public void pause()
public void stopPlayback(boolean clearSurface)
clearSurface - true if the surface should be clearedpublic void suspend()
public long getDuration()
public long getCurrentPosition()
public int getBufferedPercent()
public boolean trackSelectionAvailable()
public void setTrack(ExoMedia.RendererType trackType, int trackIndex)
@Nullable public java.util.Map<ExoMedia.RendererType,com.google.android.exoplayer2.source.TrackGroupArray> getAvailableTracks()
public boolean setPlaybackSpeed(float speed)
public void release()
public void setListenerMux(ListenerMux listenerMux)
public void onSurfaceReady(android.view.Surface surface)
public void onSurfaceDestroyed()
protected void setup()
protected void initExoPlayer()