public class TXLivePlayer
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
TXLivePlayer.ITXAudioRawDataListener |
static interface |
TXLivePlayer.ITXSnapshotListener
截图回调
用于接收当前视频图片
|
static interface |
TXLivePlayer.ITXVideoRawDataListener
软解视频数据回调
用于接收软解YUV数据
|
Modifier and Type | Field and Description |
---|---|
static int |
PLAY_TYPE_LIVE_FLV |
static int |
PLAY_TYPE_LIVE_RTMP
播放类型
|
static int |
PLAY_TYPE_LIVE_RTMP_ACC |
static int |
PLAY_TYPE_LOCAL_VIDEO |
static int |
PLAY_TYPE_VOD_FLV |
static int |
PLAY_TYPE_VOD_HLS |
static int |
PLAY_TYPE_VOD_MP4 |
static java.lang.String |
TAG |
Constructor and Description |
---|
TXLivePlayer(Context context)
构造一个TXLivePlayer对象.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addVideoRawData(byte[] yuvBuffer)
设置软解回调buffer,用于接受软解码出来的YUV数据
注意:只对直播生效,点播不生效
yuvBuffer大小应该等于视频width*height*3/2,用于存储I420格式的数据
width,height值可以从事件TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION中获得 |
boolean |
enableHardwareDecode(boolean enable)
启用或禁用视频硬解码.
|
boolean |
isPlaying()
是否正在播放.
|
void |
pause()
暂停播放,停止获取流数据,保留最后一帧画面.
|
int |
prepareLiveSeek()
直播时移准备,拉取该直播流的起始播放时间。
|
void |
resume()
恢复播放,重新获取流数据.
|
int |
resumeLive()
恢复直播播放
|
void |
seek(int time)
跳转到视频流指定时间点.
|
void |
setAudioRawDataListener(TXLivePlayer.ITXAudioRawDataListener listener)
设置音频数据回调
|
void |
setAudioRoute(int audioRoute)
设置声音播放模式(切换扬声器,听筒)
|
void |
setAutoPlay(boolean autoPlay)
设置点播是否startPlay后自动开始播放。默认自动播放
注意:只对点播生效,直播不生效
|
void |
setConfig(TXLivePlayConfig config)
设置播放器配置信息.
|
void |
setMute(boolean mute)
设置是否静音播放.
|
void |
setPlayerView(com.tencent.rtmp.ui.TXCloudVideoView glRootView)
设置播放器的视频渲染View.
|
void |
setPlayListener(ITXLivePlayListener listener)
设置播放器的回调.
|
void |
setRate(float rate)
设置点播的播放速率。默认1.0
注意:只对点播生效,直播不生效
|
void |
setRenderMode(int mode)
设置图像平铺模式.
|
void |
setRenderRotation(int rotation)
设置图像渲染角度.
|
void |
setSurface(Surface surface)
设置外部渲染Surface
目前只支持硬解,设置后不能再调用setPlayerView(TXCloudVideoView).
|
void |
setVideoRawDataListener(TXLivePlayer.ITXVideoRawDataListener listener)
设置软解码视频数据回调
|
void |
setVideoRecordListener(TXRecordCommon.ITXVideoRecordListener listener)
录制回调接口,需要在启动播放后设置才生效
|
void |
snapshot(TXLivePlayer.ITXSnapshotListener listener)
获取当前视频帧图像
注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来
|
int |
startPlay(java.lang.String playUrl,
int playType)
启动播放.
|
int |
startRecord(int recordType)
启动视频录制
|
int |
stopPlay(boolean isNeedClearLastImg)
停止播放.
|
int |
stopRecord()
停止视频录制.
|
int |
switchStream(java.lang.String playUrl)
flv直播无缝切换.
|
public static final int PLAY_TYPE_LIVE_FLV
public static final int PLAY_TYPE_LIVE_RTMP
public static final int PLAY_TYPE_LIVE_RTMP_ACC
public static final int PLAY_TYPE_LOCAL_VIDEO
public static final int PLAY_TYPE_VOD_FLV
public static final int PLAY_TYPE_VOD_HLS
public static final int PLAY_TYPE_VOD_MP4
public static final java.lang.String TAG
public TXLivePlayer(Context context)
context
- 用于系统函数调用,内部会转成ApplicationContext保存.public boolean addVideoRawData(byte[] yuvBuffer)
yuvBuffer
- public boolean enableHardwareDecode(boolean enable)
enable
- 启用或禁用视频硬解码. true:启用视频硬解码. false:禁用视频硬解码.启用默认的视频软解码.public boolean isPlaying()
public void pause()
public int prepareLiveSeek()
使用时移功能需在播放开始后调用此方法,否者时移失败。时移的使用请参考文档 https://cloud.tencent.com/document/product/266/7938 非腾讯云直播地址不能时移
public void resume()
点播从pause位置开始播放,直播从当前开始播放实时画面.
public int resumeLive()
从时移播放中回到直播中
public void seek(int time)
点播流可实现视频快进,快退,进度条跳转等功能.
直播流则会时移到该时间点
time
- 视频流时间点,单位为秒public void setAudioRawDataListener(TXLivePlayer.ITXAudioRawDataListener listener)
listener
- 音频数据回调public void setAudioRoute(int audioRoute)
public void setAutoPlay(boolean autoPlay)
autoPlay
- 自动播放开关public void setConfig(TXLivePlayConfig config)
推荐在启动播放前设置配置信息.
config
- 播放器配置信息.配置信息请参考 TXLivePlayConfig.public void setMute(boolean mute)
mute
- 是否静音播放. true:静音播放. false:不静音播放.public void setPlayerView(com.tencent.rtmp.ui.TXCloudVideoView glRootView)
glRootView
- 视频渲染view.public void setPlayListener(ITXLivePlayListener listener)
listener
- 播放器回调,请参考类ITXLivePlayListenerpublic void setRate(float rate)
rate
- public void setRenderMode(int mode)
mode
- 图像平铺模式.可以设置值为:TXLiveConstants.RENDER_MODE_FULL_FILL_SCREEN视频画面全屏铺满:将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不留黑边.public void setRenderRotation(int rotation)
rotation
- 图像渲染角度.可设置值为:TXLiveConstants.RENDER_ROTATION_PORTRAIT不旋转,推荐竖屏时设置.public void setSurface(Surface surface)
surface
- 视频渲染surface,public void setVideoRawDataListener(TXLivePlayer.ITXVideoRawDataListener listener)
public void setVideoRecordListener(TXRecordCommon.ITXVideoRecordListener listener)
listener
- 录制回调接口.public void snapshot(TXLivePlayer.ITXSnapshotListener listener)
listener
- 截图回调public int startPlay(java.lang.String playUrl, int playType)
public int startRecord(int recordType)
recordType
- public int stopPlay(boolean isNeedClearLastImg)
isNeedClearLastImg
- 是否需要清除最后一帧画面. true:清除最后一帧画面.正常停止播放时,推荐清除.public int stopRecord()
public int switchStream(java.lang.String playUrl)
playUrl
- 播放的流地址.
playUrl必须是当前播放直播流的不同清晰度,切换到无关流地址可能会失败