Tencent Cloud RT-Cube Superplayer Adapter for Android is a player plugin provided by VOD for customers who want to use a third-party or proprietary player to connect to Tencent Cloud PaaS resources. It is generally used by customers who strongly need to customize player features.
The Tencent Cloud RT-Cube Superplayer Adapter SDK and demo for Android can be downloaded here.
This document describes Tencent Cloud's proprietary capabilities. Make sure that you have activated the relevant Tencent Cloud services before reading it. If you haven't registered an account, sign up for free trial first.
Integrate the SDK, copy TXCPlayerAdapter-release-1.0.0.aar
to the libs
directory, and add dependencies:
implementation(name:'TXCPlayerAdapter-release-1.0.0', ext:'aar')
Add the script for obfuscation:
-keep class com.tencent.** { *; }
Declare the variables and then create an instance. The main class of the player is ITXCPlayerAssistor
, and videos can be played back after it is created.
A fileId
is usually returned by the server after the video is uploaded:
fileId
to the client.fileId
will be included in the notification of upload confirmation.If the file already exists in Tencent Cloud, you can go to Media Assets and find it. After clicking it, you can view relevant parameters in the video details on the right.
// `psign` is a signature for superplayer. For more information on the signature and how to generate it, visit https://intl.cloud.tencent.com/document/product/266/38099
private String mFileId, mPSign;
ITXCPlayerAssistor mPlayerAssistor = TXCPlayerAdapter.createPlayerAssistor(mFileId, mPSign);
Initialization
// Initialize
TXCPlayerAdapter.init(appId); // `appid` can be applied for in Tencent Cloud VOD
TXCPlayerAdapter.setLogEnable(true); // Enable log
mSuperPlayerView = findViewById(R.id.sv_videoplayer);
mPlayerAssistor = TXCPlayerAdapter.createPlayerAssistor(mFileId, mPSign);
Request the video information and play back the video
mPlayerAssistor.requestVideoInfo(new ITXCRequestVideoInfoCallback() {
@Override
public void onError(int errCode, String msg) {
Log.d(TAG, "onError msg = " + msg);
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(VideoActivity.this, "onError msg = " + msg, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onSuccess() {
Log.d(TAG, "onSuccess");
TXCStreamingInfo streamingInfo = mPlayerAssistor.getStreamingInfo();
Log.d(TAG, "streamingInfo = " + streamingInfo);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mPlayerAssistor.getStreamingInfo() != null) {
// Play back the video
mSuperPlayerView.play(mPlayerAssistor.getStreamingInfo().playUrl);
} else {
Toast.makeText(VideoActivity.this, "streamInfo = null", Toast.LENGTH_SHORT).show();
}
}
});
}
});
Terminate the player after use
TXCPlayerAdapter.destroy();
Note
This API is used to initialize the Adapter each time.
API
TXCPlayerAdapter.init(String appId);
Parameter description
appId: Enter the appid
(if a subapplication is used, enter the subappid
). |
Note
This API is used to terminate Adapter. It can be called after the program exits.
API
TXCPlayerAdapter.destroy();
Note
An auxiliary class of the player can be used to get the playback fileId
and process DRM encryption APIs.
API
ITXCPlayerAssistor playerAssistor = TXCPlayerAdapter.createPlayerAssistor(String fileId, String pSign);
Parameter description
Parameter | Type | Description |
---|---|---|
fileId | String | fileId of the video to be played back |
pSign | String | Superplayer signature |
Terminating the auxiliary class of player
Note
This API is used to terminate an auxiliary class. You can call it when exiting the player or switching to the next video for playback.
API
TXCPlayerAdapter.destroyPlayerAssistor(ITXCPlayerAssistor assistor);
Note
This API is used to request the stream information of the video to be played back from the Tencent Cloud VOD server.
API
playerAssistor.requestVideoInfo(ITXCRequestVideoInfoCallback callback);
Parameter description
Parameter | Type | Description |
---|---|---|
callback | ITXCRequestVideoInfoCallback | Async callback function |
Note
This API is used to get the video information and will take effect only after playerAssistor.requestPlayInfo
is called back.
API
TXCVideoBasicInfo playerAssistor.getVideoBasicInfo();
Parameter description
The parameters of TXCVideoBasicInfo
are as follows:
Parameter | Type | Description |
---|---|---|
name | String | Video name |
duration | Float | Video duration in seconds |
description | String | Video description |
coverUrl | String | Video thumbnail |
Note
This API is used to get the video stream information list and will take effect only after playerAssistor.requestPlayInfo
is called back.
API
TXCStreamingInfo playerAssistor.getStreamimgInfo();
Parameter description
TXCStreamingInfo
Parameter | Type | Description |
---|---|---|
playUrl | String | Playback URL |
subStreams | List | Adaptive bitstream substream information of the SubStreamInfo type |
SubStreamInfo
Parameter | Type | Description |
---|---|---|
type | String | Substream type. Valid values: video |
width | Int | Substream video width in px |
height | Int | Substream video height in px |
resolutionName | String | Specification name of the substream video displayed in the player |
Note
This API is used to get the video keyframe timestamp information and will take effect only after playerAssistor.requestPlayInfo
is called back.
API
List<TXCKeyFrameDescInfo> playerAssistor.getKeyFrameDescInfo();
Parameter description
TXCKeyFrameDescInfo
Parameter | Type | Description |
---|---|---|
timeOffset | Float | 1.1 |
content | String | "Beginning now..." |
Note
This API is used to get the thumbnail information and will take effect only after playerAssistor.requestPlayInfo
is called back.
API
TXCImageSpriteInfo playerAssistor.getImageSpriteInfo();
Parameter description
TCXImageSpriteInfo
Parameter | Type | Description |
---|---|---|
imageUrls | List | Array of thumbnail download URLs of String type |
webVttUrl | String | Thumbnail VTT file download URL |
Was this page helpful?