本文介绍Android播放器SDK的环境要求、集成方式及权限配置等信息。

环境要求

类别 说明
系统版本 支持Android5.0及以上版本
手机芯片 架构要求:
  • armv7
  • arm64
开发工具 推荐使用Android Studio。本文操作步骤基于Android Studio开发。下载地址请参见Android Studio

SDK说明

从1.2.0版本开始,根据相关的业务场景,我们提供了不同SDK组合形式,选择合适的组合包,不仅便于操作,而且包体更小。具体的组合形式如下:

包名 场景 组合形式
AliVCSDK_Standard 全功能(不含美颜特效) 直播推流(含超低延时直播、RTC连麦) + 短视频 + 播放器
AliVCSDK_Premium 全功能(包含美颜特效) 直播推流(含超低延时直播、RTC连麦) + 短视频 + 美颜特效 + 播放器
AliVCSDK_BasicLive 基础直播 直播推流 + 播放器
AliVCSDK_StandardLive 基础直播(含美颜特效) 直播推流 + 播放器 + 美颜特效
AliVCSDK_UGC 短视频 短视频 + 播放器
AliVCSDK_UGCPro 短视频(包含美颜特效) 短视频 + 美颜特效 + 播放器
AliVCSDK_InteractiveLive 互动直播,适用于有连麦、超低延时直播需求的业务场景 直播推流(含超低延时直播、RTC连麦) + 播放器
AliVCSDK_PremiumLive 互动直播(含美颜特效),适用于有连麦、超低延时直播需求的业务场景 直播推流(含超低延时直播、RTC连麦) + 美颜特效 + 播放器

在线集成(推荐)

说明 请确保您的网络正常,并且可以正常访问阿里云Maven仓库。如果由于网络故障,无法从Maven仓库下载到播放器SDK包,则建议通过本地集成方式来集成SDK,具体操作请参见离线集成
  1. 在Project的build.gradle中增加阿里云的Maven地址依赖。
    maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
    build
  2. 修改App的build.gradle文件,dependencies节点中增加依赖。
    //下面8种组合,请根据自己的业务需要,选择一种接入即可
    
     //1.直播推流(含超低延时直播、RTC连麦) + 短视频 + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_Standard:1.6.0'
     //2.直播推流(含超低延时直播、RTC连麦) + 短视频 + 美颜特效 + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_Premium:1.6.0'
     //3.直播推流 + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_BasicLive:1.6.0'
     //4.直播推流 + 播放器 + 美颜特效
     implementation 'com.aliyun.aio:AliVCSDK_StandardLive:1.6.0'
     //5.短视频 + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_UGC:1.6.0'
     //6.短视频 + 美颜特效 + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_UGCPro:1.6.0'
     //7.直播推流(含超低延时直播、RTC连麦) + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:1.6.0'
     //8.直播推流(含超低延时直播、RTC连麦) + 美颜特效 + 播放器
     implementation 'com.aliyun.aio:AliVCSDK_PremiumLive:1.6.0'
    依赖

离线集成

离线集成需要手动下载集成相应版本。

库名 下载地址
AliVCSDK_Standard.aar.zip AliVCSDK_Standard.aar.zip
AliVCSDK_Premium.aar.zip AliVCSDK_Premium.aar.zip
AliVCSDK_BasicLive.aar.zip AliVCSDK_BasicLive.aar.zip
AliVCSDK_UGC.aar.zip AliVCSDK_UGC.aar.zip
AliVCSDK_UGCPro.aar.zip AliVCSDK_UGCPro.aar.zip
AliVCSDK_StandardLive.aar.zip AliVCSDK_StandardLive.aar.zip
AliVCSDK_InteractiveLive.zip AliVCSDK_InteractiveLive.zip
AliVCSDK_PremiumLive.zip AliVCSDK_PremiumLive.zip
  1. 拷贝需要的aar包到工程的libs目录下。
    说明 如果没有libs文件夹,手动创建libs文件夹即可。下图以1.2.0版本为例,实际版本根据您的业务情况选择。
    离线集成
  2. 修改Project下的build.gradle文件,在allprojects的repositories节点中增加flatDir的设置。
    flatDir {
       dirs 'libs'
    }
  3. 修改App的build.gradle文件,dependencies节点中增加对aar的引用。
    dependencies {
          implementation fileTree(dir: 'libs', include: ['*.aar'])
    }

配置App权限

######################短视频权限配置#########################
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

######################直播权限配置#########################
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.VIBRATE" />
//添加录音权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />
//添加相机权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
            

配置License授权

首次接入SDK,需要获取License,并获取到对应的License Key和License配置文件。详细操作,请参见License使用说明

设置混淆规则

######################播放器混淆配置#########################
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**

######################短视频混淆配置#########################
-keep class com.aliyun.**{*;}
-keep class com.duanqu.**{*;}
-keep class com.qu.**{*;}
-keep class com.alibaba.**{*;}
-keep class component.alivc.**{*;}
-keep class com.alivc.**{*;}
-keep class org.webrtc.**{*;}
-keep class org.ugsv.**{*;}

######################直播混淆配置#########################
-keep class com.alivc.** { *;}
-keep class com.aliyun.rts.network.* { *;}
-keep class org.webrtc.ali.** {*;}
-keep class org.webrtc.utils.** {*;}

API文档

音视频终端SDK的主要接口及相关说明请参见接口说明

常见集成问题

集成常见问题,请参见常见问题