概覽
Native Player SDK提供類似於Brightcove Web Player的播放器控件,以在各個平台上提供一致的用戶體驗。您可以使用現成的Brightcove播放器控件,也可以使用自己的顏色,樣式和按鈕自定義它們。
默認播放器控件
當您使用適用於Android的Brightcove Player SDK創建應用程序時,應從以下任一選項開始BrightcovePlayer
或者BrightcovePlayerFragment
類。
擴展BrightcovePlayer
在您的應用代碼中,擴展MainActivity
來自上述類別之一的類別。例如:
public class MainActivity extends BrightcovePlayer {
}
現在,您可以在代碼中實例化視頻視圖了。
實例化BrightcoveVideoView
在裡面MainActivity.java
文件,並在onCreate()
方法,添加以下代碼:
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
brightcoveVideoView = (BrightcoveExoPlayerVideoView) findViewById(R.id.brightcove_video_view);
super.onCreate(savedInstanceState);
}
您的玩家控制項應該如下所示:
自定義播放器控件
Brightcove播放器控件提供對字幕,視頻倒帶和全屏模式的支持。您還可以選擇動畫樣式以顯示和隱藏控件。
變更控制顏色
易於自定義,您可以更改Brightcove播放器控件的顏色以匹配您公司的品牌材料。
- 在你的 MainActivity.java 文件中使用相同的代碼,如上所述。
- 在你的src / main / res / values / colors.xml要么res / values / strings.xml文件,包括以下代碼:
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- Define the new colors. --> <color name="bc_orange">#F3951D</color> <color name="magenta_semi_trans">#4DFF00FF</color> <!-- Change the progress colors to magenta/black/orange, all transparent. --> <color name="bmc_seekbar_played">@color/magenta_semi_trans</color> <color name="bmc_seekbar_buffered">@color/black_semi_trans</color> <color name="bmc_seekbar_track">@color/bc_orange</color> </resources>
您的玩家控制項應該如下所示:
更改播放器控件中的圖標和按鈕
要進一步自定義Brightcove播放器控件,您可以交換圖標並添加自己的按鈕以匹配公司風格。
- 在你的 MainActivity.java 文件中使用相同的代碼,如上所述。
- 在你的src / main / res / values / strings.xml文件,包括以下代碼:
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- Use the Font Awesome fa-stepbackward icon for the rewind button face. --> <string name="brightcove_controls_rewind"></string> </resources>
您的玩家控制項應該如下所示:
有關完整的代碼示例,請參見適用於Android示例的Brightcove播放器控件。
顯示/隱藏播放器控件
在視頻播放期間,可以通過三種方式顯示和隱藏播放器控件:
-
用戶可以在設備屏幕上點擊以在顯示和隱藏控件之間切換播放器控件。
-
您可以使用
BrightcoveMediaController
類。這是一個如何顯示已定義的播放頭位置範圍的播放器控件的示例。brightcoveVideoView.getEventEmitter().on(EventType.PROGRESS, new EventListener() { @Override public void processEvent(Event event) { int playheadPosition = brightcoveVideoView.getCurrentPosition(); if(playheadPosition > 24000 && playheadPosition < 29000) { BrightcoveMediaController controller = brightcoveVideoView.getBrightcoveMediaController(); controller.show(); } } });
-
您可以按如下方式使用事件:
import static com.brightcove.player.mediacontroller.ShowHideController.SHOW_MEDIA_CONTROLS; import static com.brightcove.player.mediacontroller.ShowHideController.HIDE_MEDIA_CONTROLS; ... eventEmitter.emit(HIDE_MEDIA_CONTROLS); eventEmitter.emit(SHOW_MEDIA_CONTROLS);
禁用播放器控件
在設計應用佈局和功能時,可能需要關閉播放器控件。可以通過設置MediaController
為null,如下所示:
@
Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_player, container, false);
brightcoveVideoView = (BrightcoveExoPlayerVideoView) rootView.findViewById(R.id.brightcove_video_view);
super.onCreateView(inflater, container, savedInstanceState); // Need to be called after brightcoveVideoView is set.
brightcoveVideoView.setMediaController((MediaController) null); // Need to be called after onCreateView.
return rootView;
}
本示例使用BrightcovePlayerFragment
。
手動控制全屏模式
通常,用戶將通過點擊控制欄中的全屏按鈕來控制全屏查看。有時您可能想用代碼手動控制此功能。
要設置全屏模式,請使用以下代碼:
brightcoveVideoView.getEventEmitter().emit(EventType.ENTER_FULL_SCREEN);
要退出全屏模式,請使用以下代碼:
brightcoveVideoView.getEventEmitter().emit(EventType.EXIT_FULL_SCREEN);
有關事件類型的完整列表,請參見適用於Android的Player SDK,然後導航到事件類型班級文件。
或者,您可以使用fullScreen()
和normalScreen()
方法。您可以在適用於Android的Player SDK,然後導航到BrightcovePlayer班級文件。
瀏覽SDK屬性值
要獲取完整的值列表,包括數組,顏色,尺寸,id,整數,字符串和样式,請執行以下操作:
- 找到android-native-player-public-xxxzip文件並解壓縮。
-
在裡面sdk文件夾,打開android-sdk-xxxaar文件。
- 打開res / values / values.xml文件。在這裡,您將找到可以在應用程序中引用的值的列表。