如果您想实现如微短剧场景效果,只需要播放器组件,可参考本文了解Android播放器SDK集成方案。如果您还有制作短视频的需求,建议您使用Android端一体化SDK进行集成,否则可能会出现类重复的问题,从而导致编译失败。
环境要求
建议使用最新版本的 Android Studio。下载地址:Android Studio。
系统版本:支持Android 4.3及以上版本。
ABI 兼容性:要求设备架构为 armv7 或 arm64。
使用限制Android播放器SDK不支持模拟器,集成完成后需要真机运行。
前提条件
视频教程
步骤一:SDK集成
Gradle集成
请确保网络正常,并且可以正常访问阿里云Maven仓库。
添加Maven配置。
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") } }
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") } }
引入播放器SDK。
修改App的build.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开发工具为例,其余开发工具的操作步骤类似。
拷贝需要的aar包到工程的libs目录下(如果没有libs文件夹,手动创建libs文件夹即可)。
修改Project下的build.gradle文件,在allprojects的repositories节点中增加flatDir的设置,示例如下:
flatDir { dirs 'libs' }
修改App的build.gradle文件,dependencies节点中增加对aar的引用和Conan的引用,示例如下:
dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
超低延时直播集成(可选)
如果您需要集成RTS超低延时直播组件,详情请参见Android端实现RTS拉流。
步骤二:License配置
使用全球(不包含中国内地及港澳台)环境时,请选择以下一种方式配置国际站环境。
方式一:调用下述接口更新默认配置为国际站环境。
// 使用全球(不包含中国内地及港澳台)环境时,请确保在调用任何播放器API之前,已调用下述接口更新默认配置为国际站环境,以确保后续所有业务都是在国际站环境下运行 // 通过AlivcBase统一接口,设置国际站环境,运行期间不支持修改 AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);
方式二(推荐):V7.6.0及以上播放器版本进行配置时,可通过
XML
方法配置国际站环境。在
AndroidManifest.xml
文件中添加<meta-data>
节点。<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>
配置示例如下:
在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冲突。
常见集成问题
更多关于播放器使用过程中出现的问题及解决方案,请参见播放器常见问题汇总。