TXVodPlayer
点播播放器
请参见 TXVodPlayer。
主要负责从指定的点播流地址拉取音视频数据,并进行解码和本地渲染播放。
播放器包含如下能力:支持 FLV、MP4 及 HLS 多种播放格式,支持 基础播放(URL 播放) 和 点播播放(Fileid 播放)两种播放方式 。屏幕截图,可以截取当前播放流的视频画面。通过手势操作,调节亮度、声音、进度等。可以手动切换不同的清晰度,也可根据网络带宽自适应选择清晰度。可以指定不同倍速播放,并开启镜像和硬件加速。完整能力,请参见 播放器SDK – 能力清单。
播放器配置接口
config |
点播配置,配置信息请参见 TXVodPlayConfig。 |
isAutoPlay |
startVodPlay 后是否立即播放,默认 YES。 |
token |
加密 HLS 的 token。设置此值后,播放器自动在 URL 中的文件名之前增加 voddrm.token.TOKEN TextureView 。 |
loop |
是否循环播放 SurfaceView。 |
enableHWAcceleration |
视频渲染回调。(仅硬解支持) |
setExtentOptionInfo |
设置播放器业务参数,参数格式为
|
setSubtitleStyle |
设置字幕样式信息,可在播放后对字幕样式进行更新(播放器高级版本才支持)。 |
播放基础接口
startVodPlay |
播放 HTTP URL 形式地址。10.7 版本开始,startPlay 变更为startVodPlay ,需要通过 V2TXLivePremier#setLicence 或者TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和播放器 License 均可使用,若您暂未获取上述 License ,可 快速免费申请测试版 License 来正常播放,正式版 License 需 购买。 |
startVodPlayWithParams |
以 fileId 形式播放。10.7 版本开始,startPlayWithParams 变更为startVodPlayWithParams ,需要通过 V2TXLivePremier#setLicence 或者TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和播放器 License 均可使用,若您暂未获取上述 License ,可 快速免费申请测试版 License 来正常播放,正式版 License 需 购买。 |
stopPlay |
停止播放。 |
isPlaying |
是否正在播放。 |
pause |
暂停播放,停止获取流数据,保留最后一帧画面。 |
resume |
恢复播放,重新获取流数据。 |
seek |
跳转到视频流指定时间点,单位秒。 |
currentPlaybackTime |
获取当前播放位置,单位秒。 |
duration |
获取总时长,单位秒。 |
playableDuration |
获取可播放时长,单位秒。 |
width |
获取视频宽度。 |
height |
获取视频高度。 |
setStartTime |
设置播放开始时间。 |
setupVideoWidget:insertIndex: |
创建 Video 渲染 View,该控件承载着视频内容的展示。 |
removeVideoWidget |
移除 Video 渲染 View。 |
addSubtitleSource:name:mimeType: |
添加外挂字幕(播放器高级版本才支持)。 |
getSubtitleTrackInfo |
返回字幕轨道信息列表(播放器高级版本才支持)。 |
getAudioTrackInfo |
返回音频轨道信息列表(播放器高级版本才支持)。 |
selectTrack: |
选择轨道(播放器高级版本才支持)。 |
deselectTrack: |
取消选择轨道(播放器高级版本才支持)。 |
视频相关接口
snapshot |
获取当前视频帧图像。注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。 |
setMirror |
设置镜像。 |
setRate |
设置点播的播放速率,默认1.0。 |
bitrateIndex |
返回当前播放的码率索引。 |
setBitrateIndex |
设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。 |
setRenderMode |
设置 图像平铺模式。 |
setRenderRotation |
设置 图像渲染角度。 |
enterPictureInPicture |
进入画中画功能。 |
exitPictureInPicture |
退出画中画功能。 |
音频相关接口
setMute |
设置是否静音播放。 |
setAudioPlayoutVolume |
设置音量大小,范围:0 – 100。 |
事件通知接口
delegate |
事件回调,建议使用 vodDelegate。 |
vodDelegate |
设置播放器的回调。 |
videoProcessDelegate |
视频渲染回调(仅硬解支持)。 |
TRTC 相关接口
通过以下接口,可以把点播播放器的音视频流通过 TRTC 进行推送,更多 TRTC 服务请参见 TRTC 产品概述。
attachTRTC |
点播绑定到 TRTC 服务。 |
detachTRTC |
点播解绑 TRTC 服务。 |
publishVideo |
开始推送视频流。 |
unpublishVideo |
取消推送视频流。 |
publishAudio |
开始推送音频流。 |
unpublishAudio |
取消推送音频流。 |
类方法
getEncryptedPlayKey |
获取加固加密播放密钥。 |
isSupportPictureInPicture |
是否支持 Picture In Picture功能(“画中画”功能)。 |
TXVodPlayListener
腾讯云点播回调通知。
SDK 基础回调
onPlayEvent |
点播播放事件通知,请参见 播放事件列表、事件参数。 |
onNetStatus |
点播播放器 网络状态通知。 |
onPlayer:pictureInPictureStateDidChange:withParam: |
画中画状态回调。 |
onPlayer:pictureInPictureErrorDidOccur:withParam: |
画中画错误状态回调。 |
TXVodPlayConfig
点播播放器配置类。
基础配置接口
connectRetryCount |
设置播放器重连次数。 |
connectRetryInterval |
设置播放器重连间隔,单位秒。 |
timeout |
设置播放器连接超时时间,单位秒。 |
cacheFolderPath |
此接口已废弃,推荐使用 TXPlayerGlobalSetting##setCacheFolderPath。设置点播缓存目录,点播 MP4、HLS 有效。 |
maxCacheItems |
此接口已废弃,推荐使用 TXPlayerGlobalSetting#setMaxCacheSizeMB。设置缓存文件个数。 |
playerType |
设置播放器类型。 |
headers |
设置自定义 HTTP headers。 |
enableAccurateSeek |
设置是否精确 seek,默认 true。 |
autoRotate |
播放 MP4 文件时,若设为 YES 则根据文件中的旋转角度自动旋转。旋转角度可在 PLAY_EVT_CHANGE_ROTATION 事件中获得。默认 YES。 |
smoothSwitchBitrate |
平滑切换多码率 HLS,默认 false。 |
progressInterval |
设置进度回调间隔,单位毫秒。 |
maxBufferSize |
最大预加载大小,单位 MB。 |
maxPreloadSize |
设置预加载最大缓冲大小,单位:MB。 |
firstStartPlayBufferTime |
设置首缓需要加载的数据时长,单位 ms,默认值为100ms。 |
nextStartPlayBufferTime |
缓冲时(缓冲数据不够引起的二次缓冲,或者 seek 引起的拖动缓冲)最少要缓存多长的数据才能结束缓冲,单位ms,默认值为250ms。 |
overlayKey |
设置 HLS 安全加固加解密 key。 |
overlayIv |
设置 HLS 安全加固加解密 Iv。 |
extInfoMap |
设置拓展信息。 |
preferredResolution |
播放 HLS 有多条码流时,根据设定的 preferredResolution 选最优的码流进行起播 *,preferredResolution 是宽高的乘积(width * height), 启播前设置才有效。 |
enableRenderProcess |
是否允许加载后渲染后处理服务(如超分插件服务),默认开启。 |
playerPixelFormatType |
视频渲染对象回调的视频格式。 |
keepLastFrameWhenStop |
stopPlay 的时候是否保留最后一帧画面,默认值为 NO。 |
mediaType |
设置媒资类型。设置媒资类型。可选值有:
MEDIA_TYPE_AUTO,AUTO 类型(默认值,自适应码率播放暂不支持)。
MEDIA_TYPE_HLS_VOD,HLS 点播媒资。
MEDIA_TYPE_HLS_LIVE,HLS 直播媒资。
MEDIA_TYPE_FILE_VOD,MP4 等通用文件点播媒资(从 11.2 版本开始支持)。
MEDIA_TYPE_DASH_VOD,DASH 点播媒资(从 11.2 版本开始支持)。 |
TXPlayerGlobalSetting
点播播放器全局配置类
setCacheFolderPath |
设置播放引擎的 cache 目录。设置后,预下载,播放器等会优先从此目录读取和存储。 |
setMaxCacheSize |
设置播放引擎的最大缓存大小。设置后会根据设定值自动清理 Cache 目录的文件。单位MB。 |
TXVodPreloadManager
点播播放器预下载接口类
sharedManager |
获取 TXVodPreloadManager 实例对象,单例模式。 |
startPreload |
启动预下载前,请先设置好播放引擎的缓存目录TXPlayerGlobalSetting#setCacheFolderPath 和缓存大小TXPlayerGlobalSetting#setMaxCacheSize。 |
stopPreload |
停止预下载。 |
视频预下载回调
onComplete:url: |
下载完成回调。 |
onError:url:error: |
下载错误回调。 |
TXVodDownloadManager
点播播放器视频下载接口类
TXVodDownloadDataSource
auth |
fileid 信息。 |
quality |
下载清晰度,默认原画。 |
token |
如地址有加密,请填写 token。 |
templateName |
清晰度模板。 |
fileId |
文件Id。 |
pSign |
签名信息。 |
appId |
应用 appId。必填。 |
userName |
账户名称。 |
overlayKey |
HLS EXT-X-KEY 加解密参数。 |
overlayIv |
加解密参数 overlayIv。 |
isDownloadFinished |
是否下载完成。 |
dataSource |
fileid 下载对象(可选)。 |
url |
下载地址。 |
userName |
账户名称 。 |
duration |
时长。 |
playableDuration |
可播放时长。 |
size |
获取下载文件总大小,单位:Byte,只针对 fileid 下载源有效。备注:总大小是指上传到腾讯云点播控制台的原始文件的大小,转自适应码流后的子流大小,暂时无法获取。 |
downloadSize |
已下载大小,单位:byte。 |
segments |
分段总数。 |
downloadSegments |
已下载的分段数 |
progress |
进度。 |
playPath |
播放路径,可传给 TXVodPlayer 播放。 |
speed |
下载速度,byte 每秒。 |
downloadState |
下载状态。 |
isResourceBroken |
判断下载后的视频资源是否损坏,如下载完被删除等情况将返回YES。(11.0 版本开始支持) |
TXVodDownloadManager
shareInstance |
获取 TXVodDownloadManager 实例对象,单例模式。 |
setDownloadPath |
设置下载根目录。 |
headers |
设置下载 HTTP 头。 |
delegate |
设置下载回调方法,下载前必须设好。 |
startDownloadUrl |
以 URL 方式开始下载。 |
startDownload |
以 FileID 方式开始下载。 |
stopDownload |
停止下载,ITXVodDownloadListener.onDownloadStop 回调时停止成功。 |
deleteDownloadFile |
删除下载文件。 |
deleteDownloadMediaInfo |
删除下载信息。 |
getDownloadMediaInfoList |
获取所有用户的下载列表信息。 |
getDownloadMediaInfo |
获取下载信息。 |
getOverlayKeyIv |
获取HLS EXT-X-KEY。 |
genRandomHexStringForHls |
获取加密随机数。 |
encryptHexStringHls: |
加密。 |
TXVodDownloadDelegate
onDownloadStart |
下载开始。 |
onDownloadProgress |
下载进度更新。 |
onDownloadStop |
下载停止。 |
onDownloadFinish |
下载结束。 |
onDownloadError |
下载过程中遇到错误。 |
hlsKeyVerify |
下载 HLS,遇到加密的文件,将解密 Key 给外部校验。 |
TXDownloadError
下载错误码,详细信息请参见 TXDownloadError。
TXDownloadSuccess |
下载成功。 |
TXDownloadAuthFaild |
fileid 鉴权失败。 |
TXDownloadNoFile |
无此清晰度文件。 |
TXDownloadFormatError |
格式不支持。 |
TXDownloadDisconnet |
网络断开。 |
TXDownloadHlsKeyError |
获取 HLS 解密 key 失败。 |
TXDownloadPathError |
下载目录访问失败。 |
下载状态,详细信息请参见 TXVodDownloadMediaInfoState。
TXVodDownloadMediaInfoStateInit |
下载初始态。 |
TXVodDownloadMediaInfoStateStart |
下载开始。 |
TXVodDownloadMediaInfoStateStop |
下载停止。 |
TXVodDownloadMediaInfoStateError |
下载出错。 |
TXVodDownloadMediaInfoStateFinish |
下载完成。 |
TXVodQuality
下载视频的清晰度,详细信息请参见 TXVodQuality。说明:TXVodQuality240P ~ TXVodQuality1080p 常量在 11.0 版本新增。
TXVodQualityOD |
原画。 |
TXVodQualityFLU |
流畅。 |
TXVodQualitySD |
标清。 |
TXVodQualityHD |
高清。 |
TXVodQualityFHD |
全高清。 |
TXVodQuality2K |
2K。 |
TXVodQuality4K |
4K。 |
TXVodQuality240P |
流畅240P。 |
TXVodQuality360P |
流畅360P。 |
TXVodQuality480P |
标清480P。 |
TXVodQuality540P |
标清540P。 |
TXVodQuality720P |
高清720P。 |
TXVodQuality1080p |
高清720P。 |
TXPlayerAuthParams
通过 fileId 播放加密视频配置。
appId |
应用 appId。 |
fileId |
文件 ID。 |
timeout |
加密链接超时时间戳。 |
exper |
试看时长。 |
us |
唯一标识请求。 |
sign |
防盗链签名。 |
https |
是否用 https 协议进行 CGI 请求,默认为 NO。 |
TXBitrateItem
HLS多码率信息。
index |
m3u8 文件中的序号。 |
width |
此流的视频宽度。 |
height |
此流的视频高度。 |
bitrate |
此流的视频码率。 |
TXImageSprite
雪碧图解析工具。
setVTTUrl |
设置雪碧图地址。 |
getThumbnail |
获取缩略图。 |
TXPlayerDrmBuilder
点播 Drm 构造器。
certificateUrl |
证书提供商 URL。 |
keyLicenseUrl |
解密 key URL。 |
playUrl |
播放链接。 |
错误码表
常规事件
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 |
播放的文件不存在。 |
-5 |
VOD_PLAY_ERR_LICENCE_CHECK_FAIL |
License 不合法,播放失败。注意:在 startVodPlay 之前,需要通过 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和播放器 License 均可使用,若您暂未获取上述 License ,可 快速免费申请测试版 License 以正常播放,正式版 License 需 购买。 |
播放器 SDK 常量
事件码和错误码定义
详细信息请参见 播放器的事件码和错误码定义。
VOD_PLAY_EVT_RCV_FIRST_I_FRAME |
播放事件:成功接收到第一个视频帧。 |
VOD_PLAY_EVT_RCV_FIRST_AUDIO_FRAME |
播放事件:成功接收到第一个音频帧。 |
VOD_PLAY_EVT_PLAY_BEGIN |
播放事件:播放已经开始。 |
VOD_PLAY_EVT_PLAY_PROGRESS |
播放事件:播放进度更新,点播播放器(VodPlayer)专用。 |
VOD_PLAY_EVT_PLAY_END |
播放事件:播放已经结束。 |
VOD_PLAY_EVT_PLAY_LOADING |
播放事件:数据缓冲中。 |
VOD_PLAY_EVT_START_VIDEO_DECODER |
播放事件: 视频解码器已经启动。 |
VOD_PLAY_EVT_CHANGE_RESOLUTION |
播放事件:视频分辨率发生变化。 |
VOD_PLAY_EVT_GET_PLAYINFO_SUCC |
播放事件:成功获取到点播文件的信息,点播播放器(VodPlayer)专用。 |
VOD_PLAY_EVT_CHANGE_ROTATION |
播放事件:MP4 视频的旋转角度发生变化,点播播放器(VodPlayer)专用。 |
VOD_PLAY_EVT_VOD_PLAY_PREPARED |
播放事件:视频加载完毕,点播播放器(VodPlayer)专用。 |
VOD_PLAY_EVT_VOD_LOADING_END |
播放事件:视频缓冲结束,点播播放器(VodPlayer)专用。 |
VOD_PLAY_EVT_STREAM_SWITCH_SUCC |
播放事件:已经成功完成切流(在不同清晰度的视频流之间进行切换)。 |
VOD_PLAY_EVT_VOD_PLAY_TCP_CONNECT_SUCC |
TCP 连接成功。 |
VOD_PLAY_EVT_VOD_PLAY_FIRST_VIDEO_PACKET |
收到首帧数据。 |
VOD_PLAY_EVT_VOD_PLAY_SEEK_COMPLETE |
视频播放 Seek 完成。 |
VOD_PLAY_EVT_AUDIO_SESSION_INTERRUPT |
播放事件:Audio Session 被其他 App 中断(仅适用于 iOS 平台)。 |
VOD_PLAY_ERR_NET_DISCONNECT |
直播错误:网络连接断开(已经经过三次重试并且未能重连成功)。 |
VOD_PLAY_ERR_FILE_NOT_FOUND |
点播错误:播放文件不存在。 |
VOD_PLAY_ERR_HLS_KEY |
点播错误:HLS 解码 KEY 获取失败。 |
VOD_PLAY_ERR_GET_PLAYINFO_FAIL |
点播错误:获取点播文件的文件信息失败。 |
画中画错误类型
详细信息可参见 画中画错误类型。
TX_VOD_PLAYER_PIP_ERROR_TYPE_NONE |
无错误。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_DEVICE_NOT_SUPPORT |
设备或系统版本不支持(iPad iOS9+ 才支持 PIP)。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_PLAYER_NOT_SUPPORT |
播放器不支持。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_VIDEO_NOT_SUPPORT |
视频不支持。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_PIP_IS_NOT_POSSIBLE |
PIP 控制器不可用。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_ERROR_FROM_SYSTEM |
PIP 控制器报错。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_PLAYER_NOT_EXIST |
播放器对象不存在。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_PIP_IS_RUNNING |
PIP 功能已经运行。 |
TX_VOD_PLAYER_PIP_ERROR_TYPE_PIP_NOT_RUNNING |
PIP 功能没有启动。 |
画中画控制器状态
详细信息可参见 画中画控制器状态。
TX_VOD_PLAYER_PIP_STATE_UNDEFINED |
未设置状态。 |
TX_VOD_PLAYER_PIP_STATE_WILL_START |
画中画即将开始。 |
TX_VOD_PLAYER_PIP_STATE_DID_START |
画中画已经开始。 |
TX_VOD_PLAYER_PIP_STATE_WILL_STOP |
画中画即将结束。 |
TX_VOD_PLAYER_PIP_STATE_DID_STOP |
画中画已经结束。 |
TX_VOD_PLAYER_PIP_STATE_RESTORE_UI |
重置 UI。 |
云点播官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/144024.html