tencent cloud

文档反馈

V2TXLivePlayer

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

    SDK 基础函数

    setObserver

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

    参数

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

    播放基础接口

    setRenderView

    设置播放器渲染 View,该控件负责显示视频内容。
    public abstract int setRenderView(TXCloudVideoView view);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    setRenderView

    设置播放器渲染 View,该控件负责显示视频内容。
    public abstract int setRenderView(SurfaceView view);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    setRenderView

    设置播放器渲染 View,该控件负责显示视频内容。
    public abstract int setRenderView(TextureView view);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    startLivePlay

    开始播放音视频流。
    public abstract int startLivePlay(String url);
    说明:
    10.7 版本开始,startPlay 变更为 startLivePlay,需要通过 V2TXLivePremier#setLicence 或者 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用,若您暂未获取上述 License ,可 快速免费申请测试版 License以正常播放,正式版 License 需 购买

    参数

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

    返回

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

    stopPlay

    停止播放音视频流。
    public abstract int stopPlay();

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    isPlaying

    播放器是否正在播放中。
    public abstract int isPlaying();

    返回

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

    视频相关接口

    setRenderRotation

    设置播放器画面的旋转角度。
    public abstract int setRenderRotation(V2TXLiveRotation rotation);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    V2TXLiveRotation 枚举值

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

    setRenderFillMode

    设置画面的填充模式。
    public abstract int setRenderFillMode(V2TXLiveFillMode mode);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    V2TXLiveFillMode 枚举值

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

    pauseVideo

    暂停播放器的视频流。
    public abstract int pauseVideo();

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    resumeVideo

    恢复播放器的视频流。
    public abstract int resumeVideo();

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    snapshot

    截取播放过程中的视频画面。
    说明:
    返回值成功后可以在 V2TXLivePlayerObserver.onSnapshotComplete 回调中获取截图图片。
    public abstract int snapshot();

    返回

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

    enableObserveVideoFrame

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

    参数

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

    返回

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

    V2TXLivePixelFormat 枚举值

    取值
    说明
    V2TXLivePixelFormatUnknown
    未知。
    V2TXLivePixelFormatI420
    YUV420P I420。
    V2TXLivePixelFormatTexture2D
    OpenGL 2D 纹理。

    V2TXLiveBufferType 枚举值

    取值
    说明
    V2TXLiveBufferTypeUnknown
    未知。
    V2TXLiveBufferTypeByteBuffer
    DirectBuffer,装载 I420 等 buffer,在 native 层使用。
    V2TXLiveBufferTypeByteArray
    byte[],装载 I420 等 buffer,在 Java 层使用。
    V2TXLiveBufferTypeTexture
    直接操作纹理 ID,性能最好,画质损失最少。

    音频相关接口

    pauseAudio

    暂停播放器的音频流。
    public abstract int pauseAudio();

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    resumeAudio

    恢复播放器的音频流。
    public abstract int resumeAudio();

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    setPlayoutVolume

    设置音量。
    public abstract int setPlayoutVolume(int volume);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    enableVolumeEvaluation

    启用播放音量大小提示。
    说明:
    开启后可以在 V2TXLivePlayerObserver.onPlayoutVolumeUpdate 回调中获取到 SDK 对音量大小值的评估。
    public abstract int enableVolumeEvaluation(int intervalMs);

    参数

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

    返回

    返回值 V2TXLiveCode:
    V2TXLIVE_OK:成功。

    更多实用接口

    setCacheParams

    设置播放器缓存自动调整的最小和最大时间 ( 单位:秒 )。
    public abstract int setCacheParams(float minTime, float maxTime);

    参数

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

    返回

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

    showDebugView

    是否显示播放器状态信息的调试浮层。
    public abstract void showDebugView(boolean isShow);

    参数

    参数
    类型
    含义
    isShow
    boolean
    是否显示,默认值:NO。