本文为您介绍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中调用到这三个接口方法的代码。