LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
TXVodPlayer

详细描述

腾讯云点播播放器接口类
播放器包含如下能力:


结构体说明

◆ com::tencent::rtmp::TXVodPlayer::ITXSnapshotListener

interface com::tencent::rtmp::TXVodPlayer::ITXSnapshotListener

Public 成员函数

void onSnapshot (Bitmap bmp)
 

成员函数说明

◆ onSnapshot()

void onSnapshot ( Bitmap  bmp)

截图回调

参数
bmp当前视频图片

◆ com::tencent::rtmp::TXVodPlayer

class com::tencent::rtmp::TXVodPlayer

Public 成员函数

 TXVodPlayer (Context context)
 
void setConfig (TXVodPlayConfig config)
 
void setPlayerView (TXCloudVideoView glRootView)
 
void setPlayerView (TextureRenderView glRootView)
 
void setSubtitleView (TXSubtitleView subtitleView)
 
void addSubtitleSource (@NonNull String url, @NonNull String name, String mimeType)
 
void selectTrack (int trackIndex)
 
void deselectTrack (int trackIndex)
 
List< TXTrackInfogetSubtitleTrackInfo ()
 
List< TXTrackInfogetAudioTrackInfo ()
 
void setSubtitleStyle (TXSubtitleRenderModel renderModel)
 
void setSurface (Surface surface)
 
int startVodPlay (String playUrl)
 
int startVodPlay (TXPlayerAuthBuilder authBuilder)
 
void startVodPlay (TXPlayInfoParams playInfoParams)
 
int startPlayDrm (TXPlayerDrmBuilder playerDrmBuilder)
 
int stopPlay (boolean isNeedClearLastImg)
 
boolean isPlaying ()
 
void pause ()
 
void resume ()
 
void seek (int time)
 
void seek (float time)
 
float getCurrentPlaybackTime ()
 
float getBufferDuration ()
 
float getDuration ()
 
float getPlayableDuration ()
 
int getWidth ()
 
int getHeight ()
 
void setPlayListener (ITXLivePlayListener listener)
 
void setVodListener (ITXVodPlayListener listener)
 
void setRenderMode (int mode)
 
void setRenderRotation (int rotation)
 
boolean enableHardwareDecode (boolean enable)
 
void setMute (boolean mute)
 
void setAudioPlayoutVolume (int volume)
 
boolean setRequestAudioFocus (boolean requestFocus)
 
void setAutoPlay (boolean autoPlay)
 
void setRate (float rate)
 
int getBitrateIndex ()
 
void setBitrateIndex (int index)
 
ArrayList< TXBitrateItemgetSupportedBitrates ()
 
void snapshot (TXLivePlayer.ITXSnapshotListener listener)
 
void setMirror (boolean mirror)
 
void setStartTime (float pos)
 
void setToken (String token)
 
void setLoop (boolean loop)
 
boolean isLoop ()
 
void setStringOption (String key, Object value)
 

静态 Public 成员函数

static String getEncryptedPlayKey (final String key)
 

TRTC场景下功能接口

void attachTRTC (Object trtcCloud)
 
void detachTRTC ()
 
void publishVideo ()
 
void unpublishVideo ()
 
void publishAudio ()
 
void unpublishAudio ()
 

构造及析构函数说明

◆ TXVodPlayer()

TXVodPlayer ( Context  context)
inline

构造一个TXVodPlayer对象.

参数
context应用程序的Context,SDK内部会转成ApplicationContext保存。

成员函数说明

◆ addSubtitleSource()

void addSubtitleSource ( @NonNull String  url,
@NonNull String  name,
String  mimeType 
)
inline

添加外挂字幕

参数
url字幕地址
name字幕的名字。如果添加多个字幕,字幕名称请设置为不同的名字,用于区分与其他添加的字幕,否则可能会导致字幕选择错误。
mimeType字幕类型,仅支持VVT和SRT格式 TXVodConstants#VOD_PLAY_MIMETYPE_TEXT_SRT, TXVodConstants#VOD_PLAY_MIMETYPE_TEXT_VTT 后面可以通过getSubtitleTrackInfo()中的TXTrackInfo#getName()获取对应的名字

◆ attachTRTC()

void attachTRTC ( Object  trtcCloud)
inline

绑定到TRTC对象

参数
trtcCloudTRTC对象

◆ deselectTrack()

void deselectTrack ( int  trackIndex)
inline

取消选择轨道

参数
trackIndex轨道index,通过TXTrackInfo#getTrackIndex() 获取

◆ detachTRTC()

void detachTRTC ( )
inline

解绑TRTC对象

◆ enableHardwareDecode()

boolean enableHardwareDecode ( boolean  enable)
inline

启用或禁用视频硬解码。

参数
enable启用或禁用视频硬解码
  • true: 启用视频硬解码。
  • false: 禁用视频硬解码,启用默认的视频软解码。
返回
是否成功启用或禁用视频硬解码。
  • true:启用或禁用视频硬解码成功。
  • false:启用或禁用视频硬解码失败。

◆ getAudioTrackInfo()

List<TXTrackInfo> getAudioTrackInfo ( )
inline

返回音频轨道信息列表

返回
音频轨道信息列表

◆ getBitrateIndex()

int getBitrateIndex ( )
inline

返回当前播放的码率索引

返回
当前播放的码率索引

◆ getBufferDuration()

float getBufferDuration ( )
inline

返回已经缓存的视频时长

返回
返回值:单位秒

◆ getCurrentPlaybackTime()

float getCurrentPlaybackTime ( )
inline

获取当前播放位置

返回
返回值:单位秒

◆ getDuration()

float getDuration ( )
inline

获取总时长

返回
单位秒

◆ getEncryptedPlayKey()

static String getEncryptedPlayKey ( final String  key)
inlinestatic

获取加固加密播放密钥

自从
9.1 版本
参数
key加密播放密钥

◆ getHeight()

int getHeight ( )
inline

获取视频高度

返回
视频高度,单位:像素

◆ getPlayableDuration()

float getPlayableDuration ( )
inline

获取可播放时长

返回
单位秒

◆ getSubtitleTrackInfo()

List<TXTrackInfo> getSubtitleTrackInfo ( )
inline

返回字幕轨道信息列表

返回
字幕轨道信息列表

◆ getSupportedBitrates()

ArrayList<TXBitrateItem> getSupportedBitrates ( )
inline

当播放地址为HSL时,返回支持的码率(清晰度)列表。

在收到PLAY_EVT_PLAY_BEGIN事件后才能正确返回结果。

返回
码率列表;无多码率支持返回空数组

◆ getWidth()

int getWidth ( )
inline

获取视频宽度

返回
视频宽度,单位:像素

◆ isLoop()

boolean isLoop ( )
inline

是否在循环播放

返回
是否循环播放
  • true:循环播放
  • false:非循环播放

◆ isPlaying()

boolean isPlaying ( )
inline

是否正在播放.

返回
是否正在播放。
  • true:正在播放
  • false:未播放

◆ pause()

void pause ( )
inline

暂停播放,停止获取流数据,保留最后一帧画面。

◆ publishAudio()

void publishAudio ( )
inline

TRTC场景下,开始推送音视流

◆ publishVideo()

void publishVideo ( )
inline

TRTC场景下,开始推送视频流

◆ resume()

void resume ( )
inline

恢复播放,重新获取流数据。

点播从pause位置开始播放,直播从当前开始播放实时画面。

◆ seek() [1/2]

void seek ( float  time)
inline

跳转到视频流指定时间点。

可实现视频快进、快退、进度条跳转等功能。

参数
time视频流时间点,单位秒(s),小数点后精确到3位

◆ seek() [2/2]

void seek ( int  time)
inline

跳转到视频流指定时间点。

可实现视频快进、快退、进度条跳转等功能。

参数
time视频流时间点,单位为秒

◆ selectTrack()

void selectTrack ( int  trackIndex)
inline

选择轨道

参数
trackIndex轨道index,通过TXTrackInfo#getTrackIndex() 获取

◆ setAudioPlayoutVolume()

void setAudioPlayoutVolume ( int  volume)
inline

设置音量大小

参数
volume音量大小。范围:0 ~ 100。

◆ setAutoPlay()

void setAutoPlay ( boolean  autoPlay)
inline

设置点播是否startPlay后自动开始播放。默认自动播放

参数
autoPlay是否自动播放

◆ setBitrateIndex()

void setBitrateIndex ( int  index)
inline

设置当前正在播放的码率索引,无缝切换清晰度。 清晰度切换可能需要等待一小段时间。腾讯云支持多码率HLS分片对齐,保证最佳体验。

参数
index码率索引,index == -1,表示开启HLS码流自适应; index > 0 TXVodPlayer#getSupportedBitrates(),表示手动切换到对应清晰度码率

◆ setConfig()

void setConfig ( TXVodPlayConfig  config)
inline

设置播放器配置信息,推荐在启动播放前设置配置信息。

参数
config播放器配置信息.配置信息请参考 com.tencent.rtmp.TXVodPlayConfig

◆ setLoop()

void setLoop ( boolean  loop)
inline

设置是否循环播放

参数
loop
  • true:循环播放
  • false:非循环播放

◆ setMirror()

void setMirror ( boolean  mirror)
inline

设置镜像

参数
mirror
  • true:镜像播放
  • false:非镜像播放

◆ setMute()

void setMute ( boolean  mute)
inline

设置是否静音播放。

参数
mute是否静音播放。
  • true:静音播放。
  • false:不静音播放。

◆ setPlayerView() [1/2]

void setPlayerView ( TextureRenderView  glRootView)
inline

设置播放器视频渲染TextureRenderView, 推荐使用TXCloudVideoView

仅当使用TXCloudVideoView不可用时(比如ReactNative下使用),才可考虑直接使用TextureRenderView。使用TextureRenderView会导致log显示不可用。

参数
glRootView视频渲染TextureRenderView

◆ setPlayerView() [2/2]

void setPlayerView ( TXCloudVideoView  glRootView)
inline

设置播放器的视频渲染View,仅仅在启动播放之前设置有效。

参数
glRootView视频渲染view

◆ setPlayListener()

void setPlayListener ( ITXLivePlayListener  listener)
inline

设置播放器的回调

弃用:
此接口已经废弃,推荐setVodListener接口,请参考com.tencent.rtmp.ITXVodPlayListener
参数
listener播放器回调,请参考com.tencent.rtmp.ITXLivePlayListener

◆ setRate()

void setRate ( float  rate)
inline

设置点播的播放速率。默认1.0

参数
rate播放速率

◆ setRenderMode()

void setRenderMode ( int  mode)
inline

设置图像平铺模式。

参数
mode图像平铺模式,请参考图像平铺模式
  • TXVodConstants::RENDER_MODE_FULL_FILL_SCREEN: 视频画面全屏铺满:将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不留黑边
  • TXVodConstants::RENDER_MODE_ADJUST_RESOLUTION:视频画面自适应屏幕:将图像等比例缩放,缩放后的宽和高都不会超过显示区域,居中显示,可能会留有黑边

◆ setRenderRotation()

void setRenderRotation ( int  rotation)
inline

设置图像渲染角度。

参数
rotation图像渲染角度,请参考图像渲染角度
  • TXVodConstants::RENDER_ROTATION_PORTRAIT: 常规竖屏
  • TXVodConstants::RENDER_ROTATION_LANDSCAPE: 右旋90度

◆ setRequestAudioFocus()

boolean setRequestAudioFocus ( boolean  requestFocus)
inline

设置是否自动获取音频焦点,默认自动获取,在开始播放之前设置有效。

参数
requestFocus是否获取焦点。
返回
返回值
  • true:设置成功。
  • false:设置失败。

◆ setStartTime()

void setStartTime ( float  pos)
inline

设置播放开始时间.

在startPlay前设置,修改开始播放的起始位置

参数
pos视频流时间点,单位秒(s),小数点后精确到3位

◆ setStringOption()

void setStringOption ( String  key,
Object  value 
)
inline

播放器拓展参数配置

参数
key配置参数key
value配置参数value

◆ setSubtitleStyle()

void setSubtitleStyle ( TXSubtitleRenderModel  renderModel)
inline

配置字幕样式

参数
renderModel支持样式参考TXSubtitleRenderModel

◆ setSubtitleView()

void setSubtitleView ( TXSubtitleView  subtitleView)
inline

设置字幕软解目标对象

参数
subtitleViewTXSubtitleView

◆ setSurface()

void setSurface ( Surface  surface)
inline

设置Surface,目前只支持硬解 播放器只能在Surface有效的情况下才能正常工作,使用此接口播放时,需要由用户手动调用 resume() 或 pause()

参数
surface视频渲染surface

◆ setToken()

void setToken ( String  token)
inline

加密HLS的token。设置此值后,播放器自动在URL中的文件名之前增加voddrm.token.<Token>

参数
token加密HLS的token

◆ setVodListener()

void setVodListener ( ITXVodPlayListener  listener)
inline

设置播放器的回调。

参数
listener播放器回调,请参考com.tencent.rtmp.ITXVodPlayListener

◆ snapshot()

void snapshot ( TXLivePlayer.ITXSnapshotListener  listener)
inline

获取当前视频帧图像 注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来

参数
listener截图回调

◆ startPlayDrm()

int startPlayDrm ( TXPlayerDrmBuilder  playerDrmBuilder)
inline

播放DRM加密视频。

参数
playerDrmBuilderDRM播放信息,请参考 TXPlayerDrmBuilder
返回
是否成功启动播放。
  • 0:成功
  • -1:失败

◆ startVodPlay() [1/3]

int startVodPlay ( String  playUrl)
inline

启动播放。

注意
10.7 版本开始,需要通过TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。 直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请 Licence以正常播放,正式版 License 需购买
参数
playUrl播放的流地址。
返回
是否成功启动播放。
  • 0: 成功
  • -1: 失败
  • -5:licence 不合法,播放失败

◆ startVodPlay() [2/3]

int startVodPlay ( TXPlayerAuthBuilder  authBuilder)
inline

以fileId形式播放。

弃用:
此接口已经放弃,推荐使用this#startPlay(TXPlayInfoParams)
注意
10.7 版本开始,需要通过TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。 直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请 Licence以正常播放,正式版 License 需购买
参数
authBuilder
返回
是否成功启动播放。0:成功, -1:失败,-5:licence 不合法,播放失败

◆ startVodPlay() [3/3]

void startVodPlay ( TXPlayInfoParams  playInfoParams)
inline

以fileId形式播放。

注意
10.7 版本开始,需要通过TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。 直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请 Licence以正常播放,正式版 License 需购买
参数
playInfoParamsfileId相关播放信息参数, 请参考 TXPlayInfoParams

◆ stopPlay()

int stopPlay ( boolean  isNeedClearLastImg)
inline

停止播放。

参数
isNeedClearLastImg是否需要清除最后一帧画面。
  • true:清除最后一帧画面,正常停止播放时推荐清除。
  • false:保留最后一帧画面,异常停止播放(如网络异常,导致播放被迫停止),而SDK使用者希望重连服务器,继续播放时,推荐保留。
返回
是否成功启动播放。
  • 0:成功
  • -1:失败

◆ unpublishAudio()

void unpublishAudio ( )
inline

TRTC场景下,取消推送音视流

◆ unpublishVideo()

void unpublishVideo ( )
inline

TRTC场景下,取消推送视频流