概覽
適用於 Android 的 Brightcove Native SDK 在新的主要版本中可用,帶來了重要的架構更改和播放增強功能,包括:
- 安卓 13 兼容性
- 支持純音頻內容
- 媒體風格通知,帶有來自通知欄和鎖屏的可自定義播放控件
- 支持持續播放的持續前台服務
- 改進加載播放列表和預緩衝媒體以獲得更流暢的最終用戶體驗
純音頻內容
適用於 Android 的 Brightcove Native SDK 支持純音頻播放和豐富的播放控件。即使主機應用程序在後台,音頻播放也會繼續播放,讓最終用戶更好地控制他們的聆聽體驗。對音頻播放的支持已與當前的適用於 Android API 的本機 SDK 集成,以確保向後兼容 Brightcove 的所有功能。
有關實現的詳細信息,請參閱 僅使用本機 SDK 的音頻 文檔。
SDK 變更
在此版本的 Android Native SDK 中,添加了以下類以支持與後台播放、ExoPlayer 和媒體樣式通知的持續集成:
MediaPlayback<Player>
BrightcoveNotification
MediaPlaybackService
媒體播放<播放器>
隨著 Native SDK for Android 8.0.0 版本的變化,Brightcove 將播放業務邏輯從View
和Activity
.這個業務邏輯現在存在於新的MediaPlayback
類,使媒體能夠持續超越Activity
生命週期使用ForegroundService
.播放狀態在通知及其相應的視圖之間共享(當應用程序位於前台時)。
Brightcove 在利用 ExoPlayer 的內部播放列表支持方面做出了重大改進。以前,為加載到 SDK 中的每個媒體項創建一個新的 ExoPlayer 實例。
現在,媒體播放增強了預緩衝MediaSource
對於 ExoPlayer。這提高了性能並採用了 ExoPlayer 的Player.Listener
發出重要的播放狀態。
支持前台和後台播放將合併一個FOREGROUND_SERVICE
允許你的Android清單應用構建過程中的文件。此權限是 SDK v8.0.0 的要求。
Brightcove通知
用戶可以使用操作按鈕從通知和鎖定屏幕與播放器交互。默認情況下,通知包括播放、暫停、下一個和上一個操作按鈕。
您可以通過檢索通知實例並設置config
.
BrightcoveExoPlayerVideoView player = findViewById(R.id.player_view);
PlaybackNotification.Config config = new PlaybackNotification.Config(this)
.setUsePlayPauseActions(true)
.setUseNextAction(false)
.setUsePreviousAction(false)
.setUseFastForwardAction(true)
.setUseRewindAction(true);
player.getPlayback().getNotification().setConfig(config);
下表顯示了操作按鈕的默認值和說明:
方法名稱 | 預設值 | 描述 |
---|---|---|
usePlayPauseActions |
True |
設置是否使用播放和暫停動作 |
useRewindAction |
True |
設置是否使用倒帶動作 |
useRewindActionInCompatView |
False |
如果useRewindAction 為真,設置是否在緊湊視圖(包括鎖屏通知)中也使用倒回動作;否則什麼都不做 |
useFastForwardAction |
True |
設置是否使用快進動作 |
useFastForwardActionInCompactView |
False |
如果useFastForwardAction 為真,設置快進動作是否也用於壓縮視圖(包括鎖屏通知);否則什麼都不做 |
usePreviousAction |
True |
是否使用之前的動作 |
usePrevioiusActionInCompatMode |
False |
如果usePreviousAction 為真,設置之前的動作是否也用於壓縮視圖(包括鎖屏通知);否則什麼都不做 |
useNextAction |
True |
是否使用下一個動作 |
useNextActionInCompactView |
False |
如果useNextAction 為真,設置下一個動作是否也用於壓縮視圖(包括鎖屏通知);否則什麼都不做 |
useStopAction |
False |
設置是否使用停止動作 |
通知元數據
默認情況下,通知使用資產的元數據並創建一個隱含的PendingIntent
重新創建您的活動。如果您需要進一步控制通知中顯示的元數據,您可以實現MediaDescriptionAdapter
:
new PlaybackNotification.Config(this)
.setAdapter(new PlaybackNotification.MediaDescriptionAdapter() {
@Override
public CharSequence getCurrentContentTitle(
MediaPlayback playback
) {
// TODO: return the current content title
}
@Override
public Bitmap getCurrentLargeIcon(
MediaPlayback playback,
BitmapCallback callback
) {
// TODO: return the bitmap for currently playing item
}
@Nullable
@Override
public PendingIntent createCurrentContentIntent(
MediaPlayback<?> playback
) {
// TODO: return your custom PendingIntent
}
@Nullable
@Override
public CharSequence getCurrentContentText(
MediaPlayback<?> playback
) {
// TODO: return the current content text
}
@Nullable
@Override
public CharSequence getCurrentSubText(
MediaPlayback<?> playback
) {
// TODO: return the current sub-text.
}
}
);
媒體播放服務
Native SDK for Android 支持專為媒體播放而設計的通知。播放音頻資產時的默認播放器行為是啟動一個新的 ForegroundService ,並帶有媒體控件的持續播放通知。媒體控件顯示在“快速設置”面板下方和鎖定屏幕上:
媒體控件位於鎖定屏幕上和“快速設置”面板下方:
當主機應用程序在後台時,通知允許用戶查看和控製播放。Native SDK 自動處理:
- 加載專輯插圖和元數據
- 操作按鈕(播放/暫停、下一首、上一首、快進、倒帶和停止)
- 活動生命週期事件
您可以使用自定義通知樣式和媒體控件PlaybackNotification.Config
班級。