全部產品
Search
文件中心

ApsaraVideo Live:Flutter播放器

更新時間:Aug 30, 2025

阿里雲Flutter播放器SDK為移動端應用提供高效的音視頻整合解決方案,支援移動端開發人員快速實現直播、點播等核心視頻情境。本文介紹阿里雲Flutter播放器SDK的直播播放功能。

標準直播播放

  1. 整合SDK。

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

  2. 實現直播播放。

    1. 快速開始。

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

    2. 設定直播播放源。

      Flutter播放器SDK僅支援1種直播播放方式,為UrlSource播放。

      直播視頻UrlSource播放

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

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

      void onViewPlayerCreated(viewId) async {
        // 將渲染的View設定給播放器
        fAliplayer.setPlayerView(viewId);
        // 設定播放源
        switch (_playMode) {
          // UrlSource播放方式
          case ModeType.URL:
            this.fAliplayer.setUrl("填寫資源的播放地址"); // 播放地址可以是第三方直播地址,或阿里雲直播服務中的拉流地址。
            break;
          default:
        }
      }

RTS直播播放

說明
  • 在Android或iOS端原生層整合

    Android端整合:在build.gradle檔案中添加依賴即可,樣本如下。

    dependencies{
        def player_sdk_version = "7.2.0"
        def rts_sdk_version = "7.2.0"
        
        // 播放器與RTS的橋接層(AlivcArtc),版本號碼需要與播放器一致,需要和 Rts低延時直播組件 一起整合
        implementation 'com.aliyun.sdk.android:AlivcArtc:$player_sdk_version'
        // Rts低延時直播組件 ,獨立版本號碼
        implementation 'com.aliyun.rts.android:RtsSDK:$rts_sdk_version'
    }

    iOS端整合:在Podfile檔案中添加依賴即可,樣本如下。

    # player_sdk_version為阿里雲iOS播放器SDK的版本號碼,例如:7.2.0
    player_sdk_version = '7.2.0'
    # rts_sdk_version為阿里雲超低延時直播SDK的版本號碼,獨立版本號碼 例如:7.2.0
    rts_sdk_version = '7.2.0'
    
    target 'Runner' do
      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
      # 播放器與RTS的橋接層(AlivcArtc),版本號碼需要與播放器一致,需要和 Rts低延時直播組件 一起整合
      pod 'AliPlayerSDK_iOS_ARTC', player_sdk_version 
      # Rts低延時直播組件
      pod 'RtsSDK', rts_sdk_version  
    
    end

如需播放ARTC流,除了需要在整合時引入RTS相關依賴,Android端還需在建立播放器前調用FlutterAliPlayerFactory.loadRtsLibrary();載入RtsSDK動態庫,樣本如下:

  1. 配置pubspec.yaml檔案。

    name: your project
    description: xxxxx
    version:  1.0.0+1
    
    # The following line prevents the package from being accidentally published to
    # pub.dev using `pub publish`. This is preferred for private packages.
    publish_to: 'none' # Remove this line if you wish to publish to pub.dev
    
    environment:
      sdk: ">=2.15.0 <4.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
    
      // add flutter_aliplayer
      flutter_aliplayer: "7.3.1"
    
    dev_dependencies:
      flutter_test:
        sdk: flutter
    
    # For information on the generic Dart part of this file, see the
    # following page: https://dart.dev/tools/pub/pubspec
    
    # The following section is specific to Flutter.
    flutter:
    
      # The following line ensures that the Material Icons font is
      # included with your application, so that you can use the icons in
      # the material Icons class.
      uses-material-design: true
  2. 載入RTS SDK。

    說明
    1. 使用Android播放器V7.3.1及以下版本時,需手動載入RTS SDK。

    2. useAIOFramework=true(預設false)時使用音視頻終端SDK,否則使用播放器SDK和RTS SDK。

    3. 建議使用最新版本SDK:

      1. 音視頻終端SDK請參考Android端音視頻終端SDKiOS端音視頻終端SDK

      2. 播放器SDK請參考下載播放器SDK

      3. rts低延遲直播組件請參考Android端實現RTS拉流iOS端實現RTS拉流

    dependencies {
        // 定義 SDK 核心
        def useAIOFramework = false
    
        // 定義 SDK 版本
        // 音視頻終端SDK
        def aio_sdk_version = "7.1.0"
        // 播放器SDK
        def player_sdk_version = "7.2.0"
        // rts低延遲直播組件
        def rts_sdk_version = "7.2.0"
    
        // 根據 useAIOFramework 的值選擇相應的 SDK
        if (useAIOFramework) {
            // 音視頻終端SDK(互動直播):直播推流(含超低延時直播、RTC連麥)+播放器
            implementation "com.aliyun.aio:AliVCSDK_InteractiveLive:$aio_sdk_version"
        } else {
            // 阿里雲播放器獨立SDK
            implementation "com.aliyun.sdk.android:AliyunPlayer:$player_sdk_version-full"
            implementation "com.aliyun.sdk.android:AlivcArtc:$player_sdk_version"
            implementation "com.aliyun.rts.android:RtsSDK:$rts_sdk_version"
        }
    
        implementation 'com.google.code.gson:gson:2.10.1'
    }
    

    手動載入RTS SDK。

    FlutterAliPlayerFactory.loadRtsLibrary(true);
  3. 播放視頻。

    FlutterAliplayer player = FlutterAliPlayerFactory.createAliPlayer();
    player.setUrl("artc://xxxx");
    
    player.prepare();
    player.play();