集成SDK

如果您想实现如微短剧场景效果,只需要播放器组件,可参考本文了解Android播放器SDK集成方案。如果您还有制作短视频的需求,建议您使用Android端一体化SDK进行集成,否则可能会出现类重复的问题,从而导致编译失败。

环境要求

  • 建议使用最新版本的 Android Studio。下载地址:Android Studio

  • 系统版本:支持Android 4.3及以上版本。

  • ABI 兼容性:要求设备架构为 armv7 或 arm64。

  • 使用限制Android播放器SDK不支持模拟器,集成完成后需要真机运行。

前提条件

  • 已注册并获取包含播放器授权的License文件AliVideoCert-********.crt。具体操作,请参见获取License

  • 本地集成SDK时,需要先下载Android播放器SDK包,推荐下载最新版本。

视频教程

步骤一:SDK集成

Gradle集成

说明

请确保网络正常,并且可以正常访问阿里云Maven仓库。

  1. 添加Maven配置。

    1. Gradle 7.x 及以上版本集成

      在项目的setting.gradle文件中进行如下配置:

      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
              jcenter() // 即将停用,建议逐步替换为 mavenCentral()
              maven { url "https://maven.aliyun.com/repository/releases" }
          }
      }
      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
              jcenter() // 即将停用,建议逐步替换为 mavenCentral()
              maven("https://maven.aliyun.com/repository/releases")
          }
      }
    2. Gradle 7.x 及以下版本集成

      在项目的build.gradle文件中进行如下配置:

      allprojects {
          repositories {
              google()
              mavenCentral()
              jcenter() // 即将停用,建议逐步替换为 mavenCentral()
              maven { url "https://maven.aliyun.com/repository/releases" }
          }
      }
      allprojects {
          repositories {
              google()
              mavenCentral()
              jcenter() // 即将停用,建议逐步替换为 mavenCentral()
              maven("https://maven.aliyun.com/repository/releases")
          }
      }
  2. 引入播放器SDK。

    修改Appbuild.gradle文件,dependencies节点中增加播放器SDK。示例如下:

    说明

    请确保引入的播放器SDK版本号填写正确,否则将报错并引入失败。播放器SDK的版本可以从Android播放器SDK发布历史查看。

    dependencies {
        // AliPlayer 播放器SDK 
        implementation 'com.aliyun.sdk.android:AliyunPlayer:7.5.0-full'
    }
    dependencies {
        // AliPlayer 播放器SDK 
        implementation("com.aliyun.sdk.android:AliyunPlayer:7.5.0-full")
    }

本地集成

如果由于网络故障,无法从Maven仓库下载到播放器SDK包,则建议通过本地集成方式来集成SDK。

说明

以下步骤以Android Studio Flamingo | 2022.2.1版本的Android Studio开发工具为例,其余开发工具的操作步骤类似。

  1. 拷贝需要的aar包到工程的libs目录下(如果没有libs文件夹,手动创建libs文件夹即可)。

    图片

  2. 修改Project下的build.gradle文件,在allprojectsrepositories节点中增加flatDir的设置,示例如下:

    flatDir {
       dirs 'libs'
    }
  3. 修改Appbuild.gradle文件,dependencies节点中增加对aar的引用和Conan的引用,示例如下:

    dependencies {
          implementation fileTree(dir: 'libs', include: ['*.aar'])
    }

超低延时直播集成(可选)

如果您需要集成RTS超低延时直播组件,详情请参见Android端实现RTS拉流

步骤二:License配置

重要

使用全球(不包含中国内地及港澳台)环境时,请选择以下一种方式配置国际站环境。

  1. 方式一:调用下述接口更新默认配置为国际站环境。

    // 使用全球(不包含中国内地及港澳台)环境时,请确保在调用任何播放器API之前,已调用下述接口更新默认配置为国际站环境,以确保后续所有业务都是在国际站环境下运行
    // 通过AlivcBase统一接口,设置国际站环境,运行期间不支持修改
    AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);
  2. 方式二(推荐)V7.6.0及以上播放器版本进行配置时,可通过XML方法配置国际站环境。

    AndroidManifest.xml文件中添加<meta-data>节点。

    <meta-data
      android:name="com.aliyun.alivc_env"
      android:value="SEA"/>  

    配置示例如下:1754556751170-7001527b-36a7-4ebd-8887-e0972a3d64e3

Android端接入License,详情请参见Android端接入License

步骤三:权限配置

在 app/src/main/AndroidManifest.xml 中声明所有需要的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

步骤四:混淆配置

可以在混淆规则文件(proguard-rules.pro)中进行混淆配置。示例代码如下所示:

-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}


-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**

步骤五:开启日志(可选)

开启日志能够帮助快速定位并排查问题,还能为性能优化和用户体验提升提供数据支持,可根据实际业务场景选择是否设置。日志获取请参考获取SDK日志

// 打开日志开关
Logger.getInstance(context).enableConsoleLog(true);
// 设置日志级别,默认为AF_LOG_LEVEL_INFO,如需排查问题,可设置为AF_LOG_LEVEL_TRACE
Logger.getInstance(context).setLogLevel(Logger.LogLevel.AF_LOG_LEVEL_INFO);

项目结构说明

文件名

说明

AliyunPlayer-x.x.x-full.aar

完整的aar包,包含了FFmpeg动态库的包。

AliyunPlayer-x.x.x-part.aar

aar包,不包含FFmpeg的动态库的包。

AlivcArtp-x.x.x.aar

支持artp协议,非必须。

AlivcArtc-x.x.x.aar

支持artc协议,非必须。

说明
  • 如果不集成短视频SDK,直接依赖AliyunPlayer-x.xx.x-full.aar包即可。

  • 如果集成播放器的同时,也集成短视频SDK,那么播放器的SDK依赖AliyunPlayer-x.x.x-part包,同时使用共通的FFmpeg版本,即需要额外依赖com.aliyun.video.android:AlivcFFmpeg:x.x.x这个包。

  • 如果集成时使用了错误的SDK包,会导致FFmpeg冲突。

常见集成问题

更多关于播放器使用过程中出现的问题及解决方案,请参见播放器常见问题汇总