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

详细描述

腾讯云直播播放器
主要负责从指定的直播流地址拉取音视频数据,并进行解码和本地渲染播放。

播放器包含如下能力:


结构体说明

◆ com::tencent::live2::V2TXLivePlayer

class com::tencent::live2::V2TXLivePlayer

Public 成员函数

abstract void setObserver (V2TXLivePlayerObserver observer)
 
abstract int setRenderView (TXCloudVideoView view)
 
abstract int setRenderView (TextureView view)
 
abstract int setRenderView (SurfaceView view)
 
abstract int setRenderRotation (V2TXLiveRotation rotation)
 
abstract int setRenderFillMode (V2TXLiveFillMode mode)
 
abstract int startLivePlay (String url)
 
abstract int stopPlay ()
 
abstract int isPlaying ()
 
abstract int pauseAudio ()
 
abstract int resumeAudio ()
 
abstract int pauseVideo ()
 
abstract int resumeVideo ()
 
abstract int setPlayoutVolume (int volume)
 
abstract int setCacheParams (float minTime, float maxTime)
 
abstract int enableVolumeEvaluation (int intervalMs)
 
abstract int snapshot ()
 
abstract int enableObserveVideoFrame (boolean enable, V2TXLivePixelFormat pixelFormat, V2TXLiveBufferType bufferType)
 
abstract int enableReceiveSeiMessage (boolean enable, int payloadType)
 
abstract void showDebugView (boolean isShow)
 
abstract int setProperty (String key, Object value)
 

成员函数说明

◆ enableObserveVideoFrame()

abstract int enableObserveVideoFrame ( boolean  enable,
V2TXLivePixelFormat  pixelFormat,
V2TXLiveBufferType  bufferType 
)
abstract

开启/关闭对视频帧的监听回调。

SDK 在您开启次此开关后将不再渲染视频画面,您可以通过 V2TXLivePlayerObserver 获得视频帧,并执行自定义的渲染逻辑。

参数
enable是否开启自定义渲染。【默认值】:false
pixelFormat自定义渲染回调的视频像素格式 V2TXLivePixelFormat
bufferType自定义渲染回调的视频数据格式 V2TXLiveBufferType
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功
  • V2TXLIVE_ERROR_NOT_SUPPORTED: 像素格式或者数据格式不支持

◆ enableReceiveSeiMessage()

abstract int enableReceiveSeiMessage ( boolean  enable,
int  payloadType 
)
abstract

开启接收 SEI 消息

参数
enabletrue: 开启接收 SEI 消息; false: 关闭接收 SEI 消息。【默认值】: false
payloadType指定接收 SEI 消息的 payloadType,支持 5、242,请与发送端的 payloadType 保持一致。
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ enableVolumeEvaluation()

abstract int enableVolumeEvaluation ( int  intervalMs)
abstract

启用播放音量大小提示。

开启后可以在 V2TXLivePlayerObserver#onPlayoutVolumeUpdate(V2TXLivePlayer, int) 回调中获取到 SDK 对音量大小值的评估。

参数
intervalMs决定了 onPlayoutVolumeUpdate 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;【默认值】:0,不开启
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ isPlaying()

abstract int isPlaying ( )
abstract

播放器是否正在播放中。

返回
是否正在播放
  • 1: 正在播放中
  • 0: 已经停止播放

◆ pauseAudio()

abstract int pauseAudio ( )
abstract

暂停播放器的音频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ pauseVideo()

abstract int pauseVideo ( )
abstract

暂停播放器的视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ resumeAudio()

abstract int resumeAudio ( )
abstract

恢复播放器的音频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ resumeVideo()

abstract int resumeVideo ( )
abstract

恢复播放器的视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ setCacheParams()

abstract int setCacheParams ( float  minTime,
float  maxTime 
)
abstract

设置播放器缓存自动调整的最小和最大时间 ( 单位:秒 )。

参数
minTime缓存自动调整的最小时间,取值需要大于0。【默认值】:1
maxTime缓存自动调整的最大时间,取值需要大于0。【默认值】:5
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功
  • V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,minTime 和 maxTime 需要大于0
  • V2TXLIVE_ERROR_REFUSED: 播放器处于播放状态,不支持修改缓存策略

◆ setObserver()

abstract void setObserver ( V2TXLivePlayerObserver  observer)
abstract

设置播放器回调。

通过设置回调,可以监听 V2TXLivePlayer 播放器的一些回调事件, 包括播放器状态、播放音量回调、音视频首帧回调、统计数据、警告和错误信息等。

参数
observer播放器的回调目标对象,更多信息请查看 V2TXLivePlayerObserver

◆ setPlayoutVolume()

abstract int setPlayoutVolume ( int  volume)
abstract

设置播放器音量。

参数
volume音量大小,取值范围0 - 100。【默认值】: 100
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ setProperty()

abstract int setProperty ( String  key,
Object  value 
)
abstract

调用 V2TXLivePlayer 的高级 API 接口。

注意
该接口用于调用一些高级功能。
参数
key高级 API 对应的 key。
value调用 key 所对应的高级 API 时,需要的参数。
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功
  • V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,key 不允许为 null

◆ setRenderFillMode()

abstract int setRenderFillMode ( V2TXLiveFillMode  mode)
abstract

设置画面的填充模式。

参数
mode画面填充模式 V2TXLiveFillMode
  • V2TXLiveFillModeFill 【默认值】: 图像铺满屏幕,不留黑边,如果图像宽高比不同于屏幕宽高比,部分画面内容会被裁剪掉
  • V2TXLiveFillModeFit: 图像适应屏幕,保持画面完整,但如果图像宽高比不同于屏幕宽高比,会有黑边的存在
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ setRenderRotation()

abstract int setRenderRotation ( V2TXLiveRotation  rotation)
abstract

设置播放器画面的旋转角度。

参数
rotation旋转角度 V2TXLiveRotation
  • V2TXLiveRotation0【默认值】: 0度, 不旋转
  • V2TXLiveRotation90: 顺时针旋转90度
  • V2TXLiveRotation180: 顺时针旋转180度
  • V2TXLiveRotation270: 顺时针旋转270度
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ setRenderView() [1/3]

abstract int setRenderView ( SurfaceView  view)
abstract

设置播放器的视频渲染 View。 该控件负责显示视频内容。

参数
view播放器渲染 View
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK:成功

◆ setRenderView() [2/3]

abstract int setRenderView ( TextureView  view)
abstract

设置播放器的视频渲染 View。 该控件负责显示视频内容。

参数
view播放器渲染 View
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK:成功

◆ setRenderView() [3/3]

abstract int setRenderView ( TXCloudVideoView  view)
abstract

设置播放器的视频渲染 View。 该控件负责显示视频内容。

参数
view播放器渲染 View
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK:成功

◆ showDebugView()

abstract void showDebugView ( boolean  isShow)
abstract

是否显示播放器状态信息的调试浮层。

参数
isShow是否显示。【默认值】:false

◆ snapshot()

abstract int snapshot ( )
abstract

截取播放过程中的视频画面。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功
  • V2TXLIVE_ERROR_REFUSED: 播放器处于停止状态,不允许调用截图操作

◆ startLivePlay()

abstract int startLivePlay ( String  url)
abstract

开始播放音视频流。

注意
10.7版本开始,需要通过 V2TXLivePremier#setLicenceTXLiveBase#setLicence 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence ,可快速免费申请测试版 Licence 以正常播放,正式版 License 需购买
参数
url音视频流的播放地址,支持 RTMP, HTTP-FLV, TRTC。
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 操作成功,开始连接并播放
  • V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,url 不合法
  • V2TXLIVE_ERROR_REFUSED: RTC 不支持同一设备上同时推拉同一个 StreamId
  • TXLIVE_ERROR_INVALID_LICENSE:licence 不合法,播放失败

◆ stopPlay()

abstract int stopPlay ( )
abstract

停止播放音视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功