使用適用於安卓的原生 SDK 來了解事件

在本主題中,您將了解 Android 版原生 SDK 觸發和接聽的最常見事件。

簡介

Android的Native SDK使用事件驅動模型,該模型偵聽視頻播放器的用戶操作。

事件驅動模型

在傳統的編程模型中,流程是靜態的,由程序員預先定義。在事件驅動模型中,沒有預設流程。而是由事件(例如用戶操作)確定流。通常有一個主循環,用於偵聽事件並觸發回調函數。

事件驅動流程圖
事件驅動的流程

活動

在使用適用於Android的Brightcove Player SDK時,您可以利用預定義的事件來控制應用程序中的功能。因為事件只是字符串文字,所以您可以輕鬆創建和使用自己的事件。

適用於Android的Brightcove Player SDK中的事件表示可以通過一系列偵聽器傳遞的狀態或動作。所有事件都有一個類型和與其關聯的屬性映射。可以阻止事件在偵聽器鏈中傳播,也可以指示事件以防止其在視頻播放類中成為默認偵聽器。

事件可以表示狀態或正在發生的動作。例如,事件類型DID_SEEK_TO 代表動作狀態SEEK_TO

有關預定義事件的完整列表,請選擇以下圖像:

安卓事件類型
安卓事件類型

事件發射器

光明灣BaseVideoView旨在替代Android本機VideoView。這節課也開始事件發射器將所有SDK組件捆綁在一起。當用戶與視頻視圖互動時,EventEmitter 發出事件,例如播放,暫停等。對每個事件感興趣的組件可以偵聽它們並對其採取行動。

可以添加插件,這些插件在希望SDK執行某些操作時偵聽並發出事件。

Native SDK提供了預定義的事件來控制您的應用程序,但是您可以輕鬆創建和使用自己的事件。

也可以創建自己的事件發射器並指示BrightcoveExoPlayerVideoView使用它。如果要控制一系列偵聽器,這很有用。

元件與事件

對於Android的Brightcove SDK中的每個組件,您都可以找到與之關聯的所有事件。為此,請按照下列步驟操作:

  1. 導航到適用於Android的Brightcove Player SDK參考。
  2. 在左側菜單中,選擇一個組件。
  3. 在組件類詳細信息部分,您將找到此組件發出和監聽的事件的列表。
    組件和事件
    元件與事件

常見播放事件

這些圖顯示了一些常見的播放事件以及它們如何與Brightcove Player SDK for Android中的組件進行交互。

添加()/設置()方法事件

此圖顯示了與add(Video) addAll(Collection) setVideoPath() setVideoURI() 方法。

添加()/設置()方法事件
添加()/設置()方法事件

開始 () 方法事件

此圖顯示了與start() 方法。

開始 () 方法事件
開始 () 方法事件

搜尋 () 方法事件

此圖顯示了與seekTo() 方法。

搜尋 () 方法事件
搜尋 () 方法事件

暫停()方法事件

此圖顯示了與pause() 方法。

暫停()方法事件
暫停()方法事件

停止播放 () 方法事件

此圖顯示了與stopPlayback() 方法。

停止播放 () 方法事件
停止播放 () 方法事件

常見的廣告活動

在您的應用中,您可以通過Brightcove Player SDK for Android監聽並採取一系列廣告活動。

IMA 廣告活動

此圖顯示了Google IMA廣告插件的廣告事件。在exoplayer示例中會監聽以下廣告事件:AdRulesIMASampleApp

IMA 廣告活動
IMA 廣告活動

常見的廣告活動

以下是來自Brightcove Player SDK for Android的常見廣告事件的列表,您可以監聽並採取以下行動:

代碼示例

廣告中斷開始後,EventType.AD_BREAK_STARTED事件被發出。廣告中斷結束後,EventType.AD_BREAK_COMPLETED被發射。

您可以聽事件並對其做出反應,如下所示:

eventEmitter.on(EventType.AD_BREAK_STARTED, new EventListener() {
	@Override
	public void processEvent(Event event) {
		// React to the event
	}
});

eventEmitter.on(EventType.AD_BREAK_COMPLETED, new EventListener() {
	@Override
	public void processEvent(Event event) {
		// React to the event
	}
});

您可以通過執行以下操作來發出事件:

eventEmitter.emit(EventType.STOP);
 

現在,您已對Android的Brightcove Player SDK有了基本的了解。接下來,您可以逐步說明建置使用 Player SDK 的應用程式的步驟。