全部產品
Search
文件中心

ApsaraVideo Live:標準直播播放

更新時間:Aug 14, 2025

阿里雲Android播放器SDK支援標準直播播放(RTMP/FLV/HLS等格式),本文介紹標準直播播放的實現方法。

重要

更多功能、API文檔及常見問題,請參考Android播放器

操作步驟

步驟一:整合SDK

請參考Android播放器整合SDK進行整合。

步驟二:實現直播播放

  1. 快速開始。

    請參考Android播放器快速開始實現基礎播放功能。

  2. 設定直播播放源。

    Android播放器SDK支援2種直播播放方式,UrlSource播放和加密播放。

    直播UrlSource播放

    使用UrlSource播放方式播放直播視頻,需要將播放器的setUrl屬性設定為直播拉流地址。播放地址可以是第三方直播地址或阿里雲直播服務中的拉流地址。

    阿里雲直播拉流地址可以通過直播控制台的地址產生器產生。詳情請參見直播地址產生器

    UrlSource urlSource = new UrlSource();
            urlSource.setUri("播放地址");// 播放地址,可以是第三方直播地址,或阿里雲直播服務中的拉流地址。
            aliPlayer.setDataSource(urlSource);

    直播DRM加密播放

    直播DRM加密播放請參見如何播放加密視頻

  3. 設定多清晰度。

    說明
    • 支援阿里雲ApsaraVideo for Live的播放地址或經直播轉碼後(現支援通用轉碼和自訂轉碼)的轉碼流地址,直播轉碼詳情請參見轉碼管理;地址擷取方式請參見產生推流地址和播放地址

    • 支援ARTC協議和FLV協議的直播流的不同清晰度切換。

    • 推流的gop size需要設定為1s或2s,過大會導致切流跳變。

    • 播放網域名稱需開啟選項:FLV播放時輸出RTMP時間戳記、上遊斷流後輸出RTMP時間戳記;轉碼配置需開啟選項:時間戳記隨源、主要畫面格隨源,否則會導致切流卡頓或失敗。如需開啟請提交工單申請。

    • 切換到不符合上述要求的流地址時,會切換失敗。

    切換清晰度

    通過switchStream方法切換清晰度,傳遞對應新清晰度的URL即可。

    aliPlayer.switchStream(newUrl);

    清晰度切換通知

    清晰度切換成功與失敗回調。

    aliPlayer.setOnStreamSwitchedListener(new IPlayer.OnStreamSwitchedListener() {
        @Override
        public void onSwitchedSuccess(String url) {
            Log.i("SwitchStream", "switch success, url = " + url);
        }
    
        @Override
        public void onSwitchedFail(String url, ErrorInfo errorInfo) {
            Log.i("SwitchStream", "switch failed, url = " + url + ", error=" + errorInfo.getMsg());
        }
    });