TXVodPlayer
VOD player
See TXVodPlayer.
The player pulls audio/video data from the specified VOD stream URL and plays the data after decoding and local rendering.
The player has the following capabilities:
- FLV, MP4, and HLS files can be played back in two playback methods: basic playback (by URL) and VOD playback (by
Fileid
).
- Screenshots of the video stream can be taken.
- The brightness, volume level, and playback progress can be adjusted through gestures.
- Resolution can be switched manually or resolution can be automatically switched to adapt to the current network bandwidth.
- Different playback speeds can be specified, videos can be flipped horizontally, and hardware acceleration can be enabled.
- For more information about all capabilities of the player, see Overview.
Player configuration APIs
API |
Description |
setConfig |
Sets the player configuration information. For more information on the configuration, see TXVodPlayConfig. |
setPlayerView |
Sets the player's rendering view TXCloudVideoView . |
setPlayerView |
Sets the player's rendering view TextureView . |
setSurface |
Sets the player's rendering view SurfaceView . |
setStringOption |
Sets the player business parameters in the format of <string,object> . |
Basic playback APIs
API |
Description |
startPlay |
Starts playing back the video at the specified HTTP URL. |
startPlay |
Starts playing back the video of the specified fileId by passing in the TXPlayInfoParams parameter. |
startPlayDrm |
Plays back a DRM-encrypted video. |
stopPlay |
Stops playback. |
isPlaying |
Gets whether playback is ongoing. |
pause |
Pauses playback by stopping the retrieval of stream data and retaining the last-frame image. |
resume |
Resumes playback by getting the stream data again. |
seek |
Seeks to a specified time point of the video stream (in seconds). |
seek |
Seeks to a specified time point of the video stream (in ms). |
getCurrentPlaybackTime |
Gets the current playback time point in seconds. |
getBufferDuration |
Gets the total buffer duration in seconds. |
getDuration |
Gets the total video duration in seconds. |
getPlayableDuration |
Gets the playable video duration in seconds. |
getWidth |
Gets the video width. |
getHeight |
Gets the video height. |
setAutoPlay |
Sets whether to start VOD automatically after call of startPlay . VOD starts automatically by default. |
setStartTime |
Sets the playback start time. |
setToken |
Sets the token for HLS encryption. |
getEncryptedPlayKey |
Gets the encrypted playback key. |
setLoop |
Sets whether to loop the video. |
isLoop |
Returns the loop playback status. |
Video APIs
Audio APIs
API |
Description |
setMute |
Sets whether to mute the player. |
setAudioPlayoutVolume |
Sets the volume level. Value range: 0–100. |
setRequestAudioFocus |
Sets whether to get the audio focus automatically. The audio focus is gotten automatically by default. |
Event notification APIs
TRTC APIs
You can use the following APIs to push the audio/video streams of the VOD player through TRTC. For more information on TRTC services, see the TRTC Overview page.
ITXVodPlayListener
VOD callback notifications.
Basic SDK callback APIs
TXVodPlayConfig
VOD player configuration class.
Basic configuration APIs
API |
Description |
setConnectRetryCount |
Sets the maximum number of player reconnection attempts. |
setConnectRetryInterval |
Sets the player reconnection interval in seconds. |
setTimeout |
Sets the player connection timeout period in seconds. |
setCacheFolderPath |
Sets the VOD cache directory, which takes effect for MP4 and HLS files. This API has been deprecated and is not recommended. |
setMaxCacheItems |
Sets the maximum number of cached files. This API has been deprecated and is not recommended. |
setPlayerType |
Sets the player type. This API has been deprecated and is not recommended. |
setHeaders |
Sets custom HTTP headers. |
setEnableAccurateSeek |
Sets whether to enable accurate seek. Default value: true. |
setAutoRotate |
If it is set to YES , the MP4 file will be automatically rotated according to the rotation angle set in the file, which can be obtained from the PLAY_EVT_CHANGE_ROTATION event. Default value: YES |
setSmoothSwitchBitrate |
Sets whether to enable smooth switching for multi-bitrate HLS streams. Default value: false. |
setCacheMp4ExtName |
Sets the cached MP4 file extension. |
setProgressInterval |
Sets the progress callback interval in ms. |
setMaxBufferSize |
Sets the maximum preloading buffer size in MB. |
setMaxPreloadSize |
Sets the maximum preloading buffer size in MB. |
setExtInfo |
Sets the extended information. |
setPreferredResolution |
Starts playing back the most preferred bitstream according to the configured preferredResolution if there are multiple HLS bitstreams. Here, preferredResolution is the product of the video width and height (width x height) and can only take effect if it is set before playback starts. |
setOverlayKey |
Sets the HLS security hardening encryption and decryption key. |
setOverlayIv |
Sets the HLS security hardening encryption and decryption IV. |
setEnableRenderProcess |
Sets whether to allow postrendering and postproduction features. |
setMediaType |
Sets the media asset type, which is auto by default. |
TXPlayerGlobalSetting
Global configuration of the VOD player.
API |
Description |
setCacheFolderPath |
Sets the cache directory of the playback engine. After setting, this directory will be first read and written during downloading, predownloading, and player use. |
setMaxCacheSize |
Sets the maximum cache size in MB of the playback engine. After setting, the backend will clear files in the cache directory automatically according to the set value. |
TXVodPreloadManager
Predownloading API class of the VOD player.
API |
Description |
getInstance |
Gets the TXVodPreloadManager instance object in singleton mode. |
startPreload |
Sets the playback engine cache directory before starting predownloading. |
stopPreload |
Stops predownloading. |
ITXVodPreloadListener
The callback for video predownloading.
API |
Description |
onComplete |
Video predownloading is completed. |
onError |
An error occurred during video predownload. |
TXVodDownloadManager
Video download API class of the VOD player. Currently, only non-nested M3U8 videos can be downloaded. SimpleAES-encrypted videos will be encrypted again with Tencent Cloud's private encryption algorithm to improve the security.
ITXVodDownloadListener
VOD download notifications.
TXVodDownloadDataSource
Tencent Cloud video fileid
download source, which can be passed in as a parameter during download.
API |
Description |
TXVodDownloadDataSource |
Builds a function to pass in parameters such as appid , fileid , quality , psign , and username . |
getAppId |
Gets the appid that is passed in. |
getFileId |
Gets the fileid that is passed in. |
getPSign |
Gets the psign that is passed in. |
getQuality |
Gets the quality that is passed in. |
getUserName |
Gets the userName that is passed in, which is default by default. |
getToken |
Gets the token that is passed in. |
getOverlayKey |
Gets the overlayKey that is passed in. |
getOverlayIv |
Gets the overlayIv that is passed in. |
Definition ID constants
Class to get VOD download information such as download progress and playback link.
API |
Description |
getDataSource |
Gets the download source specified by the fileid passed in for video download by fileid . |
getDuration |
Gets the total duration of the downloaded video. |
getPlayableDuration |
Gets the playable duration of the downloaded video. |
getSize |
Gets the total size of the file being downloaded. This API takes effect only for download by fileid . |
getDownloadSize |
Gets the size of the downloaded file. This API takes effect only for download by fileid . |
getProgress |
Gets the current download progress. |
getPlayPath |
Gets the current playback path, which can be passed in to TXVodPlayer for playback. |
getDownloadState |
Gets the download status. |
isDownloadFinished |
Determines whether the download is completed. |
Static attributes
TXPlayerAuthBuilder
The configuration for encrypted video playback through fileId
.
TXBitrateItem
The video bitrate information.
API |
Description |
index |
The number of the stream in the m3u8 file. |
width |
The video width of this stream. |
height |
The video height of this stream. |
bitrate |
The video bitrate of this stream. |
compareTo |
Whether the bitrates of two streams are the same. |
TXImageSprite
The image sprite parsing class.
TXPlayerDrmBuilder
The DRM playback information.
TXPlayInfoParams
Parameters for video playback through fileId
.
Error Codes
Normal events
Code |
Event Definition |
Description |
2004 |
PLAY_EVT_PLAY_BEGIN |
Video playback started, and the loading icon animation (if any) ended. |
2005 |
PLAY_EVT_PLAY_PROGRESS |
Video playback progress (including the current playback progress, loading progress, and total video duration). |
2007 |
PLAY_EVT_PLAY_LOADING |
The video is being loaded. The LOADING_END event will be reported if video playback resumes. |
2014 |
PLAY_EVT_VOD_LOADING_END |
Video loading ended, and video playback resumed. |
2006 |
PLAY_EVT_PLAY_END |
Video playback ended. |
2013 |
PLAY_EVT_VOD_PLAY_PREPARED |
The player has been prepared and can start playback. |
2003 |
PLAY_EVT_RCV_FIRST_I_FRAME |
The network received the first renderable video data packet (IDR). |
2009 |
PLAY_EVT_CHANGE_RESOLUTION |
The video resolution changed. |
2011 |
PLAY_EVT_CHANGE_ROTATION |
The MP4 video was rotated. |
Warnings
Code |
Event Definition |
Description |
-2301 |
PLAY_ERR_NET_DISCONNECT |
The network was disconnected and could not be reconnected after multiple retries. You can restart the player to perform more connection retries. |
-2305 |
PLAY_ERR_HLS_KEY |
Failed to get the HLS decryption key. |
2101 |
PLAY_WARNING_VIDEO_DECODE_FAIL |
Failed to decode the current video frame. |
2102 |
PLAY_WARNING_AUDIO_DECODE_FAIL |
Failed to decode the current audio frame. |
2103 |
PLAY_WARNING_RECONNECT |
The network was disconnected, and automatic reconnection was performed (the PLAY_ERR_NET_DISCONNECT event will be thrown after three failed attempts). |
2106 |
PLAY_WARNING_HW_ACCELERATION_FAIL |
Failed to start the hardware decoder, and the software decoder was used instead. |
-2304 |
PLAY_ERR_HEVC_DECODE_FAIL |
Failed to decode with H.265. |
-2303 |
PLAY_ERR_FILE_NOT_FOUND |
The file to be played back does not exist. |
Player SDK Constants
The following constants are made available through TXVodConstants
starting from v10.0:
Image fill mode
Image rendering angle
Playback event list
Playback event parameters
Playback network status notification parameters
Player asset types
Uncategorized variables
Code |
Event Definition |
Description |
-1 |
INDEX_AUTO |
The index for adaptive bitrate |
</string,object> |
|
|
Was this page helpful?