本文為您介紹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中調用到這三個接口方法的代碼。