提交 c60eb1d8 编写于 作者: G guoshuyu

update SimpleExoPlayer.Builder

上级 44f39e7e
...@@ -16,7 +16,6 @@ import com.google.android.exoplayer2.C; ...@@ -16,7 +16,6 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.DefaultLoadControl; import com.google.android.exoplayer2.DefaultLoadControl;
import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.DefaultRenderersFactory;
import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.LoadControl; import com.google.android.exoplayer2.LoadControl;
import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.PlaybackParameters;
...@@ -48,8 +47,8 @@ import tv.danmaku.ijk.media.player.misc.IjkTrackInfo; ...@@ -48,8 +47,8 @@ import tv.danmaku.ijk.media.player.misc.IjkTrackInfo;
/** /**
Created by guoshuyu on 2018/1/10. * Created by guoshuyu on 2018/1/10.
Exo * Exo
*/ */
public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.EventListener, AnalyticsListener { public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.EventListener, AnalyticsListener {
...@@ -77,23 +76,23 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -77,23 +76,23 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
protected boolean isBuffering = false; protected boolean isBuffering = false;
protected boolean isLooping = false; protected boolean isLooping = false;
/** /**
是否带上header * 是否带上header
*/ */
protected boolean isPreview = false; protected boolean isPreview = false;
/** /**
是否开启缓存 * 是否开启缓存
*/ */
protected boolean isCache = false; protected boolean isCache = false;
/** /**
dataSource等的帮组类 * dataSource等的帮组类
*/ */
protected ExoSourceManager mExoHelper; protected ExoSourceManager mExoHelper;
/** /**
缓存目录,可以为空 * 缓存目录,可以为空
*/ */
protected File mCacheDir; protected File mCacheDir;
/** /**
类型覆盖 * 类型覆盖
*/ */
private String mOverrideExtension; private String mOverrideExtension;
...@@ -360,7 +359,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -360,7 +359,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
if (mLoadControl == null) { if (mLoadControl == null) {
mLoadControl = new DefaultLoadControl(); mLoadControl = new DefaultLoadControl();
} }
mInternalPlayer = ExoPlayerFactory.newSimpleInstance(mAppContext, mRendererFactory, mTrackSelector, mLoadControl, null, Looper.getMainLooper()); mInternalPlayer = new SimpleExoPlayer.Builder(mAppContext, mRendererFactory)
.setLooper(Looper.getMainLooper())
.setTrackSelector(mTrackSelector)
.setLoadControl(mLoadControl).build();
mInternalPlayer.addListener(IjkExo2MediaPlayer.this); mInternalPlayer.addListener(IjkExo2MediaPlayer.this);
mInternalPlayer.addAnalyticsListener(IjkExo2MediaPlayer.this); mInternalPlayer.addAnalyticsListener(IjkExo2MediaPlayer.this);
mInternalPlayer.addListener(mEventLogger); mInternalPlayer.addListener(mEventLogger);
...@@ -390,10 +392,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -390,10 +392,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
} }
/** /**
是否需要带上header * 是否需要带上header
setDataSource之前生效 * setDataSource之前生效
*
@param preview * @param preview
*/ */
public void setPreview(boolean preview) { public void setPreview(boolean preview) {
isPreview = preview; isPreview = preview;
...@@ -409,7 +411,7 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -409,7 +411,7 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
/** /**
设置seek 的临近帧。 * 设置seek 的临近帧。
**/ **/
public void setSeekParameter(@Nullable SeekParameters seekParameters) { public void setSeekParameter(@Nullable SeekParameters seekParameters) {
mInternalPlayer.setSeekParameters(seekParameters); mInternalPlayer.setSeekParameters(seekParameters);
...@@ -417,10 +419,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -417,10 +419,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
/** /**
是否开启cache * 是否开启cache
setDataSource之前生效 * setDataSource之前生效
*
@param cache * @param cache
*/ */
public void setCache(boolean cache) { public void setCache(boolean cache) {
isCache = cache; isCache = cache;
...@@ -431,10 +433,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -431,10 +433,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
} }
/** /**
cache文件的目录 * cache文件的目录
setDataSource之前生效 * setDataSource之前生效
*
@param cacheDir * @param cacheDir
*/ */
public void setCacheDir(File cacheDir) { public void setCacheDir(File cacheDir) {
this.mCacheDir = cacheDir; this.mCacheDir = cacheDir;
...@@ -453,10 +455,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev ...@@ -453,10 +455,10 @@ public class IjkExo2MediaPlayer extends AbstractMediaPlayer implements Player.Ev
} }
/** /**
倍速播放 * 倍速播放
*
@param speed 倍速播放,默认为1 * @param speed 倍速播放,默认为1
@param pitch 音量缩放,默认为1,修改会导致声音变调 * @param pitch 音量缩放,默认为1,修改会导致声音变调
*/ */
public void setSpeed(@Size(min = 0) float speed, @Size(min = 0) float pitch) { public void setSpeed(@Size(min = 0) float speed, @Size(min = 0) float pitch) {
PlaybackParameters playbackParameters = new PlaybackParameters(speed, pitch); PlaybackParameters playbackParameters = new PlaybackParameters(speed, pitch);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册