有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
Copyright (c) 2021 Tencent. All rights reserved.

Module: V2TXLivePlayer @ TXLiteAVSDK

Function: 腾讯云直播播放器


功能

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

介绍

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

V2TXLivePlayer

V2TXLivePlayer

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

setObserver

setObserver
void setObserver
(V2TXLivePlayerObserver observer)

设置播放器回调

通过设置回调,可以监听 V2TXLivePlayer 播放器的一些回调事件,
包括播放器状态、播放音量回调、音视频首帧回调、统计数据、警告和错误信息等。
参数
描述
observer
播放器的回调目标对象,更多信息请查看 V2TXLivePlayerObserver

setRenderView

setRenderView
int setRenderView
(TXCloudVideoView view)

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

参数
描述
view
播放器渲染 View。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK:成功。

setRenderView

setRenderView
int setRenderView
(TextureView view)

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

参数
描述
view
播放器渲染 View。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK:成功。

setRenderView

setRenderView
int setRenderView
(SurfaceView view)

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

参数
描述
view
播放器渲染 View。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK:成功。

setRenderRotation

setRenderRotation
int setRenderRotation
(V2TXLiveRotation rotation)

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

参数
描述
rotation
旋转角度 V2TXLiveRotation
V2TXLiveRotation0【默认值】: 0度, 不旋转。
V2TXLiveRotation90: 顺时针旋转90度。
V2TXLiveRotation180: 顺时针旋转180度。
V2TXLiveRotation270: 顺时针旋转270度。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功。

setRenderFillMode

setRenderFillMode
int setRenderFillMode
(V2TXLiveFillMode mode)

设置画面的填充模式

参数
描述
mode
画面填充模式 V2TXLiveFillMode
V2TXLiveFillModeFill 【默认值】: 图像铺满屏幕,不留黑边,如果图像宽高比不同于屏幕宽高比,部分画面内容会被裁剪掉。
V2TXLiveFillModeFit: 图像适应屏幕,保持画面完整,但如果图像宽高比不同于屏幕宽高比,会有黑边的存在。
V2TXLiveFillModeScaleFill: 图像拉伸铺满,因此长度和宽度可能不会按比例变化。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功。

startLivePlay

startLivePlay
int startLivePlay
(String 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
int setPlayoutVolume
(int volume)

设置播放器音量

参数
描述
volume
音量大小,取值范围0 - 100。【默认值】: 100。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功。

setCacheParams

setCacheParams
int setCacheParams
(float minTime

float maxTime)

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

参数
描述
maxTime
缓存自动调整的最大时间,取值需要大于0。【默认值】:5。
minTime
缓存自动调整的最小时间,取值需要大于0。【默认值】:1。

返回值说明:

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

switchStream

switchStream
int switchStream
(String newUrl)

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

参数
描述
newUrl
新的拉流地址。

getStreamList

getStreamList

获取码流信息

enableVolumeEvaluation

enableVolumeEvaluation
int enableVolumeEvaluation
(int intervalMs)

启用播放音量大小提示

开启后可以在 V2TXLivePlayerObserver 回调中获取到 SDK 对音量大小值的评估。
参数
描述
intervalMs
决定了 onPlayoutVolumeUpdate 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;【默认值】:0,不开启。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功。

snapshot

snapshot

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

返回值说明:

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

enableObserveVideoFrame

enableObserveVideoFrame
int enableObserveVideoFrame
(boolean enable

V2TXLivePixelFormat pixelFormat

V2TXLiveBufferType bufferType)

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

SDK 在您开启此开关后将不再渲染视频画面,您可以通过 V2TXLivePlayerObserver 获得视频帧,并执行自定义的渲染逻辑。
参数
描述
bufferType
自定义渲染回调的视频数据格式 V2TXLiveBufferType
enable
是否开启自定义渲染。【默认值】:false。
pixelFormat
自定义渲染回调的视频像素格式 V2TXLivePixelFormat

返回值说明:

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

enableObserveAudioFrame

enableObserveAudioFrame
int enableObserveAudioFrame
(boolean enable)

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

如果您开启此开关,您可以通过 V2TXLivePlayerObserver 获得音频数据,并执行自定义的逻辑。
参数
描述
enable
是否开启音频数据回调。【默认值】:false。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功

enableReceiveSeiMessage

enableReceiveSeiMessage
int enableReceiveSeiMessage
(boolean enable

int payloadType)

开启接收 SEI 消息

参数
描述
enable
true: 开启接收 SEI 消息; false: 关闭接收 SEI 消息。【默认值】: false。
payloadType
指定接收 SEI 消息的 payloadType,支持 5、242,请与发送端的 payloadType 保持一致。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功。

showDebugView

showDebugView
void showDebugView
(boolean isShow)

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

参数
描述
isShow
是否显示。【默认值】:false。

setProperty

setProperty
int setProperty
(String key

Object value)

调用 V2TXLivePlayer 的高级 API 接口

参数
描述
key
高级 API 对应的 key。
value
调用 key 所对应的高级 API 时,需要的参数。
注意
该接口用于调用一些高级功能。

返回值说明:

返回值 V2TXLiveCode
V2TXLIVE_OK: 成功。
V2TXLIVE_ERROR_INVALID_PARAMETER: 操作失败,key 不允许为 null。

startLocalRecording

startLocalRecording
int startLocalRecording

开始录制音视频流

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

返回值说明:

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

stopLocalRecording

stopLocalRecording

停止录制音视频流

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