很多開發者在開發RTSP或RTMP播放器的時候,不曉得哪些event回調事件是有意義的,針對此,我們以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端為例,簡單介紹下常用的event id,總的來說,有以下幾個部分組成:
1. 正常網絡狀态顯示:如開始播放、網絡中斷、重連、收不到媒體資料等;
2. 視訊寬高資訊回調:用于上層顯示回調的分辨率資訊;
3. 快速切換url:如播放過程中,切換其他url時,分辨率發生變化,給到回調事件;
4. 錄像狀态:如開始錄像、錄像完成;
5. 實時快照:傳回快照狀态和快照存放路徑;
6. 資料緩沖狀态:如開始buffering、buffering percent、停止buffering;
7. 流實時下載下傳回調:顯示播放rtsp或rtmp流時,實時流量,注意,這塊最好是可設定回調時間間隔,防止不必要的資源消耗;
8. RTSP錯誤狀态:如401鑒權不通過。
以下接口定義可供參考:
Android 播放端 SDK Event 回調說明
事件 ID
事件描述
EVENT_DANIULIVE_ERC_PLAYER_STARTED
開始播放
EVENT_DANIULIVE_ERC_PLAYER_CONNECTING
播放端連接配接中
EVENT_DANIULIVE_ERC_PLAYER_CONNECTION_FAILED
播放端連接配接失敗
EVENT_DANIULIVE_ERC_PLAYER_CONNECTED
播放端連接配接成功
EVENT_DANIULIVE_ERC_PLAYER_DISCONNECTED
播放端連接配接斷開
EVENT_DANIULIVE_ERC_PLAYER_STOP
停止播放
EVENT_DANIULIVE_ERC_PLAYER_RESOLUTION_INFO
傳回視訊寬、高資訊
EVENT_DANIULIVE_ERC_PLAYER_NO_MEDIADATA_RECEIVED
收不到媒體資料(可能
是 URL錯誤)
EVENT_DANIULIVE_ERC_PLAYER_SWITCH_URL
快速切換 URL
EVENT_DANIULIVE_ERC_PLAYER_RECORDER_START_NEW_FILE
開始一個新的錄像檔案
(param3 傳回包含錄像
路徑在内的錄像檔案
名)
EVENT_DANIULIVE_ERC_PLAYER_ONE_RECORDER_FILE_FINISHED
已生成一個錄像檔案
EVENT_DANIULIVE_ERC_PLAYER_CAPTURE_IMAGE
播放端實時快照
EVENT_DANIULIVE_ERC_PLAYER_START_BUFFERING
開始緩沖資料
EVENT_DANIULIVE_ERC_PLAYER_BUFFERING
緩沖中(param1 參數
會傳回緩沖百分比)
EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING
停止緩沖資料
EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED
傳回目前 RTSP/RTMP 流
實時下載下傳速度
EVENT_DANIULIVE_ERC_PLAYER_RTSP_STATUS_CODE
RTSP 收到錯誤碼,可能
是使用者名、密碼不對