tencent cloud

文档反馈

API 文档

最后更新时间:2023-03-15 17:43:58

    TXVodPlayer

    点播播放器

    请参见 TXVodPlayer
    主要负责从指定的点播流地址拉取音视频数据,并进行解码和本地渲染播放。
    播放器包含如下能力:

    • 支持 FLV、MP4 及 HLS 多种播放格式,支持 基础播放(URL 播放) 和 点播播放(Fileid 播放)两种播放方式 。
    • 屏幕截图,可以截取当前播放流的视频画面。
    • 通过手势操作,调节亮度、声音、进度等。
    • 可以手动切换不同的清晰度,也可根据网络带宽自适应选择清晰度。
    • 可以指定不同倍速播放,并开启镜像和硬件加速。
    • 完整能力,请参见 播放器SDK - 能力清单

    播放器配置接口

    API 描述
    setConfig 设置播放器配置信息,配置信息请参见 TXVodPlayConfig
    setPlayerView 设置播放器的视频渲染 TXCloudVideoView。
    setPlayerView 设置播放器的视频渲染 TextureView。
    setSurface 设置播放器的视频渲染 SurfaceView。
    setStringOption 设置播放器业务参数,参数格式为<string,object>

    播放基础接口

    API 描述
    startPlay 播放 HTTP URL 形式地址。
    startPlay 以 fileId 形式播放,传入TXPlayInfoParams参数。
    startPlayDrm 播放DRM加密视频。
    stopPlay 停止播放。
    isPlaying 是否正在播放。
    pause 暂停播放,停止获取流数据,保留最后一帧画面。
    resume 恢复播放,重新获取流数据。
    seek 跳转到视频流指定时间点,单位秒。
    seek 跳转到视频流指定时间点,单位毫秒。
    getCurrentPlaybackTime 获取当前播放位置,单位秒。
    getBufferDuration 获取缓存的总时长,单位秒。
    getDuration 获取总时长,单位秒。
    getPlayableDuration 获取可播放时长,单位秒。
    getWidth 获取视频宽度。
    getHeight 获取视频高度。
    setAutoPlay 设置点播是否 startPlay 后自动开始播放,默认自动播放。
    setStartTime 设置播放开始时间。
    setToken 加密 HLS 的 token。
    getEncryptedPlayKey 获取加固加密播放密钥。
    setLoop 设置是否循环播放。
    isLoop 返回是否循环播放状态。

    视频相关接口

    API 描述
    enableHardwareDecode 启用或禁用视频硬解码。
    snapshot 获取当前视频帧图像。
    注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。
    setMirror 设置镜像。
    setRate 设置点播的播放速率,默认1.0。
    getBitrateIndex 返回当前播放的码率索引。
    getSupportedBitrates 当播放地址为HSL时,返回支持的码率(清晰度)列表。
    setBitrateIndex 设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。
    setRenderMode 设置 图像平铺模式
    setRenderRotation 设置 图像渲染角度

    音频相关接口

    API 描述
    setMute 设置是否静音播放。
    setAudioPlayoutVolume 设置音量大小,范围:0 - 100。
    setRequestAudioFocus 设置是否自动获取音频焦点 默认自动获取。

    事件通知接口

    API 描述
    setPlayListener 设置播放器的回调(已弃用,建议使用 setVodListener)。
    setVodListener 设置播放器的回调。

    TRTC 相关接口

    通过以下接口,可以把点播播放器的音视频流通过 TRTC 进行推送,更多 TRTC 服务请参见 TRTC 产品概述

    API 描述
    attachTRTC 点播绑定到 TRTC 服务。
    detachTRTC 点播解绑 TRTC 服务。
    publishVideo 开始推送视频流。
    unpublishVideo 取消推送视频流。
    publishAudio 开始推送音频流。
    unpublishAudio 取消推送音频流。

    ITXVodPlayListener

    腾讯云点播回调通知。

    SDK 基础回调

    API 描述
    onPlayEvent 点播播放事件通知,请参见 播放事件列表事件参数
    onNetStatus 点播播放器 网络状态通知

    TXVodPlayConfig

    点播播放器配置类。

    基础配置接口

    API 描述
    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 类型。

    TXPlayerGlobalSetting

    点播播放器全局配置类

    API 描述
    setCacheFolderPath 设置播放引擎的cache目录。设置后,离线下载,预下载,播放器等会优先从此目录读取和存储
    setMaxCacheSize 设置播放引擎的最大缓存大小。设置后会根据设定值自动清理Cache目录的文件。单位MB。

    TXVodPreloadManager

    点播播放器预下载接口类

    API 描述
    getInstance 获取 TXVodPreloadManager 实例对象,单例模式。
    startPreload 启动预下载前,请先设置好播放引擎的缓存目录。
    stopPreload 停止预下载。

    ITXVodPreloadListener

    视频预下载回调接口。

    API 描述
    onComplete 视频预下载完成。
    onError 视频预下载出错。

    TXVodDownloadManager

    点播播放器视频下载接口类。当前只支持下载非嵌套 m3u8 视频源,对 simpleAES 加密视频源将进行腾讯云私有加密算法加密以提升安全性。

    API 描述
    getInstance 获取 TXVodDownloadManager 实例对象,单例模式。
    setHeaders 设置下载 HTTP 头。
    setListener 设置下载回调方法,下载前必须设好。
    startDownloadUrl 以 URL 方式开始下载。
    startDownload 以 fileid 方式开始下载。
    stopDownload 停止下载,ITXVodDownloadListener.onDownloadStop 回调时停止成功。
    deleteDownloadMediaInfo 删除下载信息。
    getDownloadMediaInfoList 获取所有用户的下载列表信息。
    getDownloadMediaInfo 获取下载信息。
    getDownloadMediaInfo 获取下载信息。

    ITXVodDownloadListener

    腾讯云视频下载回调通知。

    API 描述
    onDownloadStart 下载开始
    onDownloadProgress 下载进度更新
    onDownloadStop 下载停止
    onDownloadFinish 下载结束
    onDownloadError 下载过程中遇到错误
    hlsKeyVerify 下载 HLS,遇到加密的文件,将解密 key 给外部校验

    TXVodDownloadDataSource

    腾讯云视频fildid下载源,下载时作为参数传入。

    API 描述
    TXVodDownloadDataSource 构造函数,传入 appid,fileid,quality,pSign,username 等参数
    getAppId 获取传入的 appid
    getFileId 获取传入的 fileid
    getPSign 获取传入的 psign
    getQuality 获取传入的 quality
    getUserName 获取传入的 userName,默认“default”
    getToken 获取传入的 token
    getOverlayKey 获取传入的 overlayKey
    getOverlayIv 获取传入的 overlayIv

    清晰度Id 常量

    code 常量定义 含义说明
    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 未定义

    TXVodDownloadMediaInfo

    腾讯云视频下载信息,可获取下载进度,播放链接等等信息

    API 描述
    getDataSource fileid下载时获取传入的 fileid 下载源
    getDuration 获取下载的总时长
    getPlayableDuration 获取已下载的可播放时长
    getSize 获取下载文件总大小,只针对 fileid 下载源有效
    getDownloadSize 获取已下载文件大小,只针对 fileid 下载源有效
    getProgress 获取当前下载进度
    getPlayPath 获取当前播放路径,可传给 TXVodPlayer 播放
    getDownloadState 获取下载状态
    isDownloadFinished 判断是否下载完成

    静态属性

    code 属性定义 含义说明
    0 STATE_INIT 下载初始态
    1 STATE_START 下载开始
    2 STATE_STOP 下载停止
    3 STATE_ERROR 下载出错
    4 STATE_FINISH 下载完成

    TXPlayerAuthBuilder

    通过fileId播放加密视频配置。

    API 描述
    setAppId 应用appId。
    setFileId 文件id。
    setTimeout 加密链接超时时间戳。
    setExper 试看时长。
    setUs 唯一标识请求。
    setSign 防盗链签名。
    setHttps 是否用https请求。

    TXBitrateItem

    视频码率信息。

    API 描述
    index m3u8 文件中的序号。
    width 此流的视频宽度。
    height 此流的视频高度。
    bitrate 此流的视频码率。
    compareTo 比较两条流的码率是否相等。

    TXImageSprite

    雪碧图解析类。

    API 描述
    TXImageSprite 构造函数。
    setVTTUrlAndImageUrls 设置雪碧图地址。
    getThumbnail 获取缩略图。
    release 使用完毕调用,否则会造成内存泄漏。

    TXPlayerDrmBuilder

    DRM播放信息。

    API 描述
    TXPlayerDrmBuilder 构造DRM播放信息对象。
    setProvisionUrl 设置证书提供商url。
    setKeyLicenseUrl 设置解密key url。
    setPlayUrl 设置播放媒体的url。

    TXPlayInfoParams

    通过fileId播放视频参数信息。

    API 描述
    TXPlayInfoParams 构造函数。
    getAppId 获取应用id。
    getFileId 获取文件id。
    getPSign 获取腾讯云视频加密签名。

    错误码表

    常规事件

    code 事件定义 含义说明
    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 视频旋转角度。

    警告事件

    code 事件定义 含义说明
    -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对外提供:

    图像平铺模式

    code 事件定义 含义说明
    0 RENDER_MODE_FULL_FILL_SCREEN 视频画面全屏铺满
    1 RENDER_MODE_ADJUST_RESOLUTION 视频画面自适应屏幕

    图像渲染角度

    code 事件定义 含义说明
    0 RENDER_ROTATION_PORTRAIT 常规竖屏
    270 RENDER_ROTATION_LANDSCAPE 右旋90度

    播放事件列表

    code 事件定义 含义说明
    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 不合法,播放失败

    播放事件参数

    事件定义 含义说明
    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 网络速率
    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 网络质量

    播放器媒资类型

    code 事件定义 含义说明
    0 MEDIA_TYPE_AUTO auto类型
    1 MEDIA_TYPE_HLS_VOD 自适应码率播放hls点播媒资
    2 MEDIA_TYPE_HLS_LIVE 自适应码率播放hls直播媒资

    未分类变量

    code 事件定义 含义说明
    -1 INDEX_AUTO 自适应码率index标识
    </string,object>
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持