腾讯云视立方 Android 超级播放器是腾讯云开源的一款播放器组件,集质量监控、视频加密、极速高清、清晰度切换、小窗播放等功能于一体,适用于所有点播、直播播放场景。封装了完整功能并提供上层 UI,可帮助您在短时间内,打造一个媲美市面上各种流行视频 App 的播放软件。
本页文档所描述功能,在腾讯云视立方中支持情况如下:
版本名称 | 基础直播 Smart | 互动直播 Live | 短视频 UGSV | 音视频通话 TRTC | 播放器 Player | 全功能 |
---|---|---|---|---|---|---|
支持情况 | - | - | - | - | ✓ | ✓ |
SDK 下载 | 下载 | 下载 | 下载 | 下载 | 下载 | 下载 |
腾讯云视立方 Android 超级播放器的项目地址是 SuperPlayer_Android。
您可通过 下载播放器组件 ZIP 包 或 Git 命令下载 的方式下载腾讯云视立方 Android 超级播放器项目工程。
您可以直接下面播放器组件 ZIP包,单击页面的 Code > Download ZIP 下载。
本步骤可指导您如何集成播放器,您可选择使用 Gradle 自动加载的方式,手动下载 aar 再将其导入到您当前的工程或导入 jar 和 so 库的方式集成项目。
下载 SDK + Demo 开发包,项目地址为 Android。
把Demo/superplayerkit
这个 module 复制到工程中,然后进行下面的配置:
superplayerkit
。include ':superplayerkit'
superplayerkit
工程的 build.gradle 文件修改 compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion 和 rootProject.ext.liteavSdk 的常量值。compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
targetSdkVersion 23
minSdkVersion 19
}
dependencies {
//如果要集成历史版本,可将 latest.release 修改为对应的版本,例如:8.5.290009
implementation 'com.tencent.liteav:LiteAVSDK_Player:latest.release'
}
common
模块导入到项目,并进行配置。通过在 gradle 配置 mavenCentral 库,自动下载更新 LiteAVSDK,打开app/build.gradle
,进行下面的配置:
dependencies {
implementation 'com.tencent.liteav:LiteAVSDK_Player:latest.release'
implementation project(':superplayerkit')
// 超级播放器弹幕集成的第三方库
implementation 'com.github.ctiao:DanmakuFlameMaster:0.5.3'
}
dependencies {
// 集成8.5.10033 版本LiteAVSDK_Player SDK
implementation 'com.tencent.liteav:LiteAVSDK_Player:8.5.10033'
}
app/build.gradle
defaultConfig 中,指定 App 使用的 CPU 架构(目前 LiteAVSDK 支持 armeabi 、 armeabi-v7a 和 arm64-v8a,可根据项目需求配置)。ndk {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
packagingOptions {
exclude "lib/armeabi/libijkhlscache-master.so"
exclude "lib/armeabi-v7a/libijkhlscache-master.so"
exclude "lib/arm64-v8a/libijkhlscache-master.so"
}
repositories {
mavenCentral()
}
单击 Sync Now 按钮同步 SDK,如果您的网络连接 mavenCentral 没有问题,很快 SDK 就会自动下载集成到工程里。
在 AndroidManifest.xml 中配置 App 的权限,LiteAVSDK 需要以下权限:
<!--网络权限-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--点播播放器悬浮窗权限-->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!--存储-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在 proguard-rules.pro 文件,将 TRTC SDK 相关类加入不混淆名单:
-keep class com.tencent.** { *; }
您已经完成了腾讯云视立方 Android 超级播放器 app 权限配置的步骤。
本步骤,用于指导用户创建和使用播放器,并使用播放器进行视频播放。
创建播放器
播放器主类为SuperPlayerView
,创建后即可播放视频, 支持集成 FileID 或者 URL 进行播放。在布局文件创建 SuperPlayerView:
<!-- 超级播放器-->
<com.tencent.liteav.demo.superplayer.SuperPlayerView
android:id="@+id/superVodPlayerView"
android:layout_width="match_parent"
android:layout_height="200dp" />
播放视频
本步骤用于指导用户播放视频。腾讯云视立方 Android 超级播放器可用于直播和点播两种播放场景,具体如下:
URL可以是点播文件播放地址,也可以是直播拉流地址,传入相应 URL 即可播放相应视频文件。
SuperPlayerModel model = new SuperPlayerModel();
model.appId = 1400329073; // 配置 AppId
model.url = "http://your_video_url.mp4"; // 配置您的播放视频url
mSuperPlayerView.playWithModel(model);
至此,您已经完成了腾讯云视立方 Android 超级播放器创建、播放视频和退出播放的能力即成。
本章将为您介绍几种常见的播放器功能使用方式,更为完整的功能使用方式可参见 Demo 体验。
超级播放器支持全屏播放,在全屏播放场景内,同时支持锁屏、手势控制音量和亮度、弹幕、截屏、清晰度切换等功能设置。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 中体验,单击界面右下角即可进入全屏播放界面。
在窗口播放模式下,可通过调用下述接口进入全屏播放模式:
mControllerCallback.onSwitchPlayMode(SuperPlayerDef.PlayerMode.FULLSCREEN);
单击返回,即可返回至窗口播放模式。
//单击后触发下面的接口
mControllerCallback.onBackPressed(SuperPlayerDef.PlayerMode.FULLSCREEN);
onSwitchPlayMode(SuperPlayerDef.PlayerMode.WINDOW);
超级播放器支持悬浮窗小窗口播放,可在切换到其它应用时,不打断视频播放功能。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 中体验,单击界面左上角返回,即可体验悬浮窗播放功能。
悬浮窗播放依赖于 AndroidManifest 中的以下权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
// 切换悬浮窗触发的代码接口
mSuperPlayerView.switchPlayMode(SuperPlayerDef.PlayerMode.FLOAT);
//单击浮窗返回窗口触发的代码接口
mControllerCallback.onSwitchPlayMode(SuperPlayerDef.PlayerMode.WINDOW);
超级播放器支持用户自定义视频封面,用于在视频接收到首帧画面播放回调前展示。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 > 自定义封面演示 视频中体验。
PLAY_ACTION_AUTO_PLAY
时,视频自动播放,此时将在视频首帧加载出来之前展示封面;PLAY_ACTION_MANUAL_PLAY
时,需用户单击播放后视频才开始播放。在单击播放前将展示封面;在单击播放后到视频首帧加载出来前也将展示封面。视频封面支持使用网络 URL 地址或本地 File 地址,使用方式可参见下述指引。若您通过 FileID 的方式播放视频,则可直接在云点播内配置视频封面。
SuperPlayerModel model = new SuperPlayerModel();
model.appId = "您的appid";
model.videoId = new SuperPlayerVideoId();
model.videoId.fileId = "您的fileId";
//播放模式,可设置自动播放模式:PLAY_ACTION_AUTO_PLAY,手动播放模式:PLAY_ACTION_MANUAL_PLAY
model.playAction = PLAY_ACTION_MANUAL_PLAY;
//设定封面的地址为网络url地址,如果coverPictureUrl不设定,那么就会自动使用云点播控制台设置的封面
model.coverPictureUrl = "http://1500005830.vod2.myqcloud.com/6c9a5118vodcq1500005830/cc1e28208602268011087336518/MXUW1a5I9TsA.png"
mSuperPlayerView.playWithModel(model);
超级播放器支持视频列表轮播,即在给定一个视频列表后:
功能效果可在 腾讯云视立方 App> 播放器 > 超级播放器 > 视频列表轮播演示视频中体验。
//步骤1:构建轮播的List<SuperPlayerModel>
ArrayList<SuperPlayerModel> list = new ArrayList<>();
SuperPlayerModel model = new VideoModel();
model = new SuperPlayerModel();
model.videoId = new SuperPlayerVideoId();
model.appid = 1252463788;
model.videoId.fileId = "4564972819219071568";
list.add(model);
model = new SuperPlayerModel();
model.videoId = new SuperPlayerVideoId();
model.appid = 1252463788;
model.videoId.fileId = "4564972819219071679";
list.add(model);
//步骤2:调用轮播接口
mSuperPlayerView.playWithModelList(list, true, 0);
public void playWithModelList(List<SuperPlayerModel> models, boolean isLoopPlayList, int index);
接口参数说明
参数名 | 类型 | 描述 |
---|---|---|
models | List |
轮播数据列表 |
isLoopPlayList | boolean | 是否循环 |
index | int | 开始播放的 SuperPlayerModel 索引 |
超级播放器支持视频试看功能,可以适用于非 VIP 试看等场景,开发者可以传入不同的参数来控制视频试看时长、提示信息、试看结束界面等。功能效果可在 腾讯云视立方 App> 播放器 > 超级播放器 > 试看功能演示 视频中体验。
方法一:
//步骤1:创建视频mode
SuperPlayerModel mode = new SuperPlayerModel();
//...添加视频源信息
//步骤2:创建试看信息 mode
VipWatchModel vipWatchModel = new VipWatchModel("可试看%ss,开通 VIP 观看完整视频",15);
mode.vipWatchMode = vipWatchModel;
//步骤3:调用播放视频方法
mSuperPlayerView.playWithModel(mode);
方法二:
//步骤1:创建试看信息 mode
VipWatchModel vipWatchModel = new VipWatchModel("可试看%ss,开通 VIP 观看完整视频",15);
//步骤2:调用设置试看功能方法
mSuperPlayerView.setVipWatchModel(vipWatchModel);
public VipWatchModel(String tipStr, long canWatchTime)
VipWatchModel 接口参数说明:
参数名 | 类型 | 描述 |
---|---|---|
tipStr | String | 试看提示信息 |
canWatchTime | Long | 试看时长,单位为妙 |
超级播放器支持在播放界面添加不规则跑动的文字水印,有效防盗录。全屏播放模式和窗口播放模式均可展示水印,开发者可修改水印文本、文字大小、颜色。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 > 动态水印 演示视频中体验。
方法一:
//步骤1:创建视频mode
SuperPlayerModel mode = new SuperPlayerModel();
//...添加视频源信息
//步骤2:创建水印信息mode
DynamicWaterConfig dynamicWaterConfig = new DynamicWaterConfig("shipinyun", 30, Color.parseColor("#80FFFFFF"));
mode.dynamicWaterConfig = dynamicWaterConfig;
//步骤3:调用播放视频方法
mSuperPlayerView.playWithModel(mode);
方法二:
//步骤1:创建水印信息mode
DynamicWaterConfig dynamicWaterConfig = new DynamicWaterConfig("shipinyun", 30, Color.parseColor("#80FFFFFF"));
//步骤2:调用设置动态水印功能方法
mSuperPlayerView.setDynamicWatermarkConfig(dynamicWaterConfig);
public DynamicWaterConfig(String dynamicWatermarkTip, int tipTextSize, int tipTextColor)
接口参数说明
参数名 | 类型 | 描述 |
---|---|---|
dynamicWatermarkTip | String | 水印文本信息 |
tipTextSize | int | 文字大小 |
tipTextColor | int | 文字颜色 |
更多完整功能可直接运行工程 Demo,或扫码下载移动端 Demo 腾讯云视立方 App 体验。
$SuperPlayer_Android/Demo
,待成功导入 Demo 工程后,单击 Run app,即可成功运行 Demo 。在 腾讯云视立方 App > 播放器 中可体验更多超级播放器功能。
本页内容是否解决了您的问题?