全部產品
Search
文件中心

ApsaraVideo VOD:快速整合

更新時間:Oct 30, 2024

本文為您介紹Flutter播放器SDK的使用限制及整合方式等內容。

環境要求

類別

說明

Flutter版本

支援Flutter 3.22.2 • channel stable版本。

Dart版本

支援Dart 3.4.3 版本。

系統版本

支援Android 6.0以上版本。

手機晶片

架構要求:armeabi-v7a、arm64-v8a。

開發工具

推薦使用Android StudioVisual Studio Code

SDK下載

說明

阿里雲Flutter播放器SDK與Flutter SDK存在一定的配套關係,例如5.4.0版本的Flutter播放器SDK僅支援Flutter SDK 2.0及以上版本。具體各版本的配套資訊請參見Flutter播放器SDK

專案說明

Flutter播放器SDK原生層的開發基於Android播放器SDK和iOS播放器SDK。目前已將源碼通過Demo依賴的方式透出,開發人員可以自行添加。

專案目錄結構如圖所示:Flutter目錄結構

目錄檔案名稱及功能說明如下表所示。

檔案名稱

內容

是否必需

android

Android端原生代碼與播放器SDK。

ios

iOS端原生代碼與播放器SDK。

lib

Flutter端介面代碼。

example

Flutter播放器Demo。

由於Flutter播放器SDK同時包含了直播及播放器功能。如果您的專案中不需要用到直播相關內容,您可以將Flutter播放器SDK核心從一體化(直播+ 播放器)改為單播放器,以上述Demo為例:

Android端

  1. 在專案級build.gradle檔案中添加阿里雲Maven倉庫。

    maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
  2. 將⼀體化SDK替換為播放器SDK。

    dependencies {
      // 互動直播:直播推流(含超低延時直播、RTC連⻨)+播放器
      //implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:x.x.x'
      //播放器SDK
      implementation 'com.aliyun.sdk.android:AliyunPlayer:x.x.x-full'
      implementation 'com.google.code.gson:gson:2.8.6'
    }

iOS端

在專案flutter_aliplayer.podspec檔案中,將'AliVCSDK_InteractiveLive', 'x.x.x'修改為'AliPlayerSDK_iOS', 'x.x.x'

使用限制

Android播放器SDK不支援模擬器,整合完成後需要真機運行。

整合操作

說明

以下步驟以1.65.2版本VS Code開發工具為例,其餘開發工具的操作步驟類似。

  1. 啟動VS Code開發工具。

  2. 選擇View > Command Palette…

  3. 輸入flutter後,選擇Flutter: New Project

  4. 輸入Project名稱(如myapp),然後按斷行符號鍵。

  5. 指定放置專案的位置後,單擊藍色的確定按鈕。

    等待專案建立,直到顯示main.dart檔案即表示專案建立完成。

  6. 整合阿里雲Flutter播放器SDK。

    您可以通過整合依賴的方式,在專案中的pubspec.yaml檔案中引入flutter_aliplayer依賴,快速整合Flutter播放器SDK。

    dependencies:
      flutter_aliplayer: ^version
    # version為阿里雲Flutter播放器SDK的版本號碼,例如:5.4.0。在使用時,請根據使用的版本進行變更。
  7. 可選:如果業務需要支援超低延時直播RTS,請引用以下依賴。如需瞭解更多RTS的詳細資料,請參見超低延時直播簡介

    您可以通過以下兩種方式實現:

    說明
    • 下述的版本號碼僅供參考,請以實際需要整合的版本號碼為準。

    • 阿里雲播放器SDK和超低延時直播SDK的版本必須配套使用,具體版本配套關係請參見發布日誌

    • 阿里雲播放器SDK的實際版本號碼請參見Android播放器SDKiOS播放器SDK超低延時直播SDK版本號碼請參見發布日誌

    • 方式一:在Android或iOS端原生層整合

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

      dependencies{
          implementation 'com.aliyun.sdk.android:AlivcArtc:$version'
          implementation 'com.aliyun.rts.android:RtsSDK:$version'
      }
      # version為版本號碼,分別為阿里雲Android播放器SDK和超低延時直播SDK的版本號碼。例如:'com.aliyun.sdk.android:AlivcArtc:5.4.9.1','com.aliyun.rts.android:RtsSDK:2.5.0'

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

      target 'Runner' do
        flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
      
        pod 'AliPlayerSDK_iOS_ARTC', '$version'  #$version為阿里雲iOS播放器SDK的版本號碼,例如:5.4.9.1
        pod 'RtsSDK', '$version'  #$version為阿里雲超低延時直播SDK的版本號碼,例如:2.5.0
      
      end
    • 方式二:使用Flutter外掛程式整合(此方式已停止更新,將不能擷取到最新版本SDK)

      超低延時直播SDK和阿里雲播放器SDK的版本可以通過flutter_aliplayer專案中的CHANGELOG.md擷取。

       flutter_aliplayer_artc: ^version
       flutter_aliplayer_rts: ^version
      #  version為版本號碼。例如,flutter_aliplayer_artc: ^5.2.3, flutter_aliplayer_rts: ^1.5.0。在使用時,請根據使用的版本進行變更。

常見問題

在iOS系統上整合Flutter播放器SDK後,是否支援在Xcode模擬器上調試運行?

建議使用iPhone真機調試運行。如果使用Xcode14在iphone模擬器上編譯如下圖的報錯,您可以注釋掉AliPlayerFactory.m檔案中的setFilterConfig:updateFilterConfig:setFilterInvalid:這三個介面方法,並一同注釋掉在Flutter播放器SDK中調用到這三個介面方法的代碼。ios常見問題3