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

详细描述

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

播放器包含如下能力:


结构体说明

◆ V2TXLivePlayer-p

protocol V2TXLivePlayer-p

构造函数

(void) - setObserver:
 
(V2TXLiveCode- setRenderView:
 
(V2TXLiveCode- setRenderRotation:
 
(V2TXLiveCode- setRenderFillMode:
 
(V2TXLiveCode- startLivePlay:
 
(V2TXLiveCode- stopPlay
 
(int) - isPlaying
 
(V2TXLiveCode- pauseAudio
 
(V2TXLiveCode- resumeAudio
 
(V2TXLiveCode- pauseVideo
 
(V2TXLiveCode- resumeVideo
 
(V2TXLiveCode- setPlayoutVolume:
 
(V2TXLiveCode- setCacheParams:maxTime:
 
(V2TXLiveCode- enableVolumeEvaluation:
 
(V2TXLiveCode- snapshot
 
(V2TXLiveCode- enableObserveVideoFrame:pixelFormat:bufferType:
 
(V2TXLiveCode- enableReceiveSeiMessage:payloadType:
 
(void) - showDebugView:
 
(V2TXLiveCode- setProperty:value:
 

函数文档

◆ enableObserveVideoFrame:pixelFormat:bufferType:()

- (V2TXLiveCode) enableObserveVideoFrame: (BOOL)  enable
pixelFormat: (V2TXLivePixelFormat pixelFormat
bufferType: (V2TXLiveBufferType bufferType 

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

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

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

◆ enableReceiveSeiMessage:payloadType:()

- (V2TXLiveCode) enableReceiveSeiMessage: (BOOL)  enable
payloadType: (int)  payloadType 

开启接收 SEI 消息

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

◆ enableVolumeEvaluation:()

- (V2TXLiveCode) enableVolumeEvaluation: (NSUInteger)  intervalMs

启用播放音量大小提示。

开启后可以在 V2TXLivePlayerObserver::onPlayoutVolumeUpdate:volume: "onPlayoutVolumeUpdate" 回调中获取到 SDK 对音量大小值的评估。

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

◆ isPlaying()

- (int) isPlaying

播放器是否正在播放中。

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

◆ pauseAudio()

- (V2TXLiveCode) pauseAudio

暂停播放器的音频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ pauseVideo()

- (V2TXLiveCode) pauseVideo

暂停播放器的视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ resumeAudio()

- (V2TXLiveCode) resumeAudio

恢复播放器的音频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ resumeVideo()

- (V2TXLiveCode) resumeVideo

恢复播放器的视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功

◆ setCacheParams:maxTime:()

- (V2TXLiveCode) setCacheParams: (CGFloat)  minTime
maxTime: (CGFloat)  maxTime 

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

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

◆ setObserver:()

- (void) setObserver: (id< V2TXLivePlayerObserver >)  observer

设置播放器回调。

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

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

◆ setPlayoutVolume:()

- (V2TXLiveCode) setPlayoutVolume: (NSUInteger)  volume

设置播放器音量。

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

◆ setProperty:value:()

- (V2TXLiveCode) setProperty: (NSString *)  key
value: (NSObject *)  value 

调用 V2TXLivePlayer 的高级 API 接口。

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

◆ setRenderFillMode:()

- (V2TXLiveCode) setRenderFillMode: (V2TXLiveFillMode mode

设置画面的填充模式。

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

◆ setRenderRotation:()

- (V2TXLiveCode) setRenderRotation: (V2TXLiveRotation rotation

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

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

◆ setRenderView:()

- (V2TXLiveCode) setRenderView: (TXView *)  view

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

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

◆ showDebugView:()

- (void) showDebugView: (BOOL)  isShow

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

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

◆ snapshot()

- (V2TXLiveCode) snapshot

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

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

◆ startLivePlay:()

- (V2TXLiveCode) startLivePlay: (NSString *)  url

开始播放音视频流。

注意
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()

- (V2TXLiveCode) stopPlay

停止播放音视频流。

返回
返回值 V2TXLiveCode
  • V2TXLIVE_OK: 成功