集成Flutter框架播放器SDK

本文为您介绍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目录结构.png

目录文件名及功能说明如下表所示。

文件名

内容

是否必需

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请参见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.png