TXVodPlayer API 简介
接口概览
基础播放接口
API | 描述 |
播放 HTTP URL 形式地址。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和播放器 Licence 均可使用,若您暂未获取上述 Licence ,可单击 播放器 License 进行申请,正式版 License 需购买。 | |
以 fileId 形式播放,传入TXPlayInfoParams 参数。10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link TXLiveBase#setLicence} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和播放器 Licence 均可使用,若您暂未获取上述 Licence 可单击 播放器 License 进行申请,正式版 License 需购买。 | |
播放 DRM 加密视频。 | |
停止播放。 | |
是否正在播放。 | |
暂停播放,停止获取流数据,保留最后一帧画面。 | |
恢复播放,重新获取流数据。 | |
跳转到视频流指定时间点,单位秒。 | |
跳转到视频流指定时间点,单位秒,小数点后精确到3位。 | |
获取当前播放位置,单位秒。 | |
获取缓存的总时长,单位秒。 | |
获取总时长,单位秒。 | |
获取可播放时长,单位秒。 | |
获取视频宽度。 | |
获取视频高度。 | |
设置点播是否 startPlay 后自动开始播放,默认自动播放。 | |
设置播放开始时间。 | |
加密 HLS 的 token。 | |
获取加固加密播放密钥。 | |
设置是否循环播放。 | |
返回是否循环播放状态。 | |
添加外挂字幕(播放器高级版本才支持)。 | |
返回字幕轨道信息列表(播放器高级版本才支持)。 | |
返回音频轨道信息列表(播放器高级版本才支持)。 | |
选择轨道(播放器高级版本才支持)。 | |
取消选择轨道(播放器高级版本才支持)。 | |
跳转到视频流指定 PDT(Program Date Time )时间点,可实现视频快进、快退、进度条跳转等功能,目前只支持 HLS 视频格式(播放器高级版 11.6 版本开始支持)。 参数单位毫秒(ms)。 |
播放器配置接口
API | 描述 |
设置播放器的视频渲染 TXCloudVideoView。 | |
设置播放器的视频渲染 TextureView。 | |
设置播放器的视频渲染 Surface。 | |
设置播放器业务参数,参数格式为 <String,Object> 。 | |
设置字幕样式信息,可在播放后对字幕样式进行更新(播放器高级版本才支持)。 | |
设置字幕渲染目标对象 View(播放器高级版本才支持)。 | |
设置音量均衡,响度范围,可填预设值(相关类或文件:Android:TXVodConstants;iOS:TXVodPlayConfig.h) 关:AUDIO_NORMALIZATION_OFF 开: AUDIO_NORMALIZATION_STANDARD(标准) AUDIO_NORMALIZATION_LOW (低) AUDIO_NORMALIZATION_HIGH(高) 可填自定义数值:从低到高,范围-70 - 0 LUFS。 |
视频相关接口
API | 描述 |
启用或禁用视频硬解码。 | |
获取当前视频帧图像。 注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。 | |
设置镜像。 | |
设置点播的播放速率,默认1.0。 | |
返回当前播放的码率索引。 | |
当播放地址为 HSL 时,返回支持的码率(清晰度)列表。 | |
设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。 | |
设置自适应播放可切换的最高码率。 |
音频相关接口
API | 描述 |
设置是否静音播放。 | |
设置音量大小,范围:0 - 100。 | |
设置是否自动获取音频焦点,默认自动获取。 |
事件通知接口
API | 描述 |
设置视频字幕文本数据输出回调。 | |
设置播放器事件回调。 |
TRTC 播片相关接口
API | 描述 |
开始推送视频流。 | |
取消推送视频流。 | |
开始推送音频流。 | |
取消推送音频流。 |
接口详情
TXVodPlayer
创建点播播放器实例。
public TXVodPlayer(Context context)
参数说明
参数名 | 类型 | 描述 |
context | Context | 系统 Context。 |
startVodPlay
通过 URL 启动播放。
10.7 版本开始,需要通过 XLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
public int startVodPlay(String playUrl)
参数说明
参数名 | 类型 | 描述 |
playUrl | String | 播放地址。 |
返回值
0: 播放成功。
非 0: 播放失败。
startVodPlay
通过腾讯云 fileId 启动播放。
10.7 版本开始,需要通过 XLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
public void startVodPlay(TXPlayInfoParams playInfoParams)
参数说明
参数名 | 类型 | 描述 |
playInfoParams | TXPlayInfoParams | 系统 Context。 |
返回值
0: 播放成功。
非 0: 播放失败。
startPlayDrm
播放 Drm 加密视频。
10.7 版本开始,需要通过 XLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。
注意:
播放器高级版本才支持。
public int startPlayDrm(TXPlayerDrmBuilder playerDrmBuilder)
参数说明
参数名 | 类型 | 描述 |
playerDrmBuilder | TXPlayerDrmBuilder | Drm 播放信息。 |
返回值
0: 播放成功。
非 0: 播放失败。
stopPlay
停止播放。
public int stopPlay(boolean isNeedClearLastImg)
参数说明
参数名 | 类型 | 描述 |
isNeedClearLastImg | boolean | 是否需要清除最后一帧画面。 true:清除最后一帧画面,正常停止播放时,推荐清除。 false:保留最后一帧画面。 |
isPlaying
是否正在播放。
public boolean isPlaying()
pause
暂停播放。
public void pause()
resume
恢复播放。
public void resume()
seek
跳转到视频流指定时间点。
public void seek(int time)
参数说明
参数名 | 类型 | 描述 |
time | int | 视频流时间点,单位为秒。 |
返回值
seek
跳转到视频流指定时间点。
public void seek(float time)
参数说明
参数名 | 类型 | 描述 |
time | float | 视频流时间点,单位秒,小数点后精确到3位。 |
seek
跳转到视频流指定时间点。
public void seek(float timeInSeconds, boolean isAccurateSeek)
参数说明
参数名 | 类型 | 描述 |
timeInSeconds | float | 视频流时间点,单位秒,小数点后精确到3位。 |
isAccurateSeek | boolean | 是否精准 Seek。 true: 表示精确 Seek,必须寻找到当前时间点,这个会比较耗时。 false:表示非精准 Seek,也就是寻找前一个I帧。 |
seekToPdtTime
跳转到视频流指定时间点。
注意:
播放器高级版 11.6 版本开始支持。
public void seekToPdtTime(long pdtTimeMs)
参数说明
参数名 | 类型 | 描述 |
pdtTimeMs | long | 视频流 PDT 时间点,单位毫秒。 |
getCurrentPlaybackTime
获取当前播放时间点,单位秒。
public float getCurrentPlaybackTime()
getBufferDuration
获取缓存的总时长,单位秒。
public float getBufferDuration()
getDuration
获取播放的视频总时长,单位秒。
public float getDuration()
getPlayableDuration
获取
当前可以播放视频时长,单位秒。public float getPlayableDuration()
getWidth
获取视频宽度。
public int getWidth()
getHeight
获取视频高度。
public int getHeight()
setAutoPlay
设置点播是否 startPlay 后自动开始播放。默认自动播放。
public void setAutoPlay(boolean autoPlay)
setStartTime
设置播放开始时间,单位秒,需要在启动播放前设置。
public void setStartTime(float pos)
参数说明
参数名 | 类型 | 描述 |
pos | float | 视频流时间点,单位秒,小数点后精确到3位。 |
setToken
设置加密 HLS 的 token。设置此值后,播放器自动在 URL 中的文件名之前增加 voddrm.token。
public void setToken(String token)
getEncryptedPlayKey
获取加固加密播放密钥。
public static String getEncryptedPlayKey(final String key)
setLoop
设置是否循环播放,默认非循环播放。
public void setLoop(boolean loop)
isLoop
是否循环播放。
public void setLoop(boolean loop)
addSubtitleSource
添加外挂字幕。
注意:播放器高级版本才支持。
public void addSubtitleSource(@NonNull String url, @NonNull String name, String mimeType)
参数说明
参数名 | 类型 | 描述 |
url | String | 字幕地址,支持 Http 链接和本地存储绝对路径。 |
name | String | 字幕的名字。如果添加多个字幕,字幕名称请设置为不同的名字,用于区分与其他添加的字幕,否则可能会导致字幕选择错误 |
mimeType | String | 字幕类型,仅支持 VVT 和 SRT 格式。 VTT 格式:TXVodConstants#VOD_PLAY_MIMETYPE_TEXT_SRT SRT 格式:TXVodConstants#VOD_PLAY_MIMETYPE_TEXT_VTT |
getSubtitleTrackInfo
返回字幕轨道信息列表。
注意:
播放器高级版本才支持。
public List<TXTrackInfo> getSubtitleTrackInfo()
返回值
getAudioTrackInfo
返回音频轨道信息列表。
注意:
播放器高级版本才支持。
public List<TXTrackInfo> getAudioTrackInfo()
返回值
selectTrack
选择轨道。
注意:
播放器高级版本才支持。
public void selectTrack(int trackIndex)
参数说明
参数名 | 类型 | 描述 |
trackIndex | int | 轨道index,通过 TXTrackInfo#getTrackIndex 获取。 |
deselectTrack
取消选择轨道。
注意:
播放器高级版本才支持。
public void deselectTrack(int trackIndex)
参数说明
参数名 | 类型 | 描述 |
trackIndex | int | 轨道 index,通过 TXTrackInfo#getTrackIndex 获取。 |
setConfig
public void setConfig(TXVodPlayConfig config)
参数说明
setPlayerView
设置播放器的视频渲染 TXCloudVideoView,仅在启动播放之前设置有效。
public void setPlayerView(TXCloudVideoView glRootView)
参数说明
参数名 | 类型 | 描述 |
glRootView | TXCloudVideoView | 视频渲染 View。 |
setPlayerView
设置播放器的视频渲染 TextureRenderView,仅在启动播放之前设置有效。
public void setPlayerView(TextureRenderView glRootView)
参数说明
参数名 | 类型 | 描述 |
glRootView | TextureRenderView | 视频渲染 View。 |
setSurface
设置播放器的视频渲染 Surface,仅在启动播放之前设置有效。
public void setSurface(Surface surface)
setStringOption
设置播放器业务参数,参数格式为
<String,Object>
public void setStringOption(String key, Object value)
setSubtitleStyle
设置字幕样式信息,支持播放前配置,可以支持在播放后对字幕样式进行更新。
注意:
播放器高级版本才支持。
public void setSubtitleStyle(TXSubtitleRenderModel renderModel)
参数说明
参数名 | 类型 | 描述 |
renderModel | 字幕样式配置参数。 |
setSubtitleView
设置字幕渲染目标对象 View。
注意:
播放器高级版本才支持。
public void setSubtitleView(TXSubtitleView subtitleView)
参数说明
参数名 | 类型 | 描述 |
subtitleView | TXSubtitleView | 播放器 SDK 提供的字幕渲染目标对象 View。 |
setAudioNormalization
设置音量均衡,响度范围:-70~0(LUFS)。
注意:
播放器高级版本才支持。
public void setAudioNormalization(float value)
参数说明
参数名 | 类型 | 描述 |
value | float | 可填预设值(相关类或文件:Android:TXVodConstants;iOS:TXVodPlayConfig.h) 关:AUDIO_NORMALIZATION_OFF 开: AUDIO_NORMALIZATION_STANDARD(标准) AUDIO_NORMALIZATION_LOW (低) AUDIO_NORMALIZATION_HIGH(高) 可填自定义数值:从低到高,范围-70 - 0 LUFS。 |
setAutoMaxBitrate
设置自适应播放可切换的最高码率。
public void setAutoMaxBitrate(int autoMaxBitrate)
enableHardwareDecode
启用或禁用视频硬解码,默认开启硬解码。
public boolean enableHardwareDecode(boolean enable)
snapshot
获取当前视频帧图像。
public void snapshot(TXLivePlayer.ITXSnapshotListener listener)
参数说明
参数名 | 类型 | 描述 |
listener | public interface ITXSnapshotListener { void onSnapshot(Bitmap bmp); } | 截图回调接口类。 |
setMirror
设置镜像播放。
public void setMirror(boolean mirror)
setRate
设置点播的播放速率,默认1.0。
public void setRate(float rate)
getBitrateIndex
返回当前播放的码率索引。
public TXVodPlayer(Context context)
getSupportedBitrates
当播放地址为 HSL 时,返回支持的码率(清晰度)列表。
public ArrayList<TXBitrateItem> getSupportedBitrates
返回值
setBitrateIndex
设置当前正在播放的码率索引,腾讯云支持多码率HLS分片对齐,保证最佳体验。无缝切换清晰度时,清晰度切换可能需要等待一小段时间。
public void setBitrateIndex(int index) {
参数说明
参数名 | 类型 | 描述 |
index | int | 码率索引。 index == -1,表示开启HLS码流自适应。 index > 0 表示手动切换到对应清晰度码率,index 值可以通过接口 TXVodPlayer#getSupportedBitrates 获取。 |
setRenderMode
设置播放器图像平铺模式。
public void setRenderMode(int mode)
参数说明
参数名 | 类型 | 描述 |
mode | int | 图像平铺模式,取值有: TXVodConstants#RENDER_MODE_FULL_FILL_SCREEN:视频画面全屏铺满,将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不留黑边。 TXVodConstants#RENDER_MODE_ADJUST_RESOLUTION:视频画面自适应屏幕,将图像等比例缩放,缩放后的宽和高都不会超过显示区域,居中显示,可能会留有黑边。 |
setRenderRotation
设置播放器图像渲染角度。
public void setRenderRotation(int rotation)
参数说明
参数名 | 类型 | 描述 |
context | Context | 图像渲染角度,取值有: TXVodConstants#RENDER_ROTATION_PORTRAIT:常规竖屏。 TXVodConstants#RENDER_ROTATION_LANDSCAPE:右旋90度。 |
setMute
设置是否静音播放,默认非静音播放。
public void setMute(boolean mute)
setAudioPlayoutVolume
设置音量大小,范围:0 - 100。
public void setAudioPlayoutVolume(int volume)
setRequestAudioFocus
是否自动获取音频焦点,默认自动获取。
可以传入 false,然后业务自己管理音频焦点。
public boolean setRequestAudioFocus(boolean requestFocus)
setVodSubtitleDataListener
设置视频字幕文本数据输出回调。
public void setVodSubtitleDataListener(ITXVodPlayListener.ITXVodSubtitleDataListener listener)
参数说明
参数名 | 类型 | 描述 |
listener | 字幕文本数据回调接口。 |
setVodListener
创建点播播放器实例。
public void setVodListener(ITXVodPlayListener listener)
参数说明
参数名 | 类型 | 描述 |
listener | 播放器事件回调接口。 |
attachTRTC
点播绑定到 TRTC 服务。
public void attachTRTC(Object trtcCloud)
detachTRTC
点播解绑 TRTC 服务。
public void detachTRTC()
publishVideo
开始推送视频流。
public void publishVideo()
unpublishVideo
取消推送视频流。
public void unpublishVideo()
publishAudio
开始推送音频流。
public void publishAudio()
unpublishAudio
取消推送音频流。
public void unpublishAudio()