public class TXLivePlayer
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
TXLivePlayer.ITXAudioRawDataListener
8.3 音频原始数据接口类
|
static interface |
TXLivePlayer.ITXAudioVolumeEvaluationListener
8.4 播放器音量大小回调
|
static interface |
TXLivePlayer.ITXSnapshotListener
8.1 截图回调接口类
|
static interface |
TXLivePlayer.ITXVideoRawDataListener
8.2 软解视频数据回调接口类
|
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)
1.1 创建 TXLivePlayer 实例
|
Modifier and Type | Method and Description |
---|---|
boolean |
addVideoRawData(byte[] yuvBuffer)
5.1 设置软解码数据载体 Buffer
三个注意点:
- 该 Buffer 用于接受软解回调出来的 I420 格式的 YUV 数据。
- Buffer 大小 = width * height * 3 / 2。
- 视频 width 、 height,可通过
ITXLivePlayListener.onPlayEvent(int, Bundle) 的 TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION 事件获取到。 |
void |
callExperimentalAPI(java.lang.String jsonStr)
3.10 调用实验性 API 接口
|
void |
enableAudioVolumeEvaluation(int intervalMs)
3.9 启用音量大小评估
开启后会在 onAudioVolumeEvaluationNotify 中获取到 SDK 对音量大小值的评估。
|
boolean |
enableHardwareDecode(boolean enable)
3.3 开启硬件加速
|
boolean |
isPlaying()
2.4 是否正在播放
|
void |
pause()
2.5 暂停播放
停止获取流数据,保留最后一帧画面。
|
int |
prepareLiveSeek(java.lang.String domain,
int bizid)
6.1 直播时移准备
使用说明:
- 非腾讯云直播地址不能时移。
- 使用时移功能需在播放开始后调用此方法,否则时移失败。
- 时移的使用请参考文档:[直播时移播放使用文档](https://cloud.tencent.com/document/product/881/20213#.E6.97.B6.E7.A7.BB.E6.92.AD.E6.94.BE)。
|
void |
resume()
2.5 恢复播放
重新获取数据,获取当前直播数据。
|
int |
resumeLive()
6.3 恢复直播播放
从直播时移播放中,恢复到直播播放。
|
void |
seek(int time)
6.2 直播时移跳转
直播流则会时移到该时间点。
|
void |
setAudioRawDataListener(TXLivePlayer.ITXAudioRawDataListener listener)
5.3 设置音频数据回调
|
void |
setAudioRoute(int audioRoute)
3.6 设置声音播放模式
播放模式有两种:
- 听筒:声音将从听筒播出
- 扬声器:声音将从扬声器播出
|
void |
setAudioVolumeEvaluationListener(TXLivePlayer.ITXAudioVolumeEvaluationListener listener)
3.8 设置音量大小回调接口
|
void |
setAutoPlay(boolean autoPlay)
Deprecated.
|
void |
setConfig(TXLivePlayConfig config)
1.2 设置 TXLivePlayer 播放配置项
|
void |
setMute(boolean mute)
3.4 设置是否静音播放
|
void |
setPlayerView(com.tencent.rtmp.ui.TXCloudVideoView glRootView)
2.1 设置播放器的视频渲染 View
|
void |
setPlayListener(ITXLivePlayListener listener)
1.3 设置推流回调接口
|
void |
setRate(float rate)
Deprecated.
|
void |
setRenderMode(int mode)
3.1 设置播放渲染模式
渲染模式有两种:
- 平铺模式:视频画面将会按照比例铺满屏幕,多余部分会被裁减掉,此模式下不会有黑边。
- 自适应模式:视频画面将等比例缩放,会居中显示,此模式可能会有黑边。
|
void |
setRenderRotation(int rotation)
3.2 设置图像渲染角度
渲染角度有两种:
- 竖屏:播放是竖屏播放的时候使用
- 横屏:播放是横屏播放的时候使用
|
void |
setSurface(Surface surface)
2.6 使用 Surface 模式用于本地渲染
|
void |
setSurfaceSize(int width,
int height)
2.7 设置渲染 Surface 的大小
|
void |
setVideoRawDataListener(TXLivePlayer.ITXVideoRawDataListener listener)
5.2 设置软解码视频数据回调
|
void |
setVideoRecordListener(TXRecordCommon.ITXVideoRecordListener listener)
4.1 设置录制回调接口
|
void |
setVolume(int volume)
3.5 设置音量
|
void |
snapshot(TXLivePlayer.ITXSnapshotListener listener)
4.4 播放过程中本地截图
|
int |
startPlay(java.lang.String playUrl,
int playType)
2.2 播放器开始播放
可播放的直播流连接:
- RTMP 直播流:
PLAY_TYPE_LIVE_RTMP
- FLV 直播流:PLAY_TYPE_LIVE_FLV
- RTMP 加速流,用于连麦:PLAY_TYPE_LIVE_RTMP_ACC |
int |
startRecord(int recordType)
4.2 启动视频录制
目前录制格式仅支持录制直播流,
TXRecordCommon.RECORD_TYPE_STREAM_SOURCE 。 |
int |
stopPlay(boolean isNeedClearLastImg)
2.3 停止播放
isNeedClearLastImg 提供是否清除最后一帧画面的逻辑:
- 推荐在正常停止播放时,进行清除
- 异常播放,如网络异常等,而您希望等待重连服务器,继续播放时,推荐保留
|
int |
stopRecord()
4.3 停止视频录制
|
int |
switchStream(java.lang.String playUrl)
3.7 多清晰度切换
使用说明:
- 必须是腾讯云的直播地址。
- 必须是当前播放直播流的不同清晰度,切换到无关流地址可能会失败。
|
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
- 上下文public boolean addVideoRawData(byte[] yuvBuffer)
ITXLivePlayListener.onPlayEvent(int, Bundle)
的 TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION
事件获取到。yuvBuffer
- public void callExperimentalAPI(java.lang.String jsonStr)
jsonStr
- 接口及参数描述的 JSON 字符串public void enableAudioVolumeEvaluation(int intervalMs)
intervalMs
- 决定了 onAudioVolumeEvaluationNotify 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;public boolean enableHardwareDecode(boolean enable)
enable
- true:启用视频硬解码, false:禁用视频硬解码public boolean isPlaying()
public void pause()
public int prepareLiveSeek(java.lang.String domain, int bizid)
domain
- 时移域名bizid
- 流 bizidpublic void resume()
public int resumeLive()
public void seek(int time)
time
- 视频流时间点,单位为秒public void setAudioRawDataListener(TXLivePlayer.ITXAudioRawDataListener listener)
listener
- 音频数据回调public void setAudioRoute(int audioRoute)
audioRoute
- 声音播放模式,可设置值:TXLiveConstants.AUDIO_ROUTE_SPEAKER
、TXLiveConstants.AUDIO_ROUTE_SPEAKER
public void setAudioVolumeEvaluationListener(TXLivePlayer.ITXAudioVolumeEvaluationListener listener)
listener
- 音量大小回调接口@Deprecated public void setAutoPlay(boolean autoPlay)
TXVodPlayer
进行点播播放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
- 播放器回调,请参考 ITXLivePlayListener
@Deprecated public void setRate(float rate)
TXVodPlayer
进行点播播放rate
- public void setRenderMode(int mode)
mode
- 图像渲染模式,可以设置值为:TXLiveConstants.RENDER_MODE_FULL_FILL_SCREEN
、TXLiveConstants.RENDER_MODE_ADJUST_RESOLUTION
public void setRenderRotation(int rotation)
rotation
- 图像渲染角度,可设置值为:TXLiveConstants.RENDER_ROTATION_PORTRAIT
、TXLiveConstants.RENDER_ROTATION_LANDSCAPE
public void setSurface(Surface surface)
surface
- 视频渲染 surface。public void setSurfaceSize(int width, int height)
width
- 宽height
- 高public void setVideoRawDataListener(TXLivePlayer.ITXVideoRawDataListener listener)
public void setVideoRecordListener(TXRecordCommon.ITXVideoRecordListener listener)
listener
- 接口public void setVolume(int volume)
volume
- 音量大小,取值范围0 - 100public void snapshot(TXLivePlayer.ITXSnapshotListener listener)
listener
- 截图回调public int startPlay(java.lang.String playUrl, int playType)
PLAY_TYPE_LIVE_RTMP
- FLV 直播流:PLAY_TYPE_LIVE_FLV
- RTMP 加速流,用于连麦:PLAY_TYPE_LIVE_RTMP_ACC
playUrl
- 播放的流地址playType
- 播放类型public int startRecord(int recordType)
TXRecordCommon.RECORD_TYPE_STREAM_SOURCE
。recordType
- TXRecordCommon.RECORD_TYPE_STREAM_SOURCE
public int stopPlay(boolean isNeedClearLastImg)
isNeedClearLastImg
- true:清除;false:不清除public int stopRecord()
public int switchStream(java.lang.String playUrl)
playUrl
- 播放的流地址