插件信息
插件名称 | 第三方播放器 Android 插件 |
版本号 | V1.4.1 |
插件介绍 | 云点播提供给客户希望使用第三方播放器或自研播放器开发的对接云 PaaS 资源的播放器插件,以及常用于有自定义播放器功能需求的用户。 |
开发者 | 深圳市腾讯计算机系统有限公司 |
合规使用说明 | |
个人信息处理规则 | |
下载 SDK | 第三方播放器 Android 插件和 Demo 项目下载地址 TXCPlayerAdapterSDK_Android。 更新情况可查看 更新日志。 |
集成指引
SDK 集成
集成 SDK,拷贝
aar
到 libs 目录,添加依赖项:implementation(name:'TXCPlayerAdapter-release-1.4.1', ext:'aar')
添加混淆脚本:
-keep class com.tencent.** { *; }
使用播放器
变量声明,播放器主类为
ITXCPlayerAssistor
,创建后即可播放视频。fileId 一般是在视频上传后,由服务器返回:
1. 客户端视频发布后,服务器会返回 fileId 到客户端。
2. 服务端视频上传,在 确认上传 的通知中包含对应的 fileId。
//psign 即播放器签名,签名介绍和生成方式参见链接:https://cloud.tencent.com/document/product/266/42436private String mFileId, mPSign;ITXCPlayerAssistor mPlayerAssistor = TXCPlayerAdapter.createPlayerAssistor(mFileId, mPSign);
初始化:
// 初始化TXCPlayerAdapter.init(appId); //appid 在腾讯云点播申请TXCPlayerAdapter.setLogEnable(true); //开启logmSuperPlayerView = findViewById(R.id.sv_videoplayer);mPlayerAssistor = TXCPlayerAdapter.createPlayerAssistor(mFileId, mPSign);
请求视频信息和播放:
mPlayerAssistor.requestVideoInfo(new ITXCRequestVideoInfoCallback() {@Overridepublic void onError(int errCode, String msg) {Log.d(TAG, "onError msg = " + msg);runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(VideoActivity.this, "onError msg = " + msg, Toast.LENGTH_SHORT).show();}});}@Overridepublic void onSuccess() {Log.d(TAG, "onSuccess");TXCStreamingInfo streamingInfo = mPlayerAssistor.getStreamingInfo();Log.d(TAG, "streamingInfo = " + streamingInfo);runOnUiThread(new Runnable() {@Overridepublic void run() {if (mPlayerAssistor.getStreamingInfo() != null) {//播放视频mSuperPlayerView.play(mPlayerAssistor.getStreamingInfo().playUrl);} else {Toast.makeText(VideoActivity.this, "streamInfo = null", Toast.LENGTH_SHORT).show();}}});}});
使用完后销毁 Player。
TXCPlayerAdapter.destroy();
使用图片解密
经过加密的图片需要经过解密后才能正常使用。
1. 创建图片解密辅助类。
ITXCPlayerAssistor assistor = TXCPlayerAdapter.createPlayerAssistor();
2. 调用 getImageLocalUrl 方法获取本地代理访问 Url。
String imageLocalUrl = assistor.getImageLocalUrl(imgUrl);
3. 获取到图片的 localUrl 后,可以直接传给 Glide 等图片加载器加载图片。
// 使用Glide加载图片Glide.with(context).load(imageLocalUrl).into(imageView);
SDK 接口说明
初始化 TXCPlayerAdatper
初始化 Adapter(每次)。
接口
TXCPlayerAdapter.init(String appId);
参数说明
appId:填写 appid(如果使用了新建应用,则填 subappid,如果为图片解密,则无需调用此方法)。
销毁 TXCPlayerAdatper
销毁 Adapter,当程序退出后调用。
接口
TXCPlayerAdapter.destroy();
创建播放器辅助类
通过播放器辅助类可以获取播放 fileId 相关信息以及处理 DRM 加密接口等。
接口
ITXCPlayerAssistor playerAssistor = TXCPlayerAdapter.createPlayerAssistor(String fileId, String pSign);
参数说明
参数名 | 类型 | 描述 |
fileId | String | 要播放的视频 fileId。 |
pSign | String | 播放器签名。 |
创建图片解密辅助类
创建图片解密辅助类可以获取本地代理访问 Url,通过本地代理访问即可实现图片解密。
接口
TXCPlayerAdapter.createPlayerAssistor();
销毁播放器辅助类
销毁辅助类,在退出播放器或者切换了下一个视频播放的时候调用。
接口
TXCPlayerAdapter.destroyPlayerAssistor(ITXCPlayerAssistor assistor);
请求视频播放信息
本接口会请求腾讯云点播服务器,获取播放视频的流信息等。
接口
playerAssistor.requestVideoInfo(ITXCRequestVideoInfoCallback callback);
参数说明
参数名 | 类型 | 描述 |
callback | ITXCRequestVideoInfoCallback | 异步回调函数。 |
获取加密图片的本地代理解密 Url
接口
String getImageLocalUrl(String imgUrl);
参数说明
参数名 | 类型 | 描述 |
imgUrl | String | 图片网络 Url |
获取视频的基本信息
获取视频信息, 必须是在
playerAssistor.requestPlayInfo
回调之后才生效。接口
TXCVideoBasicInfo playerAssistor.getVideoBasicInfo();
参数说明
TXCVideoBasicInfo 参数如下:
参数名 | 类型 | 描述 |
name | String | 视频名称。 |
duration | Float | 视频时长,单位:秒。 |
description | String | 视频描述。 |
coverUrl | String | 视频封面。 |
获取视频流信息
获取视频流信息列表,必须是在
playerAssistor.requestPlayInfo
回调之后才生效。接口
TXCStreamingInfo playerAssistor.getStreamimgInfo();
参数说明
TXCStreamingInfo
参数名 | 类型 | 描述 |
playUrl | String | 播放 URL。 |
subStreams | List |
SubStreamInfo 参数如下:
参数名 | 类型 | 描述 |
type | String | 子流的类型,目前可能的取值仅有 video。 |
width | Int | 子流视频的宽,单位:px。 |
height | Int | 子流视频的高,单位:px。 |
resolutionName | String | 子流视频在播放器中展示的规格名。 |
获取关键帧打点信息
获取视频关键帧打点信息,必须是在
playerAssistor.requestPlayInfo
回调之后才生效。接口
List<TXCKeyFrameDescInfo> playerAssistor.getKeyFrameDescInfo();
参数说明
TXCKeyFrameDescInfo 参数如下:
参数名 | 类型 | 描述 |
timeOffset | Float | 1.1 |
content | String | "片头开始..." |
获取缩略图信息
获取缩略图信息,必须是在
playerAssistor.requestPlayInfo
回调之后才生效。接口
TXCImageSpriteInfo playerAssistor.getImageSpriteInfo();
参数说明
TCXImageSpriteInfo 参数如下:
参数名 | 类型 | 描述 |
imageUrls | List | 缩略图下载 URL 数组,类型为 String。 |
webVttUrl | String | 缩略图 VTT 文件下载 URL。 |