参考网站
中文:https://developer.android.google.cn/media/media3/exoplayer/mappings?authuser=3&hl=zh-cn
英文:https://developer.android.google.cn/media/media3/exoplayer/migration-guide?hl=en&authuser=0
主体 替换
ExoPlayer | Media3 |
---|---|
com.google.android.exoplayer2 | androidx.media3.exoplayer |
com.google.android.exoplayer2.upstream.DataSource | androidx.media3.datasource.DataSource |
com.google.android.exoplayer2.source.hls.HlsMediaSource | androidx.media3.exoplayer.hls.HlsMediaSource |
com.google.android.exoplayer2.Timeline | androidx.media3.common.Timeline |
com.google.android.exoplayer2.Player | androidx.media3.common.Player |
com.google.android.exoplayer2.PlaybackParameters | androidx.media3.common.PlaybackParameters |
com.google.android.exoplayer2.upstream.DefaultDataSourceFactory | androidx.media3.datasource.DefaultDataSourceFactory |
com.google.android.exoplayer2.util.Util | androidx.media3.common.util.Util |
com.google.android.exoplayer2.C | androidx.media3.common.C |
com.google.android.exoplayer2.SimpleExoPlayer | androidx.media3.exoplayer.ExoPlayer |
com.google.android.exoplayer2.video.VideoListener | simpleExoPlayer.addVideoListener替换为Player.Listener;SimpleExoPlayer替换为ExoPlayer |
gradle修改
1)主体库
implementation ‘com.google.android.exoplayer:exoplayer:2.12.1’
替换为(以1.3.1为例)
implementation ‘androidx.media3:media3-exoplayer:1.3.1’
implementation ‘androidx.media3:media3-exoplayer-dash:1.3.1’
implementation ‘androidx.media3:media3-ui:1.3.1’
2)如果有hls类库,需要添加下面的
implementation ‘androidx.media3:media3-exoplayer-hls:1.3.1’
类修改
SimpleExoPlayer已淘汰,替换为ExoPlayer
TrackSelection.Factory替换为ExoTrackSelection.Factory
new DefaultLoadControl.Builder().createDefaultLoadControl();替换为new DefaultLoadControl.Builder().build();
new HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(uri)替换为new HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(MediaItem.fromUri(uri)
Player.EventListener, VideoListener 替换为Player.Listener
重载函数替换
onPlaybackStateChanged(boolean,int) 替换为 onPlayWhenReadyChanged(boolean, int) instead
onPlayerError(ExoPlaybackException error)替换为onPlayerError(PlaybackException error)
onSeekProcessed()替换为onSeekBackIncrementChanged(long seekBackIncrementMs)和onSeekForwardIncrementChanged(long seekForwardIncrementMs)
onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio)替换为onVideoSizeChanged(VideoSize videoSize)
onTimelineChanged(final Timeline timeline, Object manifest, final int reason)替换为onTimelineChanged(Timeline timeline, int reason)
onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections)替换为onTracksChanged(Tracks tracks)