安卓:了解最亮麗的玩家兵種

在本主題中,您將了解 BrightCovePlayer 類別,以及它如何提供基本的生命週期管理。

BrightcovePlayer類

BrightcovePlayer類駐留在Android的核心Brightcove SDK中,並擴展了Android的活動類。

作為基本ActivityBrightcovePlayer類包裝一個BrightcoveExoPlayerVideoView並設置一個EventLogger和默認MediaController。它實現了基本的生命週期管理和全屏邏輯。它應該被子類化。

public class MainActivity extends BrightcovePlayer {
...
}

至少onCreate()方法應使用邏輯來覆蓋BrightcoveExoPlayerVideoView變量layout.xml文件。例如:

brightcoveVideoView = (BrightcoveExoPlayerVideoView) findViewById(R.id.brightcove_video_view);

有關實現的詳細信息,請參見BasicSampleApp代碼示例。

支持庫組件

如果您選擇不使用BrightcovePlayer班級BrightcovePlayerActivityBrightcovePlayerFragment課程可供您使用。要使用這兩個類之一,您需要添加appcompat您的插件build.gradle文件如下:

implementation "com.brightcove.player:android-appcompat-plugin:${anpVersion}"

BrightcovePlayerFragment類

BrightcovePlayerFragment類擴展了android.support.v4.app.Fragment類。

如果要將Brightcove Player與佈局中的其他設計元素結合在一起,則可以使用BrightcovePlayerFragment類。當為平板電腦或更大的屏幕(具有更多的空間來組合UI組件)進行設計時,這很有用。例如,使用平板電腦,您可以同時顯示多個片段,它們都位於同一活動中。

public class MainFragment extends BrightcovePlayerFragment {
...
}

onCreateView()應該擴展以將片段的佈局連接到baseVideoView調用前的實例變量super.onCreateView()

baseVideoView = (BaseVideoView) result.findViewById(R.id.brightcove_video_view);

有關實現的詳細信息,請參見AppCompatFragmentSampleApp代碼示例。

BrightcovePlayerActivity類

BrightcovePlayer活動類擴展了android.support.v7.app.AppCompatActivity類。

如果您選擇使用活動,則可以使用BrightcovePlayerActivity類。

public class MainActivity extends BrightcovePlayerActivity {
...
}

有關實現的詳細信息,請參見AppCompatActivitySampleApp代碼示例。

生命週期管理

最佳做法是從BrightcovePlayer活動或BrightcovePlayerFragment,因為它們提供了默認的生命週期管理實施,包括以下內容:

  • 當用戶暫停應用程序時,該類會跟踪他們停止的位置。
  • 當您的應用從後台返回時,班級會記住視頻是否正在播放,並從中斷處重新開始播放。
  • 如果您的應用由於內存問題而被終止,則該課程將嘗試在視頻中計時至原處。
  • 設置了事件記錄器,該事件記錄器將所有事件記錄到logcat中。這對於調試很有幫助。
  • 該類調度事件以與插件進行通信。
 

現在您已經有了一個活動,您可以選擇一個視頻視圖,如下一個文檔中所述。