TXVodPlayer
点播播放器
请参见 TXVodPlayer。
主要负责从指定的点播流地址拉取音视频数据,并进行解码和本地渲染播放。
播放器包含如下能力:支持 FLV、MP4 及 HLS 多种播放格式,支持 基础播放(URL 播放) 和 点播播放(Fileid 播放)两种播放方式 。屏幕截图,可以截取当前播放流的视频画面。通过手势操作,调节亮度、声音、进度等。可以手动切换不同的清晰度,也可根据网络带宽自适应选择清晰度。可以指定不同倍速播放,并开启镜像和硬件加速。完整能力,请参见 播放器 SDK 功能说明。
播放器配置接口
| setConfig |
设置播放器配置信息,配置信息请参见 TXVodPlayConfig 。 |
| setPlayerView |
设置播放器的视频渲染 TXCloudVideoView。 |
| setPlayerView |
设置播放器的视频渲染 TextureView。 |
| setSurface |
设置播放器的视频渲染 SurfaceView。 |
| setStringOption |
设置播放器业务参数,参数格式为。 |
| setSubtitleStyle |
设置字幕样式信息,可在播放后对字幕样式进行更新(播放器高级版本才支持)。 |
| setSubtitleView |
设置字幕软解目标对象(播放器高级版本才支持)。 |
播放基础接口
| startVodPlay |
播放 HTTP URL 形式地址。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和播放器 Licence 均可使用,若您暂未获取上述 Licence ,可 快速免费申请测试版 Licence 来正常播放,正式版 License 需 购买。 |
| startVodPlay |
以 fileId 形式播放,此接口已经放弃,推荐使用 this#startVodPlay(TXPlayInfoParams)。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和播放器 Licence 均可使用,若您暂未获取上述 Licence ,可 快速免费申请测试版 Licence 以正常播放,正式版 License 需 购买。 |
| startVodPlay |
以 fileId 形式播放,传入TXPlayInfoParams 参数。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和播放器 Licence 均可使用,若您暂未获取上述 Licence ,可 快速免费申请测试版 Licence 以正常播放,正式版 License 需 购买。 |
| startPlayDrm |
播放 DRM 加密视频。 |
| stopPlay |
停止播放。 |
| isPlaying |
是否正在播放。 |
| pause |
暂停播放,停止获取流数据,保留最后一帧画面。 |
| resume |
恢复播放,重新获取流数据。 |
| seek |
跳转到视频流指定时间点,单位秒。 |
| seek |
跳转到视频流指定时间点,单位秒,小数点后精确到3位。 |
| getCurrentPlaybackTime |
获取当前播放位置,单位秒。 |
| getBufferDuration |
获取缓存的总时长,单位秒。 |
| getDuration |
获取总时长,单位秒。 |
| getPlayableDuration |
获取可播放时长,单位秒。 |
| getWidth |
获取视频宽度。 |
| getHeight |
获取视频高度。 |
| setAutoPlay |
设置点播是否 startPlay 后自动开始播放,默认自动播放。 |
| setStartTime |
设置播放开始时间。 |
| setToken |
加密 HLS 的 token。 |
| getEncryptedPlayKey |
获取加固加密播放密钥。 |
| setLoop |
设置是否循环播放。 |
| isLoop |
返回是否循环播放状态。 |
| addSubtitleSource |
添加外挂字幕(播放器高级版本才支持)。 |
| getSubtitleTrackInfo |
返回字幕轨道信息列表(播放器高级版本才支持)。 |
| getAudioTrackInfo |
返回音频轨道信息列表(播放器高级版本才支持)。 |
| selectTrack |
选择轨道(播放器高级版本才支持)。 |
| deselectTrack |
取消选择轨道(播放器高级版本才支持)。 |
视频相关接口
| enableHardwareDecode |
启用或禁用视频硬解码。 |
| snapshot |
获取当前视频帧图像。注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。 |
| setMirror |
设置镜像。 |
| setRate |
设置点播的播放速率,默认1.0。 |
| getBitrateIndex |
返回当前播放的码率索引。 |
| getSupportedBitrates |
当播放地址为 HSL 时,返回支持的码率(清晰度)列表。 |
| setBitrateIndex |
设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。 |
| setRenderMode |
设置 图像平铺模式。 |
| setRenderRotation |
设置 图像渲染角度。 |
音频相关接口
| setMute |
设置是否静音播放。 |
| setAudioPlayoutVolume |
设置音量大小,范围:0 – 100。 |
| setRequestAudioFocus |
设置是否自动获取音频焦点 默认自动获取。 |
事件通知接口
| setPlayListener |
设置播放器的回调(已弃用,建议使用 setVodListener)。 |
| setVodListener |
设置播放器的回调。 |
TRTC 相关接口
通过以下接口,可以把点播播放器的音视频流通过 TRTC 进行推送,更多 TRTC 服务请参见 TRTC 产品概述。
| attachTRTC |
点播绑定到 TRTC 服务。 |
| detachTRTC |
点播解绑 TRTC 服务。 |
| publishVideo |
开始推送视频流。 |
| unpublishVideo |
取消推送视频流。 |
| publishAudio |
开始推送音频流。 |
| unpublishAudio |
取消推送音频流。 |
ITXVodPlayListener
腾讯云点播回调通知。
SDK 基础回调
| onPlayEvent |
点播播放事件通知,请参见 播放事件列表、事件参数。 |
| onNetStatus |
点播播放器 网络状态通知。 |
TXVodPlayConfig
点播播放器配置类。
基础配置接口
| setConnectRetryCount |
设置播放器重连次数。 |
| setConnectRetryInterval |
设置播放器重连间隔,单位秒。 |
| setTimeout |
设置播放器连接超时时间,单位秒。 |
| setCacheFolderPath |
此接口已废弃,不推荐使用。设置点播缓存目录,点播 MP4、HLS 有效。 |
| setMaxCacheItems |
此接口已废弃,不推荐使用。设置缓存文件个数。 |
| setPlayerType |
此接口已经废弃,不推荐使用。设置播放器类型。 |
| setHeaders |
设置自定义 HTTP headers。 |
| setEnableAccurateSeek |
设置是否精确 seek,默认 true。 |
| setAutoRotate |
播放 MP4 文件时,若设为 YES 则根据文件中的旋转角度自动旋转。旋转角度可在 PLAY_EVT_CHANGE_ROTATION 事件中获得。默认 YES。 |
| setSmoothSwitchBitrate |
平滑切换多码率 HLS,默认 false。 |
| setCacheMp4ExtName |
缓存 MP4 文件扩展名。 |
| setProgressInterval |
设置进度回调间隔,单位毫秒。 |
| setMaxBufferSize |
最大预加载大小,单位 MB。 |
| setMaxPreloadSize |
设置预加载最大缓冲大小,单位:MB。 |
| setExtInfo |
设置拓展信息。 |
| setPreferredResolution |
播放 HLS 有多条码流时,根据设定的 preferredResolution 选最优的码流进行起播,preferredResolution 是宽高的乘积(width * height), 启播前设置才有效。 |
| setOverlayKey |
设置 HLS 安全加固加解密 key。 |
| setOverlayIv |
设置 HLS 安全加固加解密 Iv。 |
| setEnableRenderProcess |
是否允许加载后渲染后处理服务。 |
| setMediaType |
设置媒资类型, 默认为 auto 类型。可选值有:TXVodConstants#MEDIA_TYPE_AUTO,AUTO 类型(默认值,自适应码率播放暂不支持);TXVodConstants#MEDIA_TYPE_HLS_VOD,HLS 点播媒资;TXVodConstants#MEDIA_TYPE_HLS_LIVE,HLS 直播媒资;TXVodConstants#MEDIA_TYPE_FILE_VOD,MP4 等通用文件点播媒资(从 11.2 版本开始支持);TXVodConstants#MEDIA_TYPE_DASH_VOD,DASH 点播媒资(从 11.2 版本开始支持); |
TXPlayerGlobalSetting
点播播放器全局配置类
| setCacheFolderPath |
设置播放引擎的 cache 目录。设置后,离线下载,预下载,播放器等会优先从此目录读取和存储。 |
| setMaxCacheSize |
设置播放引擎的最大缓存大小。设置后会根据设定值自动清理Cache目录的文件,单位 MB。 |
| setDrmProvisionEnv |
设置 Drm 证书提供商环境(注意:从 11.2 版本开始支持)。可选值有:TXPlayerGlobalSetting.DrmProvisionEnv#DRM_PROVISION_ENV_COM, 代表使用 google COM 域名证书提供商;TXPlayerGlobalSetting.DrmProvisionEnv#DRM_PROVISION_ENV_CN,代表使用 google CN 域名证书提供商; |
TXVodPreloadManager
点播播放器预下载接口类
| getInstance |
获取 TXVodPreloadManager 实例对象,单例模式。 |
| startPreload |
启动预下载前,请先设置好播放引擎的缓存目录。 |
| stopPreload |
停止预下载。 |
ITXVodPreloadListener
视频预下载回调接口。
| onComplete |
视频预下载完成。 |
| onError |
视频预下载出错。 |
TXVodDownloadManager
点播播放器视频下载接口类。当前只支持下载非嵌套 m3u8 视频源,对 simpleAES 加密视频源将进行腾讯云私有加密算法加密以提升安全性。
| getInstance |
获取 TXVodDownloadManager 实例对象,单例模式。 |
| setHeaders |
设置下载 HTTP 头。 |
| setListener |
设置下载回调方法,下载前必须设好。 |
| startDownloadUrl |
以 URL 方式开始下载。 |
| startDownload |
以 fileid 方式开始下载。 |
| stopDownload |
停止下载,ITXVodDownloadListener.onDownloadStop 回调时停止成功。 |
| deleteDownloadMediaInfo |
删除下载信息。 |
| getDownloadMediaInfoList |
获取所有用户的下载列表信息。 |
| getDownloadMediaInfo |
获取下载信息。 |
| getDownloadMediaInfo |
获取下载信息。 |
ITXVodDownloadListener
腾讯云视频下载回调通知。
| onDownloadStart |
下载开始。 |
| onDownloadProgress |
下载进度更新。 |
| onDownloadStop |
下载停止。 |
| onDownloadFinish |
下载结束。 |
| onDownloadError |
下载过程中遇到错误。 |
| hlsKeyVerify |
下载 HLS,遇到加密的文件,将解密 key 给外部校验。TXVodDownloadDataSource。 |
腾讯云视频 fildid 下载源,下载时作为参数传入。
| TXVodDownloadDataSource |
构造函数,传入 appid,fileid,quality,pSign,username 等参数。 |
| getAppId |
获取传入的 appid。 |
| getFileId |
获取传入的 fileid。 |
| getPSign |
获取传入的 psign。 |
| getQuality |
获取传入的 quality。 |
| getUserName |
获取传入的 userName,默认“default”。 |
| getToken |
获取传入的 token。 |
| getOverlayKey |
获取传入的 overlayKey。 |
| getOverlayIv |
获取传入的 overlayIv。 |
清晰度常量
说明:TXVodQuality240P ~ TXVodQuality1080p 常量在 11.0 版本新增。
| 0 |
QUALITY_OD |
原画 |
| 1 |
QUALITY_FLU |
流畅 |
| 2 |
QUALITY_SD |
标清 |
| 3 |
QUALITY_HD |
高清 |
| 4 |
QUALITY_FHD |
全高清 |
| 5 |
QUALITY_2K |
2K |
| 6 |
QUALITY_4K |
4K |
| 1000 |
QUALITY_UNK |
未定义 |
| 240 |
TXVodQuality240P |
流畅 240P |
| 360 |
TXVodQuality360P |
流畅 360P |
| 480 |
TXVodQuality480P |
标清 480P |
| 540 |
TXVodQuality540P |
标清 540P |
| 720 |
TXVodQuality720P |
高清 720P |
| 1080 |
TXVodQuality1080p |
全高清 1080P |
TXVodDownloadMediaInfo
腾讯云视频下载信息,可获取下载进度,播放链接等等信息
| getDataSource |
fileid 下载时获取传入的 fileid 下载源。 |
| getDuration |
获取下载的总时长。 |
| getPlayableDuration |
获取已下载的可播放时长。 |
| getSize |
获取下载文件总大小,单位:Byte,只针对 fileid 下载源有效。注意:总大小是指上传到腾讯云点播控制台的原始文件的大小,转自适应码流后的子流大小,暂时无法获取。 |
| getDownloadSize |
获取已下载文件大小,只针对 fileid 下载源有效。 |
| getProgress |
获取当前下载进度。 |
| getPlayPath |
获取当前播放路径,可传给 TXVodPlayer 播放。 |
| getDownloadState |
获取下载状态。 |
| isDownloadFinished |
判断是否下载完成。 |
| getSpeed |
获取下载速度,单位:KByte/秒。(10.9 版本开始支持) |
| isResourceBroken |
判断下载后的视频资源是否损坏,如下载完被删除等情况将返回true。(11.0 版本开始支持) |
静态属性
| 0 |
STATE_INIT |
下载初始态 |
| 1 |
STATE_START |
下载开始 |
| 2 |
STATE_STOP |
下载停止 |
| 3 |
STATE_ERROR |
下载出错 |
| 4 |
STATE_FINISH |
下载完成 |
TXPlayerAuthBuilder
通过 fileId 播放加密视频配置。
| setAppId |
应用 appId。 |
| setFileId |
文件 ID。 |
| setTimeout |
加密链接超时时间戳。 |
| setExper |
试看时长。 |
| setUs |
唯一标识请求。 |
| setSign |
防盗链签名。 |
| setHttps |
是否用 https 请求。 |
TXBitrateItem
视频码率信息。
| index |
m3u8 文件中的序号。 |
| width |
此流的视频宽度。 |
| height |
此流的视频高度。 |
| bitrate |
此流的视频码率。 |
| compareTo |
比较两条流的码率是否相等。 |
TXImageSprite
雪碧图解析类。
| TXImageSprite |
构造函数。 |
| setVTTUrlAndImageUrls |
设置雪碧图地址。 |
| getThumbnail |
获取缩略图。 |
| release |
使用完毕调用,否则会造成内存泄漏。 |
TXPlayerDrmBuilder
DRM 播放信息。
| TXPlayerDrmBuilder |
构造 DRM 播放信息对象。 |
| setDeviceCertificateUrl |
设置证书提供商 url。 |
| setKeyLicenseUrl |
设置解密 key url。 |
| setPlayUrl |
设置播放媒体的 url。 |
TXPlayInfoParams
通过 fileId 播放视频参数信息。
| TXPlayInfoParams |
构造函数。 |
| getAppId |
获取应用 id。 |
| getFileId |
获取文件 id。 |
| getPSign |
获取腾讯云视频加密签名。 |
错误码表
常规事件
| 2004 |
PLAY_EVT_PLAY_BEGIN |
视频播放开始(若有转菊花效果,此时将停止)。 |
| 2005 |
PLAY_EVT_PLAY_PROGRESS |
视频播放进度,会通知当前播放进度、加载进度和总体时长。 |
| 2007 |
PLAY_EVT_PLAY_LOADING |
视频播放 loading,如果能够恢复,之后会有 LOADING_END 事件。 |
| 2014 |
PLAY_EVT_VOD_LOADING_END |
视频播放 loading 结束,视频继续播放。 |
| 2006 |
PLAY_EVT_PLAY_END |
视频播放结束。 |
| 2013 |
PLAY_EVT_VOD_PLAY_PREPARED |
播放器已准备完成,可以播放。 |
| 2003 |
PLAY_EVT_RCV_FIRST_I_FRAME |
网络接收到首个可渲染的视频数据包(IDR)。 |
| 2009 |
PLAY_EVT_CHANGE_RESOLUTION |
视频分辨率改变。 |
| 2011 |
PLAY_EVT_CHANGE_ROTATION |
MP4 视频旋转角度。 |
警告事件
| -2301 |
PLAY_ERR_NET_DISCONNECT |
网络断连,且经多次重连亦不能恢复,更多重试请自行重启播放。 |
| -2305 |
PLAY_ERR_HLS_KEY |
HLS 解密 key 获取失败。 |
| 2101 |
PLAY_WARNING_VIDEO_DECODE_FAIL |
当前视频帧解码失败。 |
| 2102 |
PLAY_WARNING_AUDIO_DECODE_FAIL |
当前音频帧解码失败。 |
| 2103 |
PLAY_WARNING_RECONNECT |
网络断连, 已启动自动重连 (重连超过三次就直接抛送 PLAY_ERR_NET_DISCONNECT)。 |
| 2106 |
PLAY_WARNING_HW_ACCELERATION_FAIL |
硬解启动失败,采用软解。 |
| -2304 |
PLAY_ERR_HEVC_DECODE_FAIL |
H265 解码失败。 |
| -2303 |
PLAY_ERR_FILE_NOT_FOUND |
播放的文件不存在。 |
播放器 SDK 常量
下面的常量10.0 版本开始,通过TXVodConstants对外提供:
图像平铺模式
| 0 |
RENDER_MODE_FULL_FILL_SCREEN |
视频画面全屏铺满。 |
| 1 |
RENDER_MODE_ADJUST_RESOLUTION |
视频画面自适应屏幕。 |
图像渲染角度
| 0 |
RENDER_ROTATION_PORTRAIT |
常规竖屏。 |
| 270 |
RENDER_ROTATION_LANDSCAPE |
右旋90度。 |
播放事件列表
| 2003 |
VOD_PLAY_EVT_RCV_FIRST_I_FRAME |
网络接收到首个视频数据包(IDR)。 |
| 2004 |
VOD_PLAY_EVT_PLAY_BEGIN |
视频播放开始。 |
| 2005 |
VOD_PLAY_EVT_PLAY_PROGRESS |
视频播放进度。 |
| 2006 |
VOD_PLAY_EVT_PLAY_END |
视频播放结束。 |
| 2007 |
VOD_PLAY_EVT_PLAY_LOADING |
视频播放 Loading。 |
| 2008 |
VOD_PLAY_EVT_START_VIDEO_DECODER |
解码器启动。 |
| 2009 |
VOD_PLAY_EVT_CHANGE_RESOLUTION |
视频分辨率改变。 |
| 2010 |
VOD_PLAY_EVT_GET_PLAYINFO_SUCC |
获取点播文件信息成功。 |
| 2011 |
VOD_PLAY_EVT_CHANGE_ROTATION |
视频旋转信息。 |
| 2013 |
VOD_PLAY_EVT_VOD_PLAY_PREPARED |
视频加载完毕。 |
| 2014 |
VOD_PLAY_EVT_VOD_LOADING_END |
loading 结束。 |
| 2026 |
VOD_PLAY_EVT_RCV_FIRST_AUDIO_FRAME |
音频首次播放。 |
| 2103 |
VOD_PLAY_WARNING_RECONNECT |
网络断连, 已启动自动重连。 |
| -2301 |
VOD_PLAY_ERR_NET_DISCONNECT |
网络断连, 且经多次重连抢救无效。 |
| -2303 |
VOD_PLAY_ERR_FILE_NOT_FOUND |
文件不存在。 |
| -2304 |
VOD_PLAY_ERR_HEVC_DECODE_FAIL |
h265 解码失败。 |
| -2305 |
VOD_PLAY_ERR_HLS_KEY |
HLS 解密 key 获取失败。 |
| -2306 |
VOD_PLAY_ERR_GET_PLAYINFO_FAIL |
获取点播文件信息失败。 |
| 2106 |
VOD_PLAY_WARNING_HW_ACCELERATION_FAIL |
硬解启动失败,采用软解。 |
| -5 |
VOD_PLAY_ERR_INVALID_LICENSE |
license 不合法,播放失败。注意:在 startVodPlay 之前,需要通过 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和播放器 License 均可使用,若您暂未获取上述 License ,可 快速免费申请测试版 License 以正常播放,正式版 License 需 购买。 |
播放事件参数
| EVT_UTC_TIME |
UTC 时间。 |
| EVT_TIME |
事件发生时间。 |
| EVT_DESCRIPTION |
事件说明。 |
| EVT_PARAM1 |
事件参数1。 |
| EVT_PARAM2 |
事件参数2。 |
| EVT_PLAY_COVER_URL |
视频封面。 |
| EVT_PLAY_URL |
视频地址。 |
| EVT_PLAY_NAME |
视频名称。 |
| EVT_PLAY_DESCRIPTION |
视频简介。 |
| EVT_PLAY_PROGRESS_MS |
播放进度(毫秒)。 |
| EVT_PLAY_DURATION_MS |
播放总长(毫秒)。 |
| EVT_PLAY_PROGRESS |
播放进度。 |
| EVT_PLAY_DURATION |
播放总长。 |
| EVT_PLAYABLE_DURATION_MS |
点播可播放时长(毫秒)。 |
| EVT_PLAYABLE_RATE |
播放速率。 |
| EVT_PLAYABLE_DURATION |
点播可播放时长。 |
| EVT_IMAGESPRIT_WEBVTTURL |
雪碧图 web vtt 描述文件下载 URL。 |
| EVT_IMAGESPRIT_IMAGEURL_LIST |
雪碧图图片下载 URL。 |
| EVT_DRM_TYPE |
加密类型。 |
| EVT_CODEC_TYPE |
视频编码类型。 |
| EVT_KEY_FRAME_CONTENT_LIST |
视频关键帧描述信息。 |
| EVT_KEY_FRAME_TIME_LIST |
关键帧时间。 |
播放网络状态通知参数
| NET_STATUS_CPU_USAGE |
CPU 使用率。 |
| NET_STATUS_VIDEO_WIDTH |
分辨率之 width。 |
| NET_STATUS_VIDEO_HEIGHT |
分辨率之 height。 |
| NET_STATUS_VIDEO_FPS |
当前视频帧率。 |
| NET_STATUS_VIDEO_GOP |
当前视频 GOP。 |
| NET_STATUS_VIDEO_BITRATE |
视频数据比特率。 |
| NET_STATUS_AUDIO_BITRATE |
音频数据比特率。 |
| NET_STATUS_NET_SPEED |
音视频网络速率,单位:kbps。 |
| NET_STATUS_AUDIO_CACHE |
音频帧数。 |
| NET_STATUS_VIDEO_CACHE |
视频帧数。 |
| NET_STATUS_AUDIO_INFO |
当前流的音频信息。 |
| NET_STATUS_NET_JITTER |
网络抖动情况。 |
| NET_STATUS_SERVER_IP |
连接的 Server IP 地址。 |
| NET_STATUS_VIDEO_DPS |
当前解码器输出帧率。 |
| NET_STATUS_QUALITY_LEVEL |
网络质量。 |
播放器媒资类型
| 0 |
MEDIA_TYPE_AUTO |
auto 类型。 |
| 1 |
MEDIA_TYPE_HLS_VOD |
自适应码率播放 hls 点播媒资。 |
| 2 |
MEDIA_TYPE_HLS_LIVE |
自适应码率播放 hls 直播媒资。 |
未分类变量
| -1 |
INDEX_AUTO |
自适应码率 index 标识。 |
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?