本文為您介紹Flutter播放器SDK的使用限制及整合方式等內容。
環境要求
類別 | 說明 |
Flutter版本 | 支援Flutter 3.22.2 • channel stable版本。 |
Dart版本 | 支援Dart 3.4.3 版本。 |
系統版本 | 支援Android 6.0以上版本。 |
手機晶片 | 架構要求:armeabi-v7a、arm64-v8a。 |
開發工具 |
SDK下載
阿里雲Flutter播放器SDK與Flutter SDK存在一定的配套關係,例如5.4.0版本的Flutter播放器SDK僅支援Flutter SDK 2.0及以上版本。具體各版本的配套資訊請參見Flutter播放器SDK。
Flutter SDK下載:Flutter SDK
阿里雲Flutter播放器SDK最新版下載:阿里雲播放器SDK
阿里雲Flutter播放器SDK外掛程式下載(播放器SDK的補丁版本更新):阿里雲Flutter播放器SDK外掛程式
專案說明
Flutter播放器SDK原生層的開發基於Android播放器SDK和iOS播放器SDK。目前已將源碼通過Demo依賴的方式透出,開發人員可以自行添加。
專案目錄結構如圖所示:
目錄檔案名稱及功能說明如下表所示。
檔案名稱 | 內容 | 是否必需 |
android | Android端原生代碼與播放器SDK。 | 是 |
ios | iOS端原生代碼與播放器SDK。 | 是 |
lib | Flutter端介面代碼。 | 是 |
example | Flutter播放器Demo。 | 否 |
由於Flutter播放器SDK同時包含了直播及播放器功能。如果您的專案中不需要用到直播相關內容,您可以將Flutter播放器SDK核心從一體化(直播+ 播放器)改為單播放器,以上述Demo為例:
Android端
在專案級build.gradle檔案中添加阿里雲Maven倉庫。
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
將⼀體化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開發工具為例,其餘開發工具的操作步驟類似。
啟動VS Code開發工具。
選擇 。
輸入flutter後,選擇Flutter: New Project。
輸入Project名稱(如myapp),然後按斷行符號鍵。
指定放置專案的位置後,單擊藍色的確定按鈕。
等待專案建立,直到顯示main.dart檔案即表示專案建立完成。
整合阿里雲Flutter播放器SDK。
您可以通過整合依賴的方式,在專案中的pubspec.yaml檔案中引入flutter_aliplayer依賴,快速整合Flutter播放器SDK。
dependencies: flutter_aliplayer: ^version # version為阿里雲Flutter播放器SDK的版本號碼,例如:5.4.0。在使用時,請根據使用的版本進行變更。
可選:如果業務需要支援超低延時直播RTS,請引用以下依賴。如需瞭解更多RTS的詳細資料,請參見超低延時直播簡介。
您可以通過以下兩種方式實現:
說明下述的版本號碼僅供參考,請以實際需要整合的版本號碼為準。
阿里雲播放器SDK和超低延時直播SDK的版本必須配套使用,具體版本配套關係請參見發布日誌。
阿里雲播放器SDK的實際版本號碼請參見Android播放器SDK、iOS播放器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中調用到這三個介面方法的代碼。