public class IjkExo2MediaPlayer
extends AbstractMediaPlayer
| 限定符和类型 | 字段和说明 |
|---|---|
protected int |
audioSessionId |
protected boolean |
isBuffering |
protected boolean |
isCache
是否开启缓存
|
protected boolean |
isLastReportedPlayWhenReady |
protected boolean |
isLooping |
protected boolean |
isPreparing |
protected boolean |
isPreview
是否带上header
|
protected int |
lastReportedPlaybackState |
protected android.content.Context |
mAppContext |
protected java.io.File |
mCacheDir
缓存目录,可以为空
|
protected java.lang.String |
mDataSource |
protected EventLogger |
mEventLogger |
protected ExoSourceManager |
mExoHelper
dataSource等的帮组类
|
protected java.util.Map<java.lang.String,java.lang.String> |
mHeaders |
protected SimpleExoPlayer |
mInternalPlayer |
protected LoadControl |
mLoadControl |
protected MediaSource |
mMediaSource |
protected DefaultRenderersFactory |
mRendererFactory |
protected PlaybackParameters |
mSpeedPlaybackParameters |
protected android.view.Surface |
mSurface |
protected MappingTrackSelector |
mTrackSelector |
protected int |
mVideoHeight |
protected int |
mVideoWidth |
static int |
ON_POSITION_DISCOUNTINUITY |
| 构造器和说明 |
|---|
IjkExo2MediaPlayer(android.content.Context context) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
getAudioSessionId() |
int |
getBufferedPercentage() |
java.io.File |
getCacheDir() |
long |
getCurrentPosition() |
java.lang.String |
getDataSource() |
long |
getDuration() |
ExoSourceManager |
getExoHelper() |
LoadControl |
getLoadControl() |
MediaInfo |
getMediaInfo() |
MediaSource |
getMediaSource() |
java.lang.String |
getOverrideExtension() |
DefaultRenderersFactory |
getRendererFactory() |
float |
getSpeed() |
IjkTrackInfo[] |
getTrackInfo() |
MappingTrackSelector |
getTrackSelector() |
int |
getVideoHeight() |
int |
getVideoSarDen() |
int |
getVideoSarNum() |
int |
getVideoWidth() |
boolean |
isCache() |
boolean |
isLooping() |
boolean |
isPlayable() |
boolean |
isPlaying() |
boolean |
isPreview() |
void |
onAudioSessionId(EventTime eventTime,
int audioSessionId) |
void |
onAudioUnderrun(EventTime eventTime,
int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs) |
void |
onBandwidthEstimate(EventTime eventTime,
int totalLoadTimeMs,
long totalBytesLoaded,
long bitrateEstimate) |
void |
onDecoderDisabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters) |
void |
onDecoderEnabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters) |
void |
onDecoderInitialized(EventTime eventTime,
int trackType,
java.lang.String decoderName,
long initializationDurationMs) |
void |
onDecoderInputFormatChanged(EventTime eventTime,
int trackType,
Format format) |
void |
onDownstreamFormatChanged(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onDrmKeysLoaded(EventTime eventTime) |
void |
onDrmKeysRemoved(EventTime eventTime) |
void |
onDrmKeysRestored(EventTime eventTime) |
void |
onDrmSessionManagerError(EventTime eventTime,
java.lang.Exception error) |
void |
onDroppedVideoFrames(EventTime eventTime,
int droppedFrames,
long elapsedMs) |
void |
onLoadCanceled(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onLoadCompleted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onLoadError(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData,
java.io.IOException error,
boolean wasCanceled) |
void |
onLoadingChanged(boolean isLoading) |
void |
onLoadingChanged(EventTime eventTime,
boolean isLoading) |
void |
onLoadStarted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onMediaPeriodCreated(EventTime eventTime) |
void |
onMediaPeriodReleased(EventTime eventTime) |
void |
onMetadata(EventTime eventTime,
Metadata metadata) |
void |
onPlaybackParametersChanged(EventTime eventTime,
PlaybackParameters playbackParameters) |
void |
onPlaybackParametersChanged(PlaybackParameters playbackParameters) |
void |
onPlayerError(EventTime eventTime,
ExoPlaybackException error) |
void |
onPlayerError(ExoPlaybackException error) |
void |
onPlayerStateChanged(boolean playWhenReady,
int playbackState) |
void |
onPlayerStateChanged(EventTime eventTime,
boolean playWhenReady,
int playbackState) |
void |
onPositionDiscontinuity(EventTime eventTime,
int reason) |
void |
onPositionDiscontinuity(int reason) |
void |
onReadingStarted(EventTime eventTime) |
void |
onRenderedFirstFrame(EventTime eventTime,
android.view.Surface surface) |
void |
onRepeatModeChanged(EventTime eventTime,
int repeatMode) |
void |
onRepeatModeChanged(int repeatMode) |
void |
onSeekProcessed() |
void |
onSeekProcessed(EventTime eventTime) |
void |
onSeekStarted(EventTime eventTime) |
void |
onShuffleModeChanged(EventTime eventTime,
boolean shuffleModeEnabled) |
void |
onShuffleModeEnabledChanged(boolean shuffleModeEnabled) |
void |
onTimelineChanged(EventTime eventTime,
int reason) |
void |
onTimelineChanged(Timeline timeline,
java.lang.Object manifest,
int reason) |
void |
onTracksChanged(EventTime eventTime,
TrackGroupArray trackGroups,
TrackSelectionArray trackSelections) |
void |
onTracksChanged(TrackGroupArray trackGroups,
TrackSelectionArray trackSelections) |
void |
onUpstreamDiscarded(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData) |
void |
onVideoSizeChanged(EventTime eventTime,
int width,
int height,
int unappliedRotationDegrees,
float pixelWidthHeightRatio) |
void |
pause() |
void |
prepareAsync() |
protected void |
prepareAsyncInternal() |
void |
release() |
void |
reset() |
void |
seekTo(long msec) |
void |
setAudioStreamType(int streamtype) |
void |
setCache(boolean cache)
是否开启cache
setDataSource之前生效
|
void |
setCacheDir(java.io.File cacheDir)
cache文件的目录
setDataSource之前生效
|
void |
setDataSource(android.content.Context context,
android.net.Uri uri) |
void |
setDataSource(android.content.Context context,
android.net.Uri uri,
java.util.Map<java.lang.String,java.lang.String> headers) |
void |
setDataSource(java.io.FileDescriptor fd) |
void |
setDataSource(java.lang.String path) |
void |
setDisplay(android.view.SurfaceHolder sh) |
void |
setKeepInBackground(boolean keepInBackground) |
void |
setLoadControl(LoadControl loadControl) |
void |
setLogEnabled(boolean enable) |
void |
setLooping(boolean looping) |
void |
setMediaSource(MediaSource mediaSource) |
void |
setOverrideExtension(java.lang.String overrideExtension) |
void |
setPreview(boolean preview)
是否需要带上header
setDataSource之前生效
|
void |
setRendererFactory(DefaultRenderersFactory rendererFactory) |
void |
setScreenOnWhilePlaying(boolean screenOn) |
void |
setSeekParameter(SeekParameters seekParameters)
设置seek 的临近帧。
|
void |
setSpeed(float speed,
float pitch)
倍速播放
|
void |
setSurface(android.view.Surface surface) |
void |
setTrackSelector(MappingTrackSelector trackSelector) |
void |
setVolume(float leftVolume,
float rightVolume) |
void |
setWakeMode(android.content.Context context,
int mode) |
void |
start() |
void |
stop() |
void |
stopPlayback() |
public static int ON_POSITION_DISCOUNTINUITY
protected android.content.Context mAppContext
protected SimpleExoPlayer mInternalPlayer
protected EventLogger mEventLogger
protected DefaultRenderersFactory mRendererFactory
protected MediaSource mMediaSource
protected MappingTrackSelector mTrackSelector
protected LoadControl mLoadControl
protected java.lang.String mDataSource
protected android.view.Surface mSurface
protected java.util.Map<java.lang.String,java.lang.String> mHeaders
protected PlaybackParameters mSpeedPlaybackParameters
protected int mVideoWidth
protected int mVideoHeight
protected int lastReportedPlaybackState
protected boolean isLastReportedPlayWhenReady
protected boolean isPreparing
protected boolean isBuffering
protected boolean isLooping
protected boolean isPreview
protected boolean isCache
protected ExoSourceManager mExoHelper
protected java.io.File mCacheDir
protected int audioSessionId
public void setDisplay(android.view.SurfaceHolder sh)
public void setSurface(android.view.Surface surface)
public void setDataSource(android.content.Context context,
android.net.Uri uri,
java.util.Map<java.lang.String,java.lang.String> headers)
public void setDataSource(java.lang.String path)
public void setDataSource(android.content.Context context,
android.net.Uri uri)
public void setDataSource(java.io.FileDescriptor fd)
public java.lang.String getDataSource()
public void prepareAsync()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void start()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void stop()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void pause()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void setWakeMode(android.content.Context context,
int mode)
public void setScreenOnWhilePlaying(boolean screenOn)
public IjkTrackInfo[] getTrackInfo()
public int getVideoWidth()
public int getVideoHeight()
public boolean isPlaying()
public void seekTo(long msec)
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic long getCurrentPosition()
public long getDuration()
public int getVideoSarNum()
public int getVideoSarDen()
public void reset()
public void setLooping(boolean looping)
public boolean isLooping()
public void setVolume(float leftVolume,
float rightVolume)
public int getAudioSessionId()
public MediaInfo getMediaInfo()
public void setLogEnabled(boolean enable)
public boolean isPlayable()
public void setAudioStreamType(int streamtype)
public void setKeepInBackground(boolean keepInBackground)
public void release()
protected void prepareAsyncInternal()
public java.lang.String getOverrideExtension()
public void setOverrideExtension(java.lang.String overrideExtension)
public void stopPlayback()
public void setPreview(boolean preview)
preview - public boolean isPreview()
public boolean isCache()
public void setSeekParameter(SeekParameters seekParameters)
public void setCache(boolean cache)
cache - public java.io.File getCacheDir()
public void setCacheDir(java.io.File cacheDir)
cacheDir - public MediaSource getMediaSource()
public void setMediaSource(MediaSource mediaSource)
public ExoSourceManager getExoHelper()
public void setSpeed(float speed,
float pitch)
speed - 倍速播放,默认为1pitch - 音量缩放,默认为1,修改会导致声音变调public float getSpeed()
public int getBufferedPercentage()
public void onTimelineChanged(Timeline timeline,
java.lang.Object manifest,
int reason)
public MappingTrackSelector getTrackSelector()
public void setTrackSelector(MappingTrackSelector trackSelector)
public LoadControl getLoadControl()
public void setLoadControl(LoadControl loadControl)
public DefaultRenderersFactory getRendererFactory()
public void setRendererFactory(DefaultRenderersFactory rendererFactory)
public void onTracksChanged(TrackGroupArray trackGroups,
TrackSelectionArray trackSelections)
public void onLoadingChanged(boolean isLoading)
public void onPlayerStateChanged(boolean playWhenReady,
int playbackState)
public void onRepeatModeChanged(int repeatMode)
public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled)
public void onPlayerError(ExoPlaybackException error)
public void onPositionDiscontinuity(int reason)
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters)
public void onSeekProcessed()
public void onPlayerStateChanged(EventTime eventTime,
boolean playWhenReady,
int playbackState)
public void onTimelineChanged(EventTime eventTime,
int reason)
public void onPositionDiscontinuity(EventTime eventTime,
int reason)
public void onSeekStarted(EventTime eventTime)
public void onSeekProcessed(EventTime eventTime)
public void onPlaybackParametersChanged(EventTime eventTime,
PlaybackParameters playbackParameters)
public void onRepeatModeChanged(EventTime eventTime,
int repeatMode)
public void onShuffleModeChanged(EventTime eventTime,
boolean shuffleModeEnabled)
public void onLoadingChanged(EventTime eventTime,
boolean isLoading)
public void onPlayerError(EventTime eventTime,
ExoPlaybackException error)
public void onTracksChanged(EventTime eventTime,
TrackGroupArray trackGroups,
TrackSelectionArray trackSelections)
public void onLoadStarted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onLoadCompleted(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onLoadCanceled(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onLoadError(EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData,
java.io.IOException error,
boolean wasCanceled)
public void onDownstreamFormatChanged(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onUpstreamDiscarded(EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData)
public void onMediaPeriodCreated(EventTime eventTime)
public void onMediaPeriodReleased(EventTime eventTime)
public void onReadingStarted(EventTime eventTime)
public void onBandwidthEstimate(EventTime eventTime,
int totalLoadTimeMs,
long totalBytesLoaded,
long bitrateEstimate)
public void onMetadata(EventTime eventTime,
Metadata metadata)
public void onDecoderEnabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters)
public void onDecoderInitialized(EventTime eventTime,
int trackType,
java.lang.String decoderName,
long initializationDurationMs)
public void onDecoderInputFormatChanged(EventTime eventTime,
int trackType,
Format format)
public void onDecoderDisabled(EventTime eventTime,
int trackType,
DecoderCounters decoderCounters)
public void onAudioSessionId(EventTime eventTime,
int audioSessionId)
public void onAudioUnderrun(EventTime eventTime,
int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs)
public void onDroppedVideoFrames(EventTime eventTime,
int droppedFrames,
long elapsedMs)
public void onVideoSizeChanged(EventTime eventTime,
int width,
int height,
int unappliedRotationDegrees,
float pixelWidthHeightRatio)
public void onRenderedFirstFrame(EventTime eventTime,
android.view.Surface surface)
public void onDrmKeysLoaded(EventTime eventTime)
public void onDrmSessionManagerError(EventTime eventTime,
java.lang.Exception error)
public void onDrmKeysRestored(EventTime eventTime)
public void onDrmKeysRemoved(EventTime eventTime)