-
- All Implemented Interfaces:
-
androidx.media3.common.Player.Listener,androidx.media3.exoplayer.analytics.AnalyticsListener,tv.danmaku.ijk.media.player.IMediaPlayer
public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Listener, AnalyticsListener
Created by guoshuyu on 2018/1/10. Exo
-
-
Field Summary
Fields Modifier and Type Field Description public static intON_POSITION_DISCOUNTINUITYprotected booleanisLoopingprotected booleanisPreviewprotected booleanisCacheprotected intaudioSessionId
-
Constructor Summary
Constructors Constructor Description IjkExo2MediaPlayer(Context context)
-
Method Summary
-
Methods inherited from class tv.danmaku.ijk.media.player.AbstractMediaPlayer
resetListeners, setDataSource, setOnBufferingUpdateListener, setOnCompletionListener, setOnErrorListener, setOnInfoListener, setOnPreparedListener, setOnSeekCompleteListener, setOnTimedTextListener, setOnVideoSizeChangedListener -
Methods inherited from class tv.danmaku.ijk.media.player.IMediaPlayer
getAudioSessionId, getCurrentPosition, getDataSource, getDuration, getMediaInfo, getTrackInfo, getVideoHeight, getVideoSarDen, getVideoSarNum, getVideoWidth, isLooping, isPlayable, isPlaying, pause, prepareAsync, release, reset, seekTo, setAudioStreamType, setDisplay, setKeepInBackground, setLogEnabled, setLooping, setScreenOnWhilePlaying, setSurface, setVolume, setWakeMode, start, stop -
Methods inherited from class androidx.media3.common.Player.Listener
onAudioAttributesChanged, onAudioSessionIdChanged, onAvailableCommandsChanged, onCues, onDeviceInfoChanged, onDeviceVolumeChanged, onEvents, onIsLoadingChanged, onIsPlayingChanged, onLoadingChanged, onMaxSeekToPreviousPositionChanged, onMediaItemTransition, onMediaMetadataChanged, onMetadata, onPlayWhenReadyChanged, onPlaybackParametersChanged, onPlaybackStateChanged, onPlaybackSuppressionReasonChanged, onPlayerError, onPlayerErrorChanged, onPlayerStateChanged, onPlaylistMetadataChanged, onPositionDiscontinuity, onRenderedFirstFrame, onRepeatModeChanged, onSeekBackIncrementChanged, onSeekForwardIncrementChanged, onShuffleModeEnabledChanged, onSkipSilenceEnabledChanged, onSurfaceSizeChanged, onTimelineChanged, onTrackSelectionParametersChanged, onTracksChanged, onVideoSizeChanged, onVolumeChanged -
Methods inherited from class androidx.media3.exoplayer.analytics.AnalyticsListener
onAudioCodecError, onAudioDecoderInitialized, onAudioDecoderReleased, onAudioDisabled, onAudioEnabled, onAudioInputFormatChanged, onAudioPositionAdvancing, onAudioSinkError, onAudioTrackInitialized, onAudioTrackReleased, onAudioUnderrun, onBandwidthEstimate, onDownstreamFormatChanged, onDrmKeysLoaded, onDrmKeysRemoved, onDrmKeysRestored, onDrmSessionAcquired, onDrmSessionManagerError, onDrmSessionReleased, onDroppedVideoFrames, onLoadCanceled, onLoadCompleted, onLoadError, onLoadStarted, onPlayerReleased, onSeekStarted, onShuffleModeChanged, onUpstreamDiscarded, onVideoCodecError, onVideoDecoderInitialized, onVideoDecoderReleased, onVideoDisabled, onVideoEnabled, onVideoFrameProcessingOffset, onVideoInputFormatChanged -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
IjkExo2MediaPlayer
IjkExo2MediaPlayer(Context context)
-
-
Method Detail
-
isLooping
boolean isLooping()
-
isPreview
boolean isPreview()
-
isCache
boolean isCache()
-
getAudioSessionId
int getAudioSessionId()
-
getVideoFormat
Format getVideoFormat()
-
getVideoRenderer
Renderer getVideoRenderer()
-
setDisplay
void setDisplay(SurfaceHolder sh)
-
setSurface
void setSurface(Surface surface)
-
setDataSource
void setDataSource(String path)
-
setDataSource
void setDataSource(Context context, Uri uri)
-
setDataSource
void setDataSource(FileDescriptor fd)
-
getDataSource
String getDataSource()
-
prepareAsync
void prepareAsync()
-
start
void start()
-
stop
void stop()
-
pause
void pause()
-
setWakeMode
void setWakeMode(Context context, int mode)
-
setScreenOnWhilePlaying
void setScreenOnWhilePlaying(boolean screenOn)
-
getTrackInfo
Array<IjkTrackInfo> getTrackInfo()
-
getVideoWidth
int getVideoWidth()
-
getVideoHeight
int getVideoHeight()
-
isPlaying
boolean isPlaying()
-
seekTo
void seekTo(long msec)
-
getCurrentPosition
long getCurrentPosition()
-
getDuration
long getDuration()
-
getVideoSarNum
int getVideoSarNum()
-
getVideoSarDen
int getVideoSarDen()
-
reset
void reset()
-
onMetadata
void onMetadata(Metadata metadata)
-
setLooping
void setLooping(boolean looping)
-
setVolume
void setVolume(float leftVolume, float rightVolume)
-
getMediaInfo
MediaInfo getMediaInfo()
-
setLogEnabled
void setLogEnabled(boolean enable)
-
isPlayable
boolean isPlayable()
-
setAudioStreamType
void setAudioStreamType(int streamtype)
-
setKeepInBackground
void setKeepInBackground(boolean keepInBackground)
-
release
void release()
-
getOverrideExtension
String getOverrideExtension()
-
setOverrideExtension
void setOverrideExtension(String overrideExtension)
-
stopPlayback
void stopPlayback()
-
setPreview
void setPreview(boolean preview)
是否需要带上headersetDataSource之前生效
-
setSeekParameter
void setSeekParameter(@Nullable() SeekParameters seekParameters)
设置seek 的临近帧。
-
setCache
void setCache(boolean cache)
是否开启cachesetDataSource之前生效
-
getCacheDir
File getCacheDir()
-
setCacheDir
void setCacheDir(File cacheDir)
cache文件的目录setDataSource之前生效
-
getMediaSource
MediaSource getMediaSource()
-
setMediaSource
void setMediaSource(MediaSource mediaSource)
-
getExoHelper
ExoSourceManager getExoHelper()
-
setSpeed
void setSpeed(@Size(min = 0) float speed, @Size(min = 0) float pitch)
倍速播放
- Parameters:
speed- 倍速播放,默认为1pitch- 音量缩放,默认为1,修改会导致声音变调
-
getSpeed
float getSpeed()
-
getBufferedPercentage
int getBufferedPercentage()
-
getTrackSelector
MappingTrackSelector getTrackSelector()
-
setTrackSelector
void setTrackSelector(MappingTrackSelector trackSelector)
-
getLoadControl
LoadControl getLoadControl()
-
setLoadControl
void setLoadControl(LoadControl loadControl)
-
getRendererFactory
DefaultRenderersFactory getRendererFactory()
-
setRendererFactory
void setRendererFactory(DefaultRenderersFactory rendererFactory)
-
onIsLoadingChanged
void onIsLoadingChanged(boolean isLoading)
-
onPlaybackStateChanged
void onPlaybackStateChanged(int state)
-
onPlayWhenReadyChanged
void onPlayWhenReadyChanged(boolean playWhenReady, int playbackState)
-
onRepeatModeChanged
void onRepeatModeChanged(int repeatMode)
-
onShuffleModeEnabledChanged
void onShuffleModeEnabledChanged(boolean shuffleModeEnabled)
-
onPlayerError
void onPlayerError(@NonNull() PlaybackException error)
-
onPositionDiscontinuity
void onPositionDiscontinuity(Player.PositionInfo oldPosition, Player.PositionInfo newPosition, int reason)
-
onPlaybackParametersChanged
void onPlaybackParametersChanged(PlaybackParameters playbackParameters)
-
onPlayWhenReadyChanged
void onPlayWhenReadyChanged(AnalyticsListener.EventTime eventTime, boolean playWhenReady, int playbackState)
-
onTimelineChanged
void onTimelineChanged(AnalyticsListener.EventTime eventTime, int reason)
-
onPlaybackParametersChanged
void onPlaybackParametersChanged(AnalyticsListener.EventTime eventTime, PlaybackParameters playbackParameters)
-
onRepeatModeChanged
void onRepeatModeChanged(AnalyticsListener.EventTime eventTime, int repeatMode)
-
onShuffleModeChanged
void onShuffleModeChanged(AnalyticsListener.EventTime eventTime, boolean shuffleModeEnabled)
-
onIsLoadingChanged
void onIsLoadingChanged(AnalyticsListener.EventTime eventTime, boolean isLoading)
-
onBandwidthEstimate
void onBandwidthEstimate(AnalyticsListener.EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate)
-
onMetadata
void onMetadata(AnalyticsListener.EventTime eventTime, Metadata metadata)
-
onAudioDisabled
void onAudioDisabled(AnalyticsListener.EventTime eventTime, DecoderCounters counters)
-
onAudioUnderrun
void onAudioUnderrun(AnalyticsListener.EventTime eventTime, int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs)
-
onDroppedVideoFrames
void onDroppedVideoFrames(AnalyticsListener.EventTime eventTime, int droppedFrames, long elapsedMs)
-
onVideoSizeChanged
void onVideoSizeChanged(AnalyticsListener.EventTime eventTime, VideoSize videoSize)
-
onRenderedFirstFrame
void onRenderedFirstFrame(AnalyticsListener.EventTime eventTime, Object output, long renderTimeMs)
-
onDrmKeysLoaded
void onDrmKeysLoaded(AnalyticsListener.EventTime eventTime)
-
onDrmSessionManagerError
void onDrmSessionManagerError(AnalyticsListener.EventTime eventTime, Exception error)
-
onDrmKeysRestored
void onDrmKeysRestored(AnalyticsListener.EventTime eventTime)
-
onDrmKeysRemoved
void onDrmKeysRemoved(AnalyticsListener.EventTime eventTime)
-
-
-
-