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

详细描述

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

播放器包含如下能力:

创建与销毁 V2TXLivePlayer 实例

V2_API liteav::V2TXLivePlayercreateV2TXLivePlayer (void *context)
 
V2_API liteav::V2TXLivePlayercreateV2TXLivePlayer ()
 
V2_API void releaseV2TXLivePlayer (liteav::V2TXLivePlayer *player)
 

结构体说明

◆ liteav::V2TXLivePlayer

class liteav::V2TXLivePlayer

Public 成员函数

virtual void setObserver (V2TXLivePlayerObserver *observer)=0
 
virtual int32_t setRenderView (void *view)=0
 
virtual int32_t setRenderRotation (V2TXLiveRotation rotation)=0
 
virtual int32_t setRenderFillMode (V2TXLiveFillMode mode)=0
 
virtual int32_t startPlay (const char *url)=0
 
virtual int32_t stopPlay ()=0
 
virtual int32_t isPlaying ()=0
 
virtual int32_t pauseAudio ()=0
 
virtual int32_t resumeAudio ()=0
 
virtual int32_t pauseVideo ()=0
 
virtual int32_t resumeVideo ()=0
 
virtual int32_t setPlayoutVolume (int32_t volume)=0
 
virtual int32_t setCacheParams (float minTime, float maxTime)=0
 
virtual int32_t enableVolumeEvaluation (int32_t intervalMs)=0
 
virtual int32_t snapshot ()=0
 
virtual int32_t enableObserveVideoFrame (bool enable, V2TXLivePixelFormat pixelFormat, V2TXLiveBufferType bufferType)=0
 
virtual int32_t enableReceiveSeiMessage (bool enable, int payloadType)=0
 
virtual void showDebugView (bool isShow)=0
 
virtual int32_t setProperty (const char *key, const void *value)=0
 

构造及析构函数说明

◆ ~V2TXLivePlayer()

virtual ~V2TXLivePlayer ( )
inlineprotectedvirtual

成员函数说明

◆ enableObserveVideoFrame()

virtual int32_t enableObserveVideoFrame ( bool  enable,
V2TXLivePixelFormat  pixelFormat,
V2TXLiveBufferType  bufferType 
)
pure virtual

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

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

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

◆ enableReceiveSeiMessage()

virtual int32_t enableReceiveSeiMessage ( bool  enable,
int  payloadType 
)
pure virtual

开启接收 SEI 消息

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

◆ enableVolumeEvaluation()

virtual int32_t enableVolumeEvaluation ( int32_t  intervalMs)
pure virtual

启用播放音量大小提示。

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

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

◆ isPlaying()

virtual int32_t isPlaying ( )
pure virtual

播放器是否正在播放中。

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

◆ pauseAudio()

virtual int32_t pauseAudio ( )
pure virtual

暂停播放器的音频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ pauseVideo()

virtual int32_t pauseVideo ( )
pure virtual

暂停播放器的视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ resumeAudio()

virtual int32_t resumeAudio ( )
pure virtual

恢复播放器的音频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ resumeVideo()

virtual int32_t resumeVideo ( )
pure virtual

恢复播放器的视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ setCacheParams()

virtual int32_t setCacheParams ( float  minTime,
float  maxTime 
)
pure virtual

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

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

◆ setObserver()

virtual void setObserver ( V2TXLivePlayerObserver observer)
pure virtual

设置播放器回调。

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

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

◆ setPlayoutVolume()

virtual int32_t setPlayoutVolume ( int32_t  volume)
pure virtual

设置播放器音量。

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

◆ setProperty()

virtual int32_t setProperty ( const char *  key,
const void *  value 
)
pure virtual

调用 V2TXLivePlayer 的高级 API 接口。

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

◆ setRenderFillMode()

virtual int32_t setRenderFillMode ( V2TXLiveFillMode  mode)
pure virtual

设置画面的填充模式。

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

◆ setRenderRotation()

virtual int32_t setRenderRotation ( V2TXLiveRotation  rotation)
pure virtual

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

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

◆ setRenderView()

virtual int32_t setRenderView ( void *  view)
pure virtual

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

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

◆ showDebugView()

virtual void showDebugView ( bool  isShow)
pure virtual

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

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

◆ snapshot()

virtual int32_t snapshot ( )
pure virtual

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

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

◆ startPlay()

virtual int32_t startPlay ( const char *  url)
pure virtual

开始播放音视频流。

参数
url音视频流的播放地址,支持 RTMP, HTTP-FLV, TRTC。
返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 操作成功,开始连接并播放
  • V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,url 不合法
  • V2TXLIVE_ERROR_REFUSED: RTC 不支持同一设备上同时推拉同一个 StreamId。

◆ stopPlay()

virtual int32_t stopPlay ( )
pure virtual

停止播放音视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

宏定义说明

◆ MODULE_CPP_IV2TXLIVEPLAYER_H_

#define MODULE_CPP_IV2TXLIVEPLAYER_H_

函数说明

◆ createV2TXLivePlayer() [1/2]

V2_API liteav::V2TXLivePlayer* createV2TXLivePlayer ( )

用于动态加载 dll 时,获取 V2TXLivePlayer 对象指针

返回
返回 V2TXLivePlayer 对象的指针,注意:请调用 releaseV2TXLivePlayer 析构
注意
本接口适用于Windows、Mac、iOS平台

◆ createV2TXLivePlayer() [2/2]

V2_API liteav::V2TXLivePlayer* createV2TXLivePlayer ( void *  context)

用于动态加载 dll 时,获取 V2TXLivePlayer 对象指针

返回
返回 V2TXLivePlayer 对象的指针,注意:请调用 releaseV2TXLivePlayer 析构
参数
contextAndroid 上下文,内部会转为 ApplicationContext 用于系统 API 调用
注意
本接口仅适用于Android平台

◆ releaseV2TXLivePlayer()

V2_API void releaseV2TXLivePlayer ( liteav::V2TXLivePlayer player)

析构 V2TXLivePlayer 对象

参数
playerV2TXLivePlayer 对象的指针