public class BoxPlayer extends java.lang.Object implements com.google.android.exoplayer.MediaCodecVideoTrackRenderer.EventListener, com.google.android.exoplayer.dash.DashChunkSource.EventListener, com.google.android.exoplayer.MediaCodecAudioTrackRenderer.EventListener, com.google.android.exoplayer.ExoPlayer.Listener, com.google.android.exoplayer.upstream.BandwidthMeter.EventListener, com.google.android.exoplayer.chunk.ChunkSampleSource.EventListener, BoxMediaControls, android.media.AudioManager.OnAudioFocusChangeListener, com.google.android.exoplayer.text.TextRenderer, com.google.android.exoplayer.drm.StreamingDrmSessionManager.EventListener
| Modifier and Type | Class and Description |
|---|---|
static interface |
BoxPlayer.Listener
A listener for core events that should be implemented by the fragment or activity that
manages this player
|
BoxMediaControls.BoxMediaState, BoxMediaControls.MediaListener| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
TAG |
| Constructor and Description |
|---|
BoxPlayer(com.box.androidsdk.content.models.BoxSession session,
RendererBuilder builder,
android.net.Uri uri,
BoxPlayer.Listener listener) |
| Modifier and Type | Method and Description |
|---|---|
void |
addMediaListener(BoxMediaControls.MediaListener listener) |
boolean |
canPause() |
boolean |
canSeekBackward() |
boolean |
canSeekForward() |
void |
clearMediaListeners() |
com.google.android.exoplayer.ExoPlayer |
get() |
int |
getBufferPercentage() |
int |
getCurrentPosition() |
int |
getDuration() |
android.os.Handler |
getMainHandler() |
boolean |
isPlaying() |
void |
onAudioFocusChange(int focusChange) |
void |
onAudioTrackInitializationError(com.google.android.exoplayer.audio.AudioTrack.InitializationException e)
***
MediaCodecAudioTrackRenderer.EventListener implementation
***
|
void |
onAudioTrackUnderrun(int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs) |
void |
onAudioTrackWriteError(com.google.android.exoplayer.audio.AudioTrack.WriteException e) |
void |
onAvailableRangeChanged(int sourceId,
com.google.android.exoplayer.TimeRange availableRange) |
void |
onBandwidthSample(int elapsedMs,
long bytes,
long bitrate) |
void |
onCryptoError(android.media.MediaCodec.CryptoException e) |
void |
onCues(java.util.List<com.google.android.exoplayer.text.Cue> cues) |
void |
onDecoderInitializationError(com.google.android.exoplayer.MediaCodecTrackRenderer.DecoderInitializationException e) |
void |
onDecoderInitialized(java.lang.String s,
long l,
long l1) |
void |
onDownstreamFormatChanged(int sourceId,
com.google.android.exoplayer.chunk.Format format,
int trigger,
long mediaTimeMs) |
void |
onDrawnToSurface(android.view.Surface surface) |
void |
onDrmKeysLoaded() |
void |
onDrmSessionManagerError(java.lang.Exception e) |
void |
onDroppedFrames(int i,
long l)
***
MediaCodecVideoTrackRenderer.EventListener implementation
***
|
void |
onLoadCanceled(int sourceId,
long bytesLoaded) |
void |
onLoadCompleted(int sourceId,
long bytesLoaded,
int type,
int trigger,
com.google.android.exoplayer.chunk.Format format,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs) |
void |
onLoadError(int sourceId,
java.io.IOException e) |
void |
onLoadStarted(int sourceId,
long length,
int type,
int trigger,
com.google.android.exoplayer.chunk.Format format,
long mediaStartTimeMs,
long mediaEndTimeMs) |
void |
onPlayerError(com.google.android.exoplayer.ExoPlaybackException e) |
void |
onPlayerStateChanged(boolean b,
int state)
***
ExoPlayer.Listener implementation
***
|
void |
onPlayWhenReadyCommitted() |
void |
onUpstreamDiscarded(int sourceId,
long mediaStartTimeMs,
long mediaEndTimeMs) |
void |
onVideoSizeChanged(int width,
int height,
int x,
float pixelWidthAspectRatio) |
void |
pause() |
void |
release() |
void |
removeMediaListener(BoxMediaControls.MediaListener listener) |
void |
seekTo(int pos) |
void |
setSurface(android.view.Surface surface,
boolean blockSurfacePush) |
void |
start()
***
BoxMediaControls implementation
***
|
void |
updateSurface() |
public BoxPlayer(com.box.androidsdk.content.models.BoxSession session,
RendererBuilder builder,
android.net.Uri uri,
BoxPlayer.Listener listener)
public com.google.android.exoplayer.ExoPlayer get()
public void onLoadError(int sourceId,
java.io.IOException e)
onLoadError in interface com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListenerpublic void onDrmKeysLoaded()
onDrmKeysLoaded in interface com.google.android.exoplayer.drm.StreamingDrmSessionManager.EventListenerpublic void onDrmSessionManagerError(java.lang.Exception e)
onDrmSessionManagerError in interface com.google.android.exoplayer.drm.StreamingDrmSessionManager.EventListenerpublic void onDownstreamFormatChanged(int sourceId,
com.google.android.exoplayer.chunk.Format format,
int trigger,
long mediaTimeMs)
onDownstreamFormatChanged in interface com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListenerpublic void onLoadStarted(int sourceId,
long length,
int type,
int trigger,
com.google.android.exoplayer.chunk.Format format,
long mediaStartTimeMs,
long mediaEndTimeMs)
onLoadStarted in interface com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListenerpublic void onLoadCanceled(int sourceId,
long bytesLoaded)
onLoadCanceled in interface com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListenerpublic void onLoadCompleted(int sourceId,
long bytesLoaded,
int type,
int trigger,
com.google.android.exoplayer.chunk.Format format,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs)
onLoadCompleted in interface com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListenerpublic void onUpstreamDiscarded(int sourceId,
long mediaStartTimeMs,
long mediaEndTimeMs)
onUpstreamDiscarded in interface com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListenerpublic void onAvailableRangeChanged(int sourceId,
com.google.android.exoplayer.TimeRange availableRange)
onAvailableRangeChanged in interface com.google.android.exoplayer.dash.DashChunkSource.EventListenerpublic void release()
public void onCues(java.util.List<com.google.android.exoplayer.text.Cue> cues)
onCues in interface com.google.android.exoplayer.text.TextRendererpublic void onDroppedFrames(int i,
long l)
onDroppedFrames in interface com.google.android.exoplayer.MediaCodecVideoTrackRenderer.EventListenerpublic void onVideoSizeChanged(int width,
int height,
int x,
float pixelWidthAspectRatio)
onVideoSizeChanged in interface com.google.android.exoplayer.MediaCodecVideoTrackRenderer.EventListenerpublic void onDrawnToSurface(android.view.Surface surface)
onDrawnToSurface in interface com.google.android.exoplayer.MediaCodecVideoTrackRenderer.EventListenerpublic void onBandwidthSample(int elapsedMs,
long bytes,
long bitrate)
onBandwidthSample in interface com.google.android.exoplayer.upstream.BandwidthMeter.EventListenerpublic void onDecoderInitializationError(com.google.android.exoplayer.MediaCodecTrackRenderer.DecoderInitializationException e)
onDecoderInitializationError in interface com.google.android.exoplayer.MediaCodecTrackRenderer.EventListenerpublic void onCryptoError(android.media.MediaCodec.CryptoException e)
onCryptoError in interface com.google.android.exoplayer.MediaCodecTrackRenderer.EventListenerpublic void onDecoderInitialized(java.lang.String s,
long l,
long l1)
onDecoderInitialized in interface com.google.android.exoplayer.MediaCodecTrackRenderer.EventListenerpublic void onAudioTrackInitializationError(com.google.android.exoplayer.audio.AudioTrack.InitializationException e)
onAudioTrackInitializationError in interface com.google.android.exoplayer.MediaCodecAudioTrackRenderer.EventListenerpublic void onAudioTrackWriteError(com.google.android.exoplayer.audio.AudioTrack.WriteException e)
onAudioTrackWriteError in interface com.google.android.exoplayer.MediaCodecAudioTrackRenderer.EventListenerpublic void onAudioTrackUnderrun(int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs)
onAudioTrackUnderrun in interface com.google.android.exoplayer.MediaCodecAudioTrackRenderer.EventListenerpublic void onPlayerStateChanged(boolean b,
int state)
onPlayerStateChanged in interface com.google.android.exoplayer.ExoPlayer.Listenerpublic void onPlayWhenReadyCommitted()
onPlayWhenReadyCommitted in interface com.google.android.exoplayer.ExoPlayer.Listenerpublic void onPlayerError(com.google.android.exoplayer.ExoPlaybackException e)
onPlayerError in interface com.google.android.exoplayer.ExoPlayer.Listenerpublic void start()
start in interface BoxMediaControlspublic void pause()
pause in interface BoxMediaControlspublic int getDuration()
getDuration in interface BoxMediaControlspublic int getCurrentPosition()
getCurrentPosition in interface BoxMediaControlspublic void seekTo(int pos)
seekTo in interface BoxMediaControlspublic boolean isPlaying()
isPlaying in interface BoxMediaControlspublic int getBufferPercentage()
getBufferPercentage in interface BoxMediaControlspublic boolean canPause()
canPause in interface BoxMediaControlspublic boolean canSeekBackward()
canSeekBackward in interface BoxMediaControlspublic boolean canSeekForward()
canSeekForward in interface BoxMediaControlspublic void addMediaListener(BoxMediaControls.MediaListener listener)
addMediaListener in interface BoxMediaControlspublic void removeMediaListener(BoxMediaControls.MediaListener listener)
removeMediaListener in interface BoxMediaControlspublic void clearMediaListeners()
clearMediaListeners in interface BoxMediaControlspublic void setSurface(android.view.Surface surface,
boolean blockSurfacePush)
public void updateSurface()
public void onAudioFocusChange(int focusChange)
onAudioFocusChange in interface android.media.AudioManager.OnAudioFocusChangeListenerpublic android.os.Handler getMainHandler()