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

详细描述

WXLivePlayerLite 是微信对外开放小程序引擎中,是在原有WXLivePlayer的基础上,精简出的,本来可以直接用LivePlayer,但是微信不想改动他们代码太多。但又需要只保留LivePlayer的能力,不含 TRTC。只在LivePlay精简版时,才打包此类。

Public 成员函数

 WXLivePlayerLite (Context context)
 
void setPlayerView (TXCloudVideoView videoView)
 
void setPlayListener (ITXLivePlayListener listener)
 
void setSurface (Surface surface)
 
void setSurfaceSize (int width, int height)
 
boolean isPlaying ()
 
void showDebugLog (boolean show)
 
void setConfig (WXLivePlayConfig config)
 
void muteAudio (boolean mute)
 
void muteVideo (boolean mute)
 
void setRenderMode (int mode)
 
void setRenderRotation (int rotation)
 
void setAudioRoute (int audioRoute)
 
void snapshot (final ITXSnapshotListener listener)
 
void enableAudioVolumeEvaluation (int intervalMs)
 
void setAudioVolumeEvaluationListener (ITXAudioVolumeEvaluationListener listener)
 
void onAudioVolumeEvaluationNotify (int volume)
 
int startPlay (String playUrl, int playType)
 
int stopPlay (boolean isNeedClearLastImg)
 
void onPlayEvent (final int event, final Bundle param)
 
void onNetStatus (final Bundle status)
 

静态 Public 属性

static final int PLAY_TYPE_LIVE_RTMP = 0
 
static final int PLAY_TYPE_LIVE_FLV = 1
 
static final int PLAY_TYPE_VOD_FLV = 2
 
static final int PLAY_TYPE_VOD_HLS = 3
 
static final int PLAY_TYPE_VOD_MP4 = 4
 
static final int PLAY_TYPE_LIVE_RTMP_ACC = 5
 
static final int PLAY_TYPE_LOCAL_VIDEO = 6
 

SDK 基础函数

void setConfig (TXLivePlayConfig config)
 

播放基础接口

int startLivePlay (String playUrl, int playType)
 
void pause ()
 
void resume ()
 
long getCurrentRenderPts ()
 

播放配置接口

boolean enableHardwareDecode (boolean enable)
 
void setMute (boolean mute)
 
void setVolume (int volume)
 
int switchStream (String playUrl)
 
void callExperimentalAPI (final String jsonStr)
 

本地录制和截图

void setVideoRecordListener (TXRecordCommon.ITXVideoRecordListener listener)
 
int startRecord (int recordType)
 
int stopRecord ()
 

自定义数据处理

boolean addVideoRawData (byte[] yuvBuffer)
 
void setVideoRawDataListener (final ITXVideoRawDataListener listener)
 
int setVideoRenderListener (final ITXLivePlayVideoRenderListener listener, Object glContext)
 
void setAudioRawDataListener (ITXAudioRawDataListener listener)
 

直播时移接口

int prepareLiveSeek (String domain, int bizid)
 
void seek (int time)
 
int resumeLive ()
 

待废弃接口

void setAutoPlay (boolean autoPlay)
 
void setRate (float rate)
 

构造及析构函数说明

◆ WXLivePlayerLite()

WXLivePlayerLite ( Context  context)
inline

成员函数说明

◆ addVideoRawData()

boolean addVideoRawData ( byte[]  yuvBuffer)
inlineinherited

设置软解码数据载体 Buffer

三个注意点:

参数
yuvBuffer

◆ callExperimentalAPI()

void callExperimentalAPI ( final String  jsonStr)
inlineinherited

调用实验性 API 接口

注意
该接口用于调用一些实验性功能
参数
jsonStr接口及参数描述的 JSON 字符串

◆ enableAudioVolumeEvaluation()

void enableAudioVolumeEvaluation ( int  intervalMs)
inline

启用音量大小评估

开启后会在 onAudioVolumeEvaluationNotify 中获取到 SDK 对音量大小值的评估。

参数
intervalMs决定了 onAudioVolumeEvaluationNotify 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;

重载 TXLivePlayer .

◆ enableHardwareDecode()

boolean enableHardwareDecode ( boolean  enable)
inlineinherited

开启硬件加速

参数
enabletrue:启用视频硬解码, false:禁用视频硬解码
返回
true:关闭或开启硬件加速成功, false:关闭或开启硬件加速失败

◆ finalize()

void finalize ( )
inlineprotected

◆ getCurrentRenderPts()

long getCurrentRenderPts ( )
inlineinherited

获取当前渲染帧 pts

返回
0:当前未处于正在播放状态(例如:未启播等) >0:当前渲染视频帧的 pts,处于正在播放状态 (单位: 毫秒)

◆ isPlaying()

boolean isPlaying ( )
inline

是否正在播放

返回
true:正在播放。 false:未播放。

重载 TXLivePlayer .

◆ muteAudio()

void muteAudio ( boolean  mute)
inline

◆ muteVideo()

void muteVideo ( boolean  mute)
inline

◆ onAudioVolumeEvaluationNotify()

void onAudioVolumeEvaluationNotify ( int  volume)
inline

播放器音量大小回调

参数
volume音量大小, 取值范围 [0, 100]

实现了 TXLivePlayer.ITXAudioVolumeEvaluationListener.

◆ onNetStatus()

void onNetStatus ( final Bundle  status)
inline

网络状态通知。

参数
status通知的内容,(key,value)格式,其中 key 请参考 com.tencent.rtmp.TXLiveConstants#NET_STATUS_VIDEO_BITRATE 网络状态通知。

实现了 ITXLivePlayListener.

◆ onPlayEvent()

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

播放事件通知。

参数
event事件 ID,ID 类型请参考 com.tencent.rtmp.TXLiveConstants#PUSH_EVT_CONNECT_SUCC 播放事件列表。
param事件相关的参数,(key,value)格式,其中 key 请参考 com.tencent.rtmp.TXLiveConstants#EVT_TIME 事件参数。

实现了 ITXLivePlayListener.

◆ pause()

void pause ( )
inlineinherited

暂停播放

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

◆ prepareLiveSeek()

int prepareLiveSeek ( String  domain,
int  bizid 
)
inlineinherited

直播时移准备

使用说明:

  • 非腾讯云直播地址不能时移。
  • 使用时移功能需在播放开始后调用此方法,否则时移失败。
  • 时移的使用请参考文档:直播时移播放使用文档
参数
domain时移域名
bizid流 bizid
返回
0:OK;-1:无直播地址;-2:appId 未配置。

◆ resume()

void resume ( )
inlineinherited

恢复播放

重新获取数据,获取当前直播数据。

◆ resumeLive()

int resumeLive ( )
inlineinherited

恢复直播播放

从直播时移播放中,恢复到直播播放。

◆ seek()

void seek ( int  time)
inlineinherited

直播时移跳转

直播流则会时移到该时间点。

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

◆ setAudioRawDataListener()

void setAudioRawDataListener ( ITXAudioRawDataListener  listener)
inlineinherited

设置音频数据回调

参数
listener音频数据回调
注意
  • 音频播放器会在播放数据的前一刻,调用此函数,同步回调将要播放的数据。
  • 请不要在函数内做耗时操作,否则会影响声音播放的流畅性。

◆ setAudioRoute()

void setAudioRoute ( int  audioRoute)
inline

设置声音播放模式

播放模式有两种:

  • 听筒:声音将从听筒播出
  • 扬声器:声音将从扬声器播出
参数
audioRoute声音播放模式,可设置值:TXLiveConstants#AUDIO_ROUTE_SPEAKERTXLiveConstants#AUDIO_ROUTE_SPEAKER

重载 TXLivePlayer .

◆ setAudioVolumeEvaluationListener()

void setAudioVolumeEvaluationListener ( ITXAudioVolumeEvaluationListener  listener)
inline

设置音量大小回调接口

参数
listener音量大小回调接口

重载 TXLivePlayer .

◆ setAutoPlay()

void setAutoPlay ( boolean  autoPlay)
inlineinherited

设置点播自动播放

弃用:
待废弃,此接口仅针对点播视频使用,对直播视频无效;若您想使用点播功能,请使用 TXVodPlayer 进行点播播放
参数
autoPlay自动播放开关

◆ setConfig() [1/2]

void setConfig ( TXLivePlayConfig  config)
inlineinherited

设置 TXLivePlayer 播放配置项

参数
config播放器配置项了,详情见 TXLivePlayConfig

◆ setConfig() [2/2]

void setConfig ( WXLivePlayConfig  config)
inline

◆ setMute()

void setMute ( boolean  mute)
inlineinherited

设置是否静音播放

参数
mutetrue:静音播放, false:不静音播放

◆ setPlayerView()

void setPlayerView ( TXCloudVideoView  glRootView)
inline

设置播放器的视频渲染 View

参数
glRootView视频渲染 view。

重载 TXLivePlayer .

◆ setPlayListener()

void setPlayListener ( ITXLivePlayListener  listener)
inline

设置播放回调接口

参数
listener播放器回调,请参考 ITXLivePlayListener

重载 TXLivePlayer .

◆ setRate()

void setRate ( float  rate)
inlineinherited

设置点播播放速率

弃用:
待废弃,此接口仅针对点播视频使用,对直播视频无效;若您想使用点播功能,请使用 TXVodPlayer 进行点播播放
参数
rate

◆ setRenderMode()

void setRenderMode ( int  mode)
inline

设置播放渲染模式

渲染模式有两种:

  • 平铺模式:视频画面将会按照比例铺满屏幕,多余部分会被裁减掉,此模式下不会有黑边。
  • 自适应模式:视频画面将等比例缩放,会居中显示,此模式可能会有黑边。
参数
mode图像渲染模式,可以设置值为:TXLiveConstants#RENDER_MODE_FULL_FILL_SCREENTXLiveConstants#RENDER_MODE_ADJUST_RESOLUTION

重载 TXLivePlayer .

◆ setRenderRotation()

void setRenderRotation ( int  rotation)
inline

设置图像渲染角度

渲染角度有两种:

  • 竖屏:播放是竖屏播放的时候使用
  • 横屏:播放是横屏播放的时候使用
参数
rotation图像渲染角度,可设置值为:TXLiveConstants#RENDER_ROTATION_PORTRAITTXLiveConstants#RENDER_ROTATION_LANDSCAPE

重载 TXLivePlayer .

◆ setSurface()

void setSurface ( Surface  surface)
inline

使用 Surface 模式用于本地渲染

参数
surface视频渲染 surface。
注意

重载 TXLivePlayer .

◆ setSurfaceSize()

void setSurfaceSize ( int  width,
int  height 
)
inline

设置渲染 Surface 的大小

参数
width
height
注意
  • Surface 大小变化后,需要重新设定
  • 此功能为高级特性,除非您需要使用该特性,否则建议您使用 setPlayerView(TXCloudVideoView)

重载 TXLivePlayer .

◆ setVideoRawDataListener()

void setVideoRawDataListener ( final ITXVideoRawDataListener  listener)
inlineinherited

设置软解码视频数据回调

注意
  • 此功能会有一定的性能开销,特别是在高分辨率的情况下。
  • 除非您有特殊的需求,否则不建议您开启。

◆ setVideoRecordListener()

void setVideoRecordListener ( TXRecordCommon.ITXVideoRecordListener  listener)
inlineinherited

设置录制回调接口

参数
listener接口

◆ setVideoRenderListener()

int setVideoRenderListener ( final ITXLivePlayVideoRenderListener  listener,
Object  glContext 
)
inlineinherited

设置视频渲染纹理回调

参数
listener自定义渲染纹理回调
glContextOpenGL 上下文,如果您的渲染模块使用 (javax.microedition.khronos.egl.*) 定义的 OpenGL 接口,请填 javax.microedition.khronos.egl.EGLContext 类型的对象 如果您的渲染模块使用 (android.opengl.*) 定义的 OpenGL 接口,请填 android.opengl.EGLContext 类型的对象。 如果填 null 表示使用 SDK 内部默认的 javax.microedition.khronos.egl.EGLContext 环境
返回
0:成功;-1:glContext 类型非法。

◆ setVolume()

void setVolume ( int  volume)
inlineinherited

设置音量

参数
volume音量大小,取值范围0 - 100

◆ showDebugLog()

void showDebugLog ( boolean  show)
inline

◆ snapshot()

void snapshot ( final ITXSnapshotListener  listener)
inline

播放过程中本地截图

参数
listener截图回调

重载 TXLivePlayer .

◆ startLivePlay()

int startLivePlay ( String  playUrl,
int  playType 
)
inlineinherited

播放器开始播放

可播放的直播流类型:

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

◆ startPlay()

int startPlay ( String  playUrl,
int  playType 
)
inline

◆ startRecord()

int startRecord ( int  recordType)
inlineinherited

启动视频录制

目前录制格式仅支持录制直播流,TXRecordCommon#RECORD_TYPE_STREAM_SOURCE

参数
recordTypeTXRecordCommon#RECORD_TYPE_STREAM_SOURCE
返回
0表示成功,非0表示失败

◆ stopPlay()

int stopPlay ( boolean  isNeedClearLastImg)
inline

停止播放

isNeedClearLastImg 提供是否清除最后一帧画面的逻辑:

  • 推荐在正常停止播放时,进行清除
  • 异常播放,如网络异常等,而您希望等待重连服务器,继续播放时,推荐保留
参数
isNeedClearLastImgtrue:清除;false:不清除
返回
0:成功;非0:失败。

重载 TXLivePlayer .

◆ stopRecord()

int stopRecord ( )
inlineinherited

停止视频录制

返回
0表示成功,非0表示失败

◆ switchStream()

int switchStream ( String  playUrl)
inlineinherited

多清晰度切换

使用说明:

  • 必须是腾讯云的直播地址。
  • 必须是当前播放直播流的不同清晰度,切换到无关流地址可能会失败。
参数
playUrl播放的流地址

结构体成员变量说明

◆ PLAY_TYPE_LIVE_FLV

final int PLAY_TYPE_LIVE_FLV = 1
staticinherited

◆ PLAY_TYPE_LIVE_RTMP

final int PLAY_TYPE_LIVE_RTMP = 0
staticinherited

播放类型

◆ PLAY_TYPE_LIVE_RTMP_ACC

final int PLAY_TYPE_LIVE_RTMP_ACC = 5
staticinherited

◆ PLAY_TYPE_LOCAL_VIDEO

final int PLAY_TYPE_LOCAL_VIDEO = 6
staticinherited

◆ PLAY_TYPE_VOD_FLV

final int PLAY_TYPE_VOD_FLV = 2
staticinherited

◆ PLAY_TYPE_VOD_HLS

final int PLAY_TYPE_VOD_HLS = 3
staticinherited

◆ PLAY_TYPE_VOD_MP4

final int PLAY_TYPE_VOD_MP4 = 4
staticinherited