tencent cloud

文档反馈

V2TXLivePlayer

最后更新时间:2024-11-28 17:46:18
    Copyright (c) 2021 Tencent. All rights reserved.
    
    Module: V2TXLivePlayer @ TXLiteAVSDK
    
    Function: 腾讯云直播播放器
    

    功能

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

    介绍

    播放器包含如下能力:
    支持 RTMP、HTTP-FLV、HLS、TRTC、WebRTC 协议。
    屏幕截图,可以截取当前直播流的视频画面。
    延时调节,可以设置播放器缓存自动调整的最小和最大时间。
    自定义的视频数据处理,您可以根据项目需要处理直播流中的视频数据后,再进行渲染以及播放。
    
    V2TXLivePlayer

    V2TXLivePlayer

    函数列表
    描述
    设置播放器回调
    设置播放器的视频渲染 View,该控件负责显示视频内容
    设置播放器画面的旋转角度
    设置画面的填充模式
    开始播放音视频流
    停止播放音视频流
    播放器是否正在播放中
    暂停播放器的音频流
    恢复播放器的音频流
    暂停播放器的视频流
    恢复播放器的视频流
    设置播放器音量
    设置播放器缓存自动调整的最小和最大时间 ( 单位:秒 )
    直播流无缝切换,支持 FLV 和 LEB
    获取码流信息
    启用播放音量大小提示
    截取播放过程中的视频画面
    开启/关闭对视频帧的监听回调
    开启/关闭对音频数据的监听回调
    开启接收 SEI 消息
    开启画中画功能,仅支持直播和快直播播放
    是否显示播放器状态信息的调试浮层
    调用 V2TXLivePlayer 的高级 API 接口
    开始录制音视频流
    停止录制音视频流

    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:

    开始录制音视频流

    注意
    拉流开启后才能开始录制,非拉流状态下开启录制无效。
    录制过程中不要动态切换软/硬解,生成的视频极有可能出现异常。

    返回值说明:

    返回值 V2TXLiveCode
    V2TXLIVE_OK : 成功。
    V2TXLIVE_ERROR_INVALID_PARAMETER : 参数不合法,比如filePath 为空。
    V2TXLIVE_ERROR_REFUSED : API被拒绝,拉流尚未开始。

    stopLocalRecording

    stopLocalRecording

    停止录制音视频流

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

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持