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 setSurface (Surface surface)
 
int startPlay (String playUrl)
 
int startPlay (TXPlayerAuthBuilder authBuilder)
 
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 onNotifyEvent (final int event, final Bundle param)
 
void onNetSuccess (TXCVodPlayerNetApi netApi)
 
void onNetFailed (TXCVodPlayerNetApi netApi, String reason, int code)
 
void setToken (String token)
 
void setLoop (boolean loop)
 
boolean isLoop ()
 
void attachTRTC (Object trtcCloud)
 
void detachTRTC ()
 
void publishVideo ()
 
void unpublishVideo ()
 
void publishAudio ()
 
void unpublishAudio ()
 

静态 Public 属性

static final String TAG = "TXVodPlayer"
 
static final int PLAYER_TYPE_FFPLAY = TXCVodPlayer.PLAYER_IjkMediaPlayer
 
static final int PLAYER_TYPE_EXO = TXCVodPlayer.PLAYER_ExoMediaPlayer
 
static final int INDEX_AUTO = TXCVodVideoView.INDEX_AUTO
 

构造及析构函数说明

◆ TXVodPlayer()

TXVodPlayer ( Context  context)
inline

构造一个TXLivePlayer对象.

参数
context用于系统函数调用,内部会转成ApplicationContext保存.

成员函数说明

◆ setConfig()

void setConfig ( TXVodPlayConfig  config)
inline

设置播放器配置信息.

推荐在启动播放前设置配置信息.

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

◆ setPlayerView() [1/2]

void setPlayerView ( TXCloudVideoView  glRootView)
inline

设置播放器的视频渲染View.

仅仅在启动播放之前设置有效.

参数
glRootView视频渲染view.

◆ setPlayerView() [2/2]

void setPlayerView ( TextureRenderView  glRootView)
inline

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

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

参数
glRootView视频渲染TextureRenderView

◆ setSurface()

void setSurface ( Surface  surface)
inline

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

参数
surface视频渲染surface

◆ startPlay() [1/2]

int startPlay ( String  playUrl)
inline

启动播放.

参数
playUrl播放的流地址.
返回
是否成功启动播放. 0: 成功. -1: 失败,rtmpUrl为空.

◆ startPlay() [2/2]

int startPlay ( TXPlayerAuthBuilder  authBuilder)
inline

以fileid形式播放

参数
authBuilder
返回

◆ stopPlay()

int stopPlay ( boolean  isNeedClearLastImg)
inline

停止播放.

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

◆ isPlaying()

boolean isPlaying ( )
inline

是否正在播放.

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

◆ pause()

void pause ( )
inline

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

◆ resume()

void resume ( )
inline

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

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

◆ seek() [1/2]

void seek ( int  time)
inline

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

可实现视频快进,快退,进度条跳转等功能.

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

◆ seek() [2/2]

void seek ( float  time)
inline

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

可实现视频快进,快退,进度条跳转等功能.

参数
time视频流时间点,小数点后为毫秒

◆ getCurrentPlaybackTime()

float getCurrentPlaybackTime ( )
inline

获取当前播放位置

返回
单位秒

◆ getBufferDuration()

float getBufferDuration ( )
inline

◆ getDuration()

float getDuration ( )
inline

获取总时长

返回
单位秒

◆ getPlayableDuration()

float getPlayableDuration ( )
inline

获取可播放时长

返回
单位秒

◆ getWidth()

int getWidth ( )
inline

获取视频宽度

返回

◆ getHeight()

int getHeight ( )
inline

获取视频高度

返回

◆ setPlayListener()

void setPlayListener ( ITXLivePlayListener  listener)
inline

设置播放器的回调.

参数
listener播放器回调,请参考类ITXLivePlayListener
弃用:
建议使用setVodListener

◆ setVodListener()

void setVodListener ( ITXVodPlayListener  listener)
inline

设置播放器的回调.

参数
listener播放器回调,请参考类ITXVodPlayListener

◆ setRenderMode()

void setRenderMode ( int  mode)
inline

设置图像平铺模式.

参数
mode图像平铺模式.请参考图像平铺模式.

◆ setRenderRotation()

void setRenderRotation ( int  rotation)
inline

设置图像渲染角度.

参数
rotation图像渲染角度.请参考图像渲染角度.

◆ enableHardwareDecode()

boolean enableHardwareDecode ( boolean  enable)
inline

启用或禁用视频硬解码.

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

◆ setMute()

void setMute ( boolean  mute)
inline

设置是否静音播放.

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

◆ setAudioPlayoutVolume()

void setAudioPlayoutVolume ( int  volume)
inline

设置音量大小

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

◆ setRequestAudioFocus()

boolean setRequestAudioFocus ( boolean  requestFocus)
inline

设置是否自动获取音频焦点 默认自动获取,

参数
requestFocus
返回
true 设置成功,false 设置失败,在开始播放之前设置有效

◆ setAutoPlay()

void setAutoPlay ( boolean  autoPlay)
inline

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

参数
autoPlay

◆ setRate()

void setRate ( float  rate)
inline

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

参数
rate

◆ getBitrateIndex()

int getBitrateIndex ( )
inline

返回当前播放的码率索引

返回

◆ setBitrateIndex()

void setBitrateIndex ( int  index)
inline

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

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

◆ getSupportedBitrates()

ArrayList<TXBitrateItem> getSupportedBitrates ( )
inline

当播放地址为master playlist,返回支持的码率(清晰度)

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

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

◆ snapshot()

void snapshot ( TXLivePlayer.ITXSnapshotListener  listener)
inline

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

参数
listener截图回调

◆ setMirror()

void setMirror ( boolean  mirror)
inline

设置镜像

参数
mirror

◆ setStartTime()

void setStartTime ( float  pos)
inline

设置播放开始时间.

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

参数
pos视频流时间点,小数点后为毫秒

◆ onNotifyEvent()

void onNotifyEvent ( final int  event,
final Bundle  param 
)
inline

◆ onNetSuccess()

void onNetSuccess ( TXCVodPlayerNetApi  netApi)
inline

◆ onNetFailed()

void onNetFailed ( TXCVodPlayerNetApi  netApi,
String  reason,
int  code 
)
inline

◆ setToken()

void setToken ( String  token)
inline

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

参数
token

◆ setLoop()

void setLoop ( boolean  loop)
inline

设置是否循环播放

参数
loop

◆ isLoop()

boolean isLoop ( )
inline

◆ attachTRTC()

void attachTRTC ( Object  trtcCloud)
inline

◆ detachTRTC()

void detachTRTC ( )
inline

◆ publishVideo()

void publishVideo ( )
inline

◆ unpublishVideo()

void unpublishVideo ( )
inline

◆ publishAudio()

void publishAudio ( )
inline

◆ unpublishAudio()

void unpublishAudio ( )
inline

结构体成员变量说明

◆ TAG

final String TAG = "TXVodPlayer"
static

◆ PLAYER_TYPE_FFPLAY

final int PLAYER_TYPE_FFPLAY = TXCVodPlayer.PLAYER_IjkMediaPlayer
static

播放器类型

◆ PLAYER_TYPE_EXO

final int PLAYER_TYPE_EXO = TXCVodPlayer.PLAYER_ExoMediaPlayer
static

◆ INDEX_AUTO

final int INDEX_AUTO = TXCVodVideoView.INDEX_AUTO
static

◆ mStartTime

float mStartTime
protected