public class TXVodPlayer
extends java.lang.Object
implements com.tencent.liteav.network.TXCVodPlayerNetListener
Modifier and Type | Class and Description |
---|---|
static interface |
TXVodPlayer.ITXSnapshotListener
截图回调
用于接收当前视频图片
|
Modifier and Type | Field and Description |
---|---|
static int |
PLAYER_TYPE_EXO |
static int |
PLAYER_TYPE_FFPLAY
播放器类型
|
static java.lang.String |
TAG |
Constructor and Description |
---|
TXVodPlayer(Context context)
构造一个TXLivePlayer对象.
|
Modifier and Type | Method and Description |
---|---|
boolean |
enableHardwareDecode(boolean enable)
启用或禁用视频硬解码.
|
int |
getBitrateIndex()
返回当前播放的码率索引
|
float |
getBufferDuration() |
float |
getCurrentPlaybackTime()
获取当前播放位置
|
float |
getDuration()
获取总时长
|
int |
getHeight()
获取视频高度
|
float |
getPlayableDuration()
获取可播放时长
|
java.util.ArrayList<TXBitrateItem> |
getSupportedBitrates()
当播放地址为master playlist,返回支持的码率(清晰度)
|
int |
getWidth()
获取视频宽度
|
boolean |
isLoop() |
boolean |
isPlaying()
是否正在播放.
|
void |
onNetFailed(com.tencent.liteav.network.TXCVodPlayerNetApi netApi,
java.lang.String reason,
int code)
播放信息查询失败
|
void |
onNetSuccess(com.tencent.liteav.network.TXCVodPlayerNetApi netApi)
播放信息查询成功
|
void |
onNotifyEvent(int event,
Bundle param) |
void |
pause()
暂停播放,停止获取流数据,保留最后一帧画面.
|
void |
resume()
恢复播放,重新获取流数据.
|
void |
seek(float time)
跳转到视频流指定时间点.
|
void |
seek(int time)
跳转到视频流指定时间点.
|
void |
setAutoPlay(boolean autoPlay)
设置点播是否startPlay后自动开始播放。默认自动播放
|
void |
setBitrateIndex(int index)
设置当前正在播放的码率索引,无缝切换清晰度
清晰度切换可能需要等待一小段时间。腾讯云支持多码率HLS分片对齐,保证最佳体验。
|
void |
setConfig(TXVodPlayConfig config)
设置播放器配置信息.
|
void |
setLoop(boolean loop)
设置是否循环播放
|
void |
setMirror(boolean mirror)
设置镜像
|
void |
setMute(boolean mute)
设置是否静音播放.
|
void |
setPlayerView(TextureRenderView glRootView)
设置播放器视频渲染TextureRenderView, 推荐使用TXCloudVideoView
|
void |
setPlayerView(com.tencent.rtmp.ui.TXCloudVideoView glRootView)
设置播放器的视频渲染View.
|
void |
setRate(float rate)
设置点播的播放速率。默认1.0
|
void |
setRenderMode(int mode)
设置图像平铺模式.
|
void |
setRenderRotation(int rotation)
设置图像渲染角度.
|
void |
setSurface(Surface surface)
设置Surface,目前只支持硬解
播放器只能在Surface有效的情况下才能正常工作,使用此接口播放时,需要由用户手动调用 resume() 或 pause()
|
void |
setToken(java.lang.String token)
加密HLS的token。设置此值后,播放器自动在URL中的文件名之前增加voddrm.token.
|
void |
setVodListener(ITXVodPlayListener listener)
设置播放器的回调.
|
void |
snapshot(TXLivePlayer.ITXSnapshotListener listener)
获取当前视频帧图像
注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来
|
int |
startPlay(java.lang.String playUrl)
启动播放.
|
int |
startPlay(TXPlayerAuthBuilder authBuilder)
以fileid形式播放
|
int |
stopPlay(boolean isNeedClearLastImg)
停止播放.
|
public static final int PLAYER_TYPE_EXO
public static final int PLAYER_TYPE_FFPLAY
public static final java.lang.String TAG
public TXVodPlayer(Context context)
context
- 用于系统函数调用,内部会转成ApplicationContext保存.public boolean enableHardwareDecode(boolean enable)
enable
- 启用或禁用视频硬解码. true:启用视频硬解码. false:禁用视频硬解码.启用默认的视频软解码.public int getBitrateIndex()
public float getBufferDuration()
public float getCurrentPlaybackTime()
public float getDuration()
public int getHeight()
public float getPlayableDuration()
public java.util.ArrayList<TXBitrateItem> getSupportedBitrates()
在收到PLAY_EVT_PLAY_BEGIN事件后才能正确返回结果
public int getWidth()
public boolean isLoop()
public boolean isPlaying()
public void onNetFailed(com.tencent.liteav.network.TXCVodPlayerNetApi netApi, java.lang.String reason, int code)
com.tencent.liteav.network.TXCVodPlayerNetListener
onNetFailed
in interface com.tencent.liteav.network.TXCVodPlayerNetListener
reason
- 失败原因code
- 错误码public void onNetSuccess(com.tencent.liteav.network.TXCVodPlayerNetApi netApi)
com.tencent.liteav.network.TXCVodPlayerNetListener
onNetSuccess
in interface com.tencent.liteav.network.TXCVodPlayerNetListener
public void onNotifyEvent(int event, Bundle param)
public void pause()
public void resume()
点播从pause位置开始播放,直播从当前开始播放实时画面.
public void seek(float time)
可实现视频快进,快退,进度条跳转等功能.
time
- 视频流时间点,小数点后为毫秒public void seek(int time)
可实现视频快进,快退,进度条跳转等功能.
time
- 视频流时间点,单位为秒public void setAutoPlay(boolean autoPlay)
autoPlay
- public void setBitrateIndex(int index)
index
- TXBitrateItem.index
public void setConfig(TXVodPlayConfig config)
推荐在启动播放前设置配置信息.
config
- 播放器配置信息.配置信息请参考 TXVodPlayConfig.public void setLoop(boolean loop)
loop
- public void setMirror(boolean mirror)
mirror
- public void setMute(boolean mute)
mute
- 是否静音播放. true:静音播放. false:不静音播放.public void setPlayerView(TextureRenderView glRootView)
仅当使用TXCloudVideoView不开用时(比如RN下使用),才可考虑直接使用TextureRenderView。使用TextureRenderView会导致log显示不可用。
glRootView
- 视频渲染TextureRenderViewpublic void setPlayerView(com.tencent.rtmp.ui.TXCloudVideoView glRootView)
仅仅在启动播放之前设置有效.
glRootView
- 视频渲染view.public void setRate(float rate)
rate
- public void setRenderMode(int mode)
mode
- 图像平铺模式.请参考图像平铺模式.public void setRenderRotation(int rotation)
rotation
- 图像渲染角度.请参考图像渲染角度.public void setSurface(Surface surface)
surface
- 视频渲染surfacepublic void setToken(java.lang.String token)
token
- public void setVodListener(ITXVodPlayListener listener)
listener
- 播放器回调,请参考类ITXVodPlayListenerpublic void snapshot(TXLivePlayer.ITXSnapshotListener listener)
listener
- 截图回调public int startPlay(java.lang.String playUrl)
playUrl
- 播放的流地址.public int startPlay(TXPlayerAuthBuilder authBuilder)
authBuilder
- public int stopPlay(boolean isNeedClearLastImg)
isNeedClearLastImg
- 是否需要清除最后一帧画面. true:清除最后一帧画面.正常停止播放时,推荐清除. false:保留最后一帧画面.异常停止播放(如网络异常,导致播放被迫停止),而SDK使用者希望重连服务器,继续播放时,推荐保留.