Exoplayer2學(xué)習(xí)--新建ExoPlayer

首先是引入exoplayer2庫
...
implementation 'com.google.android.exoplayer:exoplayer-core:2.6.0'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.6.0'
...

目前官方庫中自帶了兩種Exoplayer實(shí)現(xiàn), 分別是SimpleExoPlayer和ExoPlayerImpl.

實(shí)際上在SimpleExoPlayer內(nèi)部, 其播放功能是委托給ExoPlayerImpl實(shí)現(xiàn)的.

private final ExoPlayer player;
// Build the player and associated objects.
player = createExoPlayerImpl(renderers, trackSelector, loadControl);
....
protected ExoPlayer createExoPlayerImpl(Renderer[] renderers, TrackSelector trackSelector,
  LoadControl loadControl) {
    return new ExoPlayerImpl(renderers, trackSelector, loadControl);
}

問題: SimpleExoPlayer與ExoPlayerImpl有什么區(qū)別? 在功能上有什么不同 ? 實(shí)際使用時(shí)應(yīng)該怎么選擇?
-- 如果沒有特殊需求, SimpleExoPlayer就能滿足基本功能了, 不需要自定義

ExoPlayer的創(chuàng)建是通過工廠類ExoPlayerFactory來實(shí)現(xiàn)的. 里面重載了各種參數(shù)的創(chuàng)建方法, 下面是最簡(jiǎn)單的一個(gè):

/**
* Creates a {@link SimpleExoPlayer} instance.
*
* @param context A {@link Context}.
* @param trackSelector The {@link TrackSelector} that will be used by the instance.
*/
public static SimpleExoPlayer newSimpleInstance(Context context, TrackSelector     trackSelector) {
  return newSimpleInstance(new DefaultRenderersFactory(context), trackSelector);
}


 /**
  * Creates an {@link ExoPlayer} instance.
  *
  * @param renderers The {@link Renderer}s that will be used by the instance.
  * @param trackSelector The {@link TrackSelector} that will be used by the instance.
 */
 public static ExoPlayer newInstance(Renderer[] renderers, TrackSelector trackSelector) {
   return newInstance(renderers, trackSelector, new DefaultLoadControl());
 }

代碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,324評(píng)論 25 708
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,898評(píng)論 2 45
  • 在Grace姐姐的推薦下,我看了維克多·弗蘭克爾的《活出生命的意義》。前天早上開始到昨晚,在公交車上或是偶爾的閑暇...
    Enenccyin閱讀 649評(píng)論 0 0
  • 我們一路前行來到甘孜的佐欽寺,參加了白馬堂的開光儀式。 一行人驅(qū)車三天來到佐欽寺,一路艱辛除了我...
    朵朵頤閱讀 469評(píng)論 0 0
  • 隨著秋招開始,很多大四的學(xué)生積極得參加招聘會(huì),這就像是馬是騾子出去溜一圈就知道了,果然如此,積極進(jìn)取得同學(xué)很容易找...
    星海如夢(mèng)閱讀 231評(píng)論 0 0

友情鏈接更多精彩內(nèi)容