tencent cloud

V2TXLivePlayer
最后更新时间:2025-05-08 18:03:56
V2TXLivePlayer
最后更新时间: 2025-05-08 18:03:56
功能
腾讯云直播播放器。 主要负责从指定的直播流地址拉取音视频数据,并进行解码和本地渲染播放。
介绍
播放器包含如下能力:
支持 RTMP、HTTP-FLV、TRTC、WebRTC 协议。
屏幕截图,可以截取当前直播流的视频画面。
延时调节,可以设置播放器缓存自动调整的最小和最大时间。
自定义的视频数据处理,您可以根据项目需要处理直播流中的视频数据后,再进行渲染以及播放。

SDK 基础函数

setObserver

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

参数

参数
类型
含义
observer
V2TXLivePlayerObserver
播放器的回调目标对象,详情请参见 V2TXLivePlayerObserver

播放基础接口

setRenderView

设置播放器渲染 View,该控件负责显示视频内容。
- (V2TXLiveCode)setRenderView:(TXView *)view

参数

参数
类型
含义
view
TXView *
播放器渲染 View。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

startLivePlay

开始播放音视频流。
- (V2TXLiveCode)startLivePlay:(NSString *)url
说明:
10.7 版本开始,startPlay 变更为 startLivePlay,需要通过 V2TXLivePremier#setLicence 或者 TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用,若您暂未获取上述 License ,可 购买 正式版 License。

参数

参数
类型
含义
url
NSString *
音视频流的播放地址,支持 RTMP、HTTP-FLV、TRTC、WebRTC 协议。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。
V2TXLIVE_ERROR_INVALID_PARAMETER:操作失败,URL不合法。
V2TXLIVE_ERROR_REFUSED:RTC 不支持同一设备上同时推拉同一个 StreamId。

stopPlay

停止播放音视频流。
- (V2TXLiveCode)stopPlay;

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

isPlaying

播放器是否正在播放中。
- (int)isPlaying

返回

是否正在播放。
1:正在播放中。
0:已经停止播放。

视频相关接口

setRenderRotation

设置播放器画面的旋转角度。
- (V2TXLiveCode)setRenderRotation:(V2TXLiveRotation)rotation

参数

参数
类型
含义
rotation
旋转角度,默认值:0。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

V2TXLiveRotation 枚举值

取值
含义
V2TXLiveRotation0
不旋转。
V2TXLiveRotation90
顺时针旋转90度。
V2TXLiveRotation180
顺时针旋转180度。
V2TXLiveRotation270
顺时针旋转270度。

setRenderFillMode

设置画面的填充模式。
- (V2TXLiveCode)setRenderFillMode:(V2TXLiveFillMode)mode

参数

参数
类型
含义
mode
画面填充模式,默认值:V2TXLiveFillModeFit。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

V2TXLiveFillMode 枚举值

取值
含义
V2TXLiveFillModeFit
图像适应屏幕,保持画面完整,但如果图像宽高比不同于屏幕宽高比,会有黑边的存在。
V2TXLiveFillModeFill
图像铺满屏幕,不留黑边,如果图像宽高比不同于屏幕宽高比,部分画面内容会被裁剪掉。

pauseVideo

暂停播放器的视频流。
- (V2TXLiveCode)pauseVideo

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

resumeVideo

恢复播放器的视频流。
- (V2TXLiveCode)resumeVideo

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

snapshot

截取播放过程中的视频画面。
说明:
返回值成功后可以在 [V2TXLivePlayerObserver onSnapshotComplete: image:] 回调中获取截图图片。
- (V2TXLiveCode)snapshot

返回

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

enableCustomRendering

设置视频自定义渲染回调。 通过该方法,可以获取解码后的每一帧视频画面,进行自定义渲染处理,添加自定义显示效果。
说明:
开启成功后可在 [V2TXLivePlayerObserver onRenderVideoFrame:frame:] 回调中获取视频帧数据。
- (V2TXLiveCode)enableCustomRendering:(BOOL)enable
pixelFormat:(V2TXLivePixelFormat)pixelFormat
bufferType:(V2TXLiveBufferType)bufferType

参数

参数
类型
含义
enable
BOOL
是否开启自定义渲染。默认值:NO。
pixelFormat
V2TXLivePixelFormat
自定义渲染回调的视频像素格式。
bufferType
V2TXLiveBufferType
自定义渲染回调的视频数据格式。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。
V2TXLIVE_ERROR_NOT_SUPPORTED:像素格式或者数据格式不支持。

V2TXLivePixelFormat 枚举值

取值
含义
V2TXLivePixelFormatUnknown
未知。
V2TXLivePixelFormatI420
YUV420P I420。
V2TXLivePixelFormatNV12
YUV420SP NV12。
V2TXLivePixelFormatBGRA32
BGRA8888。
V2TXLivePixelFormatTexture2D
OpenGL 2D 纹理。

V2TXLiveBufferType 枚举值

取值
含义
V2TXLiveBufferTypeUnknown
未知。
V2TXLiveBufferTypePixelBuffer
直接使用效率最高,iOS 系统提供了众多 API 获取或处理 PixelBuffer。
V2TXLiveBufferTypeNSData
会有一定的性能消耗,SDK 内部是直接处理 PixelBuffer 的,所以会存在 NSData 和 PixelBuffer 之间类型转换所产生的内存拷贝开销。
V2TXLiveBufferTypeTexture
直接操作纹理 ID,性能最好。

音频相关接口

pauseAudio

暂停播放器的音频流。
- (V2TXLiveCode)pauseAudio

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

resumeAudio

恢复播放器的音频流。
- (V2TXLiveCode)resumeAudio

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

setPlayoutVolume

设置音量。
- (V2TXLiveCode)setPlayoutVolume:(NSUInteger)volume;

参数

参数
类型
含义
volume
NSUInteger
音量大小,取值范围0 - 100,默认值:100。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

enableVolumeEvaluation

启用播放音量大小提示。
说明:
开启后可以在 [V2TXLivePlayerObserver onPlayoutVolumeUpdate:volume:] 回调中获取到 SDK 对音量大小值的评估。
- (V2TXLiveCode)enableVolumeEvaluation:(NSUInteger)intervalMs

参数

参数
类型
含义
intervalMs
NSUInteger
onPlayoutVolumeUpdate 音量大小回调的触发间隔,单位为 ms,最小间隔为 100ms。如果小于等于0则会关闭回调,建议设置为 300ms。默认值:0,不开启。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。

更多实用接口

setCacheParams

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

参数

参数
类型
含义
minTime
CGFloat
缓存自动调整的最小时间,取值需要大于0。默认值:1。
maxTime
CGFloat
缓存自动调整的最大时间,取值需要大于0。默认值:5。

返回

返回值 V2TXLiveCode:
V2TXLIVE_OK:成功。
V2TXLIVE_ERROR_INVALID_PARAMETER:操作失败,minTime 和 maxTime 需要大于0。
V2TXLIVE_ERROR_REFUSED:播放器处于播放状态,不支持修改缓存策略。

showDebugView

是否显示播放器状态信息的调试浮层。
- (void)showDebugView:(BOOL)isShow

参数

参数
类型
含义
isShow
BOOL
是否显示,默认值:NO。
本页内容是否解决了您的问题?
您也可以 联系销售 提交工单 以寻求帮助。

文档反馈