LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
TXLivePlayer

详细描述

腾讯云直播播放器接口类


结构体说明

◆ TXLivePlayer

class TXLivePlayer

SDK 基础函数

id< TXLivePlayListenerdelegate
 
id< TXVideoCustomProcessDelegate > videoProcessDelegate
 
id< TXAudioRawDataDelegate > audioRawDataDelegate
 
BOOL enableHWAcceleration
 
TXLivePlayConfigconfig
 
id< TXLiveRecordListenerrecordDelegate
 
BOOL isAutoPlay
 

播放基础接口

(void) - setupVideoWidget:containView:insertIndex:
 
(void) - removeVideoWidget
 
(int) - startLivePlay:type:
 
(int) - stopPlay
 
(BOOL) - isPlaying
 
(void) - pause
 
(void) - resume
 

视频相关接口

(void) - setRenderRotation:
 
(void) - setRenderMode:
 
(void) - snapshot:
 
(uint64_t) - getCurrentRenderPts
 

音频相关接口

(void) - setMute:
 
(void) - setVolume:
 
(void) - setAudioVolumeEvaluationListener:
 
(void) - enableAudioVolumeEvaluation:
 
(void) + setAudioRoute:
 

直播时移相关接口

(int) - prepareLiveSeek:bizId:
 
(int) - resumeLive
 
(int) - seek:
 

视频录制相关接口

(int) - startRecord:
 
(int) - stopRecord
 
(void) - setRate:
 

更多实用接口

(void) - setLogViewMargin:
 
(void) - showVideoDebugLog:
 
(int) - switchStream:
 
(void) - callExperimentalAPI:
 

函数文档

◆ callExperimentalAPI:()

- (void) callExperimentalAPI: (NSString *)  jsonStr

调用实验性 API 接口

注意
该接口用于调用一些实验性功能
参数
jsonStr接口及参数描述的 JSON 字符串

◆ enableAudioVolumeEvaluation:()

- (void) enableAudioVolumeEvaluation: (NSUInteger)  interval

启用音量大小提示

开启后会在 volumeEvaluationListener 中获取到 SDK 对音量大小值的评估。

参数
interval决定了 volumeEvaluationListener 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;

◆ getCurrentRenderPts()

- (uint64_t) getCurrentRenderPts

获取当前渲染帧 pts

返回
0:当前未处于正在播放状态(例如:未起播) >0:当前渲染视频帧的 pts,处于正在播放状态 (单位: 毫秒)

◆ isPlaying()

- (BOOL) isPlaying

是否正在播放

返回
YES 拉流中,NO 没有拉流

◆ pause()

- (void) pause

暂停播放

适用于点播,直播(此接口会暂停数据拉流,不会销毁播放器,暂停后,播放器会显示最后一帧数据图像)

◆ prepareLiveSeek:bizId:()

- (int) prepareLiveSeek: (NSString *)  domain
bizId: (NSInteger)  bizId 

直播时移准备,拉取该直播流的起始播放时间。

使用时移功能需在播放开始后调用此方法,否则时移失败。时移的使用请参考文档 超级播放器

警告
非腾讯云直播地址不能时移
参数
domain时移域名
bizId流 bizId
返回
0:OK;-1:无播放地址;-2:appId 未配置

◆ removeVideoWidget()

- (void) removeVideoWidget

移除 Video 渲染 Widget

◆ resume()

- (void) resume

继续播放,适用于点播,直播

◆ resumeLive()

- (int) resumeLive

停止时移播放,返回直播

返回
0:成功;其它:失败

◆ seek:()

- (int) seek: (float)  time

播放跳转到音视频流某个时间

参数
time流时间,单位为秒
返回
0:成功;其它:失败

◆ setAudioRoute:()

+ (void) setAudioRoute: (TXAudioRouteType)  audioRoute

设置声音播放模式(切换扬声器,听筒)

参数
audioRoute声音播放模式

◆ setAudioVolumeEvaluationListener:()

- (void) setAudioVolumeEvaluationListener: (void(^)(int))  volumeEvaluationListener

设置音量大小回调接口

参数
volumeEvaluationListener音量大小回调接口,音量取值范围0 - 100

◆ setLogViewMargin:()

- (void) setLogViewMargin: (TXEdgeInsets margin

设置状态浮层 view 在渲染 view 上的边距

参数
margin边距

◆ setMute:()

- (void) setMute: (BOOL)  bEnable

设置静音

◆ setRate:()

- (void) setRate: (float)  rate

设置播放速率

参数
rate正常速度为1.0;小于为慢速;大于为快速。最大建议不超过2.0

◆ setRenderMode:()

- (void) setRenderMode: (TX_Enum_Type_RenderMode)  renderMode

设置画面的裁剪模式

参数
renderMode裁剪
参见
TX_Enum_Type_RenderMode

◆ setRenderRotation:()

- (void) setRenderRotation: (TX_Enum_Type_HomeOrientation)  rotation

设置画面的方向

参数
rotation方向
参见
TX_Enum_Type_HomeOrientation

◆ setupVideoWidget:containView:insertIndex:()

- (void) setupVideoWidget: (CGRect)  frame
containView: (TXView *)  view
insertIndex: (unsigned int)  idx 

创建 Video 渲染 View,该控件承载着视频内容的展示。

变更历史:1.5.2版本将参数 frame 废弃,设置此参数无效,控件大小与参数 view 的大小保持一致,如需修改控件的大小及位置,请调整父 view 的大小及位置。 参考文档:绑定渲染界面

参数
frameWidget 在父 view 中的 frame
view父 view
idxWidget 在父 view 上 的层级位置

◆ setVolume:()

- (void) setVolume: (int)  volume

设置音量

参数
volume音量大小,取值范围0 - 100

◆ showVideoDebugLog:()

- (void) showVideoDebugLog: (BOOL)  isShow

是否显示播放状态统计及事件消息浮层 view

参数
isShow是否显示

◆ snapshot:()

- (void) snapshot: (void(^)(TXImage *))  snapshotCompletionBlock

截屏

参数
snapshotCompletionBlock通过回调返回当前图像

◆ startLivePlay:type:()

- (int) startLivePlay: (NSString *)  url
type: (TX_Enum_PlayType playType 

启动从指定 URL 播放 RTMP 音视频流

注意
10.7 版本开始,需要通过 TXLiveBase#setLicence 设置 Licence 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence,可快速免费申请测试版 Licence 以正常播放,正式版 Licence 需购买
参数
url完整的 URL(如果播放的是本地视频文件,这里传本地视频文件的完整路径)
playType播放类型
返回
是否成功启动播放。0: 成功;-1: 失败,playUrl 为空;-2: 失败,playUrl 非法;-3: 失败,playType 非法;-5:licence 不合法,播放失败

◆ startRecord:()

- (int) startRecord: (TXRecordType)  recordType

开始录制短视频

参数
recordType参见 TXRecordType 定义
返回
0:成功;1:正在录制短视频;-2:videoRecorder 初始化失败。

◆ stopPlay()

- (int) stopPlay

停止播放音视频流

返回
0:成功;其它:失败

◆ stopRecord()

- (int) stopRecord

结束录制短视频

返回
0:成功;1:不存在录制任务;-2:videoRecorder 未初始化。

◆ switchStream:()

- (int) switchStream: (NSString *)  playUrl

FLV 直播无缝切换

参数
playUrl播放地址
返回
0:成功;其它:失败
警告
playUrl 必须是当前播放直播流的不同清晰度,切换到无关流地址可能会失败

属性说明

◆ audioRawDataDelegate

- (id<TXAudioRawDataDelegate>) audioRawDataDelegate
readwritenonatomicweak

设置音频处理回调,见 “TXAudioRawDataDelegate.h” 文件中的详细定义

◆ config

- (TXLivePlayConfig*) config
readwritenonatomiccopy

设置 TXLivePlayConfig 播放配置项,见 “TXLivePlayConfig.h” 文件中的详细定义

◆ delegate

- (id<TXLivePlayListener>) delegate
readwritenonatomicweak

设置播放回调,见 “TXLivePlayListener.h” 文件中的详细定义

◆ enableHWAcceleration

- (BOOL) enableHWAcceleration
readwritenonatomicassign

是否开启硬件加速,默认值:NO

◆ isAutoPlay

- (BOOL) isAutoPlay
readwritenonatomicassign

startLivePlay 后是否立即播放,默认 YES,只有点播有效

◆ recordDelegate

- (id<TXLiveRecordListener>) recordDelegate
readwritenonatomicweak

设置短视频录制回调,见 “TXLiveRecordListener.h” 文件中的详细定义

◆ videoProcessDelegate

- (id<TXVideoCustomProcessDelegate>) videoProcessDelegate
readwritenonatomicweak

设置视频处理回调,见 “TXVideoCustomProcessDelegate.h” 文件中的详细定义

枚举类型说明

◆ TX_Enum_PlayType

enum TX_Enum_PlayType : NSInteger

支持的直播和点播类型

注意
新版本的点播 SDK,推荐参考 TXVodPlayer.h
枚举值
PLAY_TYPE_LIVE_RTMP 

RTMP 直播

PLAY_TYPE_LIVE_FLV 

FLV 直播

PLAY_TYPE_VOD_FLV 

FLV 点播

PLAY_TYPE_VOD_HLS 

HLS 点播

PLAY_TYPE_VOD_MP4 

MP4点播

PLAY_TYPE_LIVE_RTMP_ACC 

RTMP 直播加速播放

PLAY_TYPE_LOCAL_VIDEO 

本地视频文件