天天看點

RTSP播放器或RTMP播放器常用的事件回調設計

很多開發者在開發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 收到錯誤碼,可能

是使用者名、密碼不對