ExoPlayerImpl.java 文件源码

java
阅读 51 收藏 0 点赞 0 评论 0

项目:PlusGram 作者:
/**
 * Constructs an instance. Must be invoked from a thread that has an associated {@link Looper}.
 *
 * @param rendererCount The number of {@link TrackRenderer}s that will be passed to
 *     {@link #prepare(TrackRenderer[])}.
 * @param minBufferMs A minimum duration of data that must be buffered for playback to start
 *     or resume following a user action such as a seek.
 * @param minRebufferMs A minimum duration of data that must be buffered for playback to resume
 *     after a player invoked rebuffer (i.e. a rebuffer that occurs due to buffer depletion, and
 *     not due to a user action such as starting playback or seeking).
 */
@SuppressLint("HandlerLeak")
public ExoPlayerImpl(int rendererCount, int minBufferMs, int minRebufferMs) {
  Log.i(TAG, "Init " + ExoPlayerLibraryInfo.VERSION);
  this.playWhenReady = false;
  this.playbackState = STATE_IDLE;
  this.listeners = new CopyOnWriteArraySet<>();
  this.trackFormats = new MediaFormat[rendererCount][];
  this.selectedTrackIndices = new int[rendererCount];
  eventHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      ExoPlayerImpl.this.handleEvent(msg);
    }
  };
  internalPlayer = new ExoPlayerImplInternal(eventHandler, playWhenReady, selectedTrackIndices,
      minBufferMs, minRebufferMs);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号