V2TXLivePlayer

最近更新时间:2022-03-09 13:22:26

功能

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

介绍

播放器包含如下能力:

  • 支持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:成功。

startPlay

开始播放音视频流。

public abstract int startPlay(String url);

参数

参数 类型 含义
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 V2TXLiveRotation 旋转角度,默认值:V2TXLiveRotation0。

返回

返回值 V2TXLiveCode:

  • V2TXLIVE_OK:成功。

V2TXLiveRotation 枚举值

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

setRenderFillMode

设置画面的填充模式。

public abstract int setRenderFillMode(V2TXLiveFillMode mode);

参数

参数 类型 含义
mode V2TXLiveFillMode 画面填充模式,默认值: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 V2TXLivePixelFormat 自定义渲染回调的视频像素格式。
bufferType V2TXLiveBufferType 自定义渲染回调的视频数据格式。

返回

返回值 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。
目录