腾讯云视立方V2TXLivePlayer

Copyright (c) 2021 Tencent. All rights reserved.

Module: V2TXLivePlayer @ TXLiteAVSDK

Function: 腾讯云直播播放器

功能

腾讯云直播播放器。

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

介绍

播放器包含如下能力:

支持 RTMP、HTTP-FLV、HLS、TRTC、WebRTC 协议。

屏幕截图,可以截取当前直播流的视频画面。

延时调节,可以设置播放器缓存自动调整的最小和最大时间。

自定义的视频数据处理,您可以根据项目需要处理直播流中的视频数据后,再进行渲染以及播放。

V2TXLivePlayer

V2TXLivePlayer

函数列表

描述

setObserver:

设置播放器回调

setRenderView:

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

setRenderRotation:

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

setRenderFillMode:

设置画面的填充模式

startLivePlay:

开始播放音视频流

stopPlay

停止播放音视频流

isPlaying

播放器是否正在播放中

pauseAudio

暂停播放器的音频流

resumeAudio

恢复播放器的音频流

pauseVideo

暂停播放器的视频流

resumeVideo

恢复播放器的视频流

setPlayoutVolume:

设置播放器音量

setCacheParams:maxTime:

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

switchStream:

直播流无缝切换,支持 FLV 和 LEB

getStreamList

获取码流信息

enableVolumeEvaluation:

启用播放音量大小提示

snapshot

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

enableObserveVideoFrame:pixelFormat:bufferType:

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

enableObserveAudioFrame:

开启/关闭对音频数据的监听回调

enableReceiveSeiMessage:payloadType:

开启接收 SEI 消息

enablePictureInPicture:

开启画中画功能,仅支持直播和快直播播放

showDebugView:

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

setProperty:value:

调用 V2TXLivePlayer 的高级 API 接口

startLocalRecording:

开始录制音视频流

stopLocalRecording

停止录制音视频流

setObserver:

setObserver:

- (void)setObserver:

(id<V2TXLivePlayerObserver>)observer

设置播放器回调

通过设置回调,可以监听 V2TXLivePlayer 播放器的一些回调事件,

包括播放器状态、播放音量回调、音视频首帧回调、统计数据、警告和错误信息等。

参数

描述

observer

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

setRenderView:

setRenderView:

- (V2TXLiveCode)setRenderView:

(TXView *)view

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

参数

描述

view

播放器渲染 View。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK:成功。

setRenderRotation:

setRenderRotation:

- (V2TXLiveCode)setRenderRotation:

(V2TXLiveRotation)rotation

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

参数

描述

rotation

旋转角度 V2TXLiveRotation。

V2TXLiveRotation0【默认值】: 0度, 不旋转。

V2TXLiveRotation90: 顺时针旋转90度。

V2TXLiveRotation180: 顺时针旋转180度。

V2TXLiveRotation270: 顺时针旋转270度。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

setRenderFillMode:

setRenderFillMode:

- (V2TXLiveCode)setRenderFillMode:

(V2TXLiveFillMode)mode

设置画面的填充模式

参数

描述

mode

画面填充模式 V2TXLiveFillMode。

V2TXLiveFillModeFill 【默认值】: 图像铺满屏幕,不留黑边,如果图像宽高比不同于屏幕宽高比,部分画面内容会被裁剪掉。

V2TXLiveFillModeFit: 图像适应屏幕,保持画面完整,但如果图像宽高比不同于屏幕宽高比,会有黑边的存在。

V2TXLiveFillModeScaleFill: 图像拉伸铺满,因此长度和宽度可能不会按比例变化。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

startLivePlay:

startLivePlay:

- (V2TXLiveCode)startLivePlay:

(NSString *)url

开始播放音视频流

参数

描述

url

音视频流的播放地址,支持 RTMP,HTTP-FLV,TRTC。

注意

10.7 版本开始,需要通过 setLicence 或者 setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请测试版 Licence 以正常播放,正式版 Licence 需购买

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 操作成功,开始连接并播放。

V2TXLIVE_ERROR_INVALID_PARAMETER:操作失败,url 不合法。

V2TXLIVE_ERROR_REFUSED:RTC 不支持同一设备上同时推拉同一个 StreamId。

V2TXLIVE_ERROR_INVALID_LICENSE:licence 不合法,播放失败。

stopPlay

stopPlay

停止播放音视频流
返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

isPlaying

isPlaying

播放器是否正在播放中
返回值说明:

是否正在播放。

1: 正在播放中。

0: 已经停止播放。

pauseAudio

pauseAudio

暂停播放器的音频流
返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

resumeAudio

resumeAudio

恢复播放器的音频流
返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

pauseVideo

pauseVideo

暂停播放器的视频流
返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

resumeVideo

resumeVideo

恢复播放器的视频流
返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

setPlayoutVolume:

setPlayoutVolume:

- (V2TXLiveCode)setPlayoutVolume:

(NSUInteger)volume

设置播放器音量

参数

描述

volume

音量大小,取值范围0 - 100。【默认值】: 100。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

setCacheParams:maxTime:

setCacheParams:maxTime:

- (V2TXLiveCode)setCacheParams:

(CGFloat)minTime

maxTime:

(CGFloat)maxTime

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

参数

描述

maxTime

缓存自动调整的最大时间,取值需要大于0。【默认值】:5。

minTime

缓存自动调整的最小时间,取值需要大于0。【默认值】:1。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,minTime 和 maxTime 需要大于0。

V2TXLIVE_ERROR_REFUSED: 播放器处于播放状态,不支持修改缓存策略。

switchStream:

switchStream:

- (V2TXLiveCode)switchStream:

(NSString*)newUrl

直播流无缝切换,支持 FLV 和 LEB

参数

描述

newUrl

新的拉流地址。

getStreamList

getStreamList

获取码流信息

enableVolumeEvaluation:

enableVolumeEvaluation:

- (V2TXLiveCode)enableVolumeEvaluation:

(NSUInteger)intervalMs

启用播放音量大小提示

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

参数

描述

intervalMs

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

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

snapshot

snapshot

截取播放过程中的视频画面
返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

V2TXLIVE_ERROR_REFUSED: 播放器处于停止状态,不允许调用截图操作。

enableObserveVideoFrame:pixelFormat:bufferType:

enableObserveVideoFrame:pixelFormat:bufferType:

- (V2TXLiveCode)enableObserveVideoFrame:

(BOOL)enable

pixelFormat:

(V2TXLivePixelFormat)pixelFormat

bufferType:

(V2TXLiveBufferType)bufferType

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

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

参数

描述

bufferType

自定义渲染回调的视频数据格式 V2TXLiveBufferType。

enable

是否开启自定义渲染。【默认值】:NO。

pixelFormat

自定义渲染回调的视频像素格式 V2TXLivePixelFormat。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

V2TXLIVE_ERROR_NOT_SUPPORTED: 像素格式或者数据格式不支持。

enableObserveAudioFrame:

enableObserveAudioFrame:

- (V2TXLiveCode)enableObserveAudioFrame:

(BOOL)enable

开启/关闭对音频数据的监听回调

如果您开启此开关,您可以通过 V2TXLivePlayerObserver 获得音频数据,并执行自定义的逻辑。

参数

描述

enable

是否开启音频数据回调。【默认值】:NO。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功

enableReceiveSeiMessage:payloadType:

enableReceiveSeiMessage:payloadType:

- (V2TXLiveCode)enableReceiveSeiMessage:

(BOOL)enable

payloadType:

(int)payloadType

开启接收 SEI 消息

参数

描述

enable

YES: 开启接收 SEI 消息; NO: 关闭接收 SEI 消息。【默认值】: NO。

payloadType

指定接收 SEI 消息的 payloadType,支持 5、242、243,请与发送端的 payloadType 保持一致。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

enablePictureInPicture:

enablePictureInPicture:

- (V2TXLiveCode)enablePictureInPicture:

(BOOL)enable

开启画中画功能,仅支持直播和快直播播放

参数

描述

enable

YES: 开启画中画功能; NO: 关闭画中画功能。【默认值】: NO。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

showDebugView:

showDebugView:

- (void)showDebugView:

(BOOL)isShow

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

参数

描述

isShow

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

setProperty:value:

setProperty:value:

- (V2TXLiveCode)setProperty:

(NSString *)key

value:

(NSObject *)value

调用 V2TXLivePlayer 的高级 API 接口

参数

描述

key

高级 API 对应的 key, 详情请参考 V2TXLiveProperty 定义。

value

调用 key 所对应的高级 API 时,需要的参数。

注意

该接口用于调用一些高级功能。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK: 成功。

V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,key 不允许为 nil。

startLocalRecording:

startLocalRecording:

- (V2TXLiveCode)startLocalRecording:

(V2TXLiveLocalRecordingParams *)params

开始录制音视频流

注意

拉流开启后才能开始录制,非拉流状态下开启录制无效。

录制过程中不要动态切换软/硬解,生成的视频极有可能出现异常。

返回值说明:

返回值 V2TXLiveCode

V2TXLIVE_OK : 成功。

V2TXLIVE_ERROR_INVALID_PARAMETER : 参数不合法,比如filePath 为空。

V2TXLIVE_ERROR_REFUSED : API被拒绝,拉流尚未开始。

stopLocalRecording

stopLocalRecording

停止录制音视频流

注意

当停止拉流后,如果视频还在录制中,SDK 内部会自动结束录制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值