TXLivePlayer

最近更新时间:2023-07-06 16:54:42

我的收藏
功能
视频播放器。
介绍
主要负责将直播流的音视频画面进行解码和本地渲染,包含如下技术特点:
针对腾讯云的拉流地址,可使用低延时拉流,实现直播连麦等相关场景。
针对腾讯云的拉流地址,可使用直播时移功能,能够实现直播观看与时移观看的无缝切换。
支持自定义的音视频数据处理,让您可以根据项目需要处理直播流中的音视频数据后,进行渲染以及播放。

SDK 基础函数

delegate

设置播放回调,见TXLivePlayListener.h文件中的详细定义。
@property (nonatomic, weak) id< TXLivePlayListener > delegate

videoProcessDelegate

设置视频处理回调,见TXVideoCustomProcessDelegate.h文件中的详细定义。
@property (nonatomic, weak) id< TXVideoCustomProcessDelegate > videoProcessDelegate

audioRawDataDelegate

设置音频处理回调,见TXAudioRawDataDelegate.h文件中的详细定义。
@property (nonatomic, weak) id< TXAudioRawDataDelegate > audioRawDataDelegate

enableHWAcceleration

是否开启硬件加速,默认值:NO。
@property (nonatomic, assign) BOOL enableHWAcceleration

config

设置 TXLivePlayConfig 播放配置项,见TXLivePlayConfig.h文件中的详细定义。
@property (nonatomic, copy) TXLivePlayConfig * config

recordDelegate

设置短视频录制回调,见TXLiveRecordListener.h文件中的详细定义。
@property (nonatomic, weak) id< TXLiveRecordListener > recordDelegate


播放基础接口

setupVideoWidget

创建 Video 渲染 View,该控件承载着视频内容的展示。
- (void)setupVideoWidget:(CGRect)frame containView:(TXView *)view insertIndex:(unsigned int)idx
参数
参数
类型
含义
frame
CGRect
Widget 在父 view 中的 frame。
view
TXView *
父 view。
idx
unsigned int
Widget 在父 view 上的层级位置。
介绍
变更历史:1.5.2版本将参数 frame 废弃,设置此参数无效,控件大小与参数 view 的大小保持一致,如需修改控件的大小及位置,请调整父 view 的大小及位置。 请参见 绑定渲染界面

removeVideoWidget

移除 Video 渲染 Widget。
- (void)removeVideoWidget

startLivePlay

启动从指定 URL 播放 RTMP 音视频流。
- (int)startLivePlay:(NSString *)url type:(TX_Enum_PlayType)playType
参数
参数
类型
含义
url
NSString *
完整的 URL(如果播放的是本地视频文件,这里传本地视频文件的完整路径)。
playType
播放类型。
返回
0表示成功,其它为失败;
说明
10.7 版本开始,startPlay 变更为 startLivePlay,需要通过 V2TXLivePremier#setLicence 或者 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用,若您暂未获取上述 License ,可快速免费申请测试版 License 以正常播放,正式版 License 需购买

stopPlay

停止播放音视频流。
- (int)stopPlay
返回
0:成功;其它:失败。

isPlaying

是否正在播放。
- (BOOL)isPlaying
返回
YES 拉流中,NO 没有拉流。

pause

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

resume

继续播放,适用于点播,直播。
- (void)resume

视频相关接口

setRenderRotation

设置画面的方向。
- (void)setRenderRotation:(TX_Enum_Type_HomeOrientation)rotation
参数
参数
类型
含义
rotation
TX_Enum_Type_HomeOrientation
方向。

setRenderMode

设置画面的裁剪模式。
- (void)setRenderMode:(TX_Enum_Type_RenderMode)renderMode
参数
参数
类型
含义
renderMode
TX_Enum_Type_RenderMode
裁剪。

snapshot

截屏。
- (void)snapshot:(void(^)(TXImage *))snapshotCompletionBlock
参数
参数
类型
含义
snapshotCompletionBlock
void(^)(TXImage *)
通过回调返回当前图像。

音频相关接口

setMute

设置静音。
- (void)setMute:(BOOL)bEnable

setVolume

设置音量。
- (void)setVolume:(int)volume
参数
参数
类型
含义
volume
int
音量大小,取值范围 0 - 100。

setAudioRoute

设置声音播放模式(切换扬声器,听筒)。
+ (void)setAudioRoute:(TXAudioRouteType)audioRoute
参数
参数
类型
含义
audioRoute
TXAudioRouteType
声音播放模式。

setAudioVolumeEvaluationListener

设置音量大小回调接口。
- (void)setAudioVolumeEvaluationListener:(void(^)(int))volumeEvaluationListener
参数
参数
类型
含义
volumeEvaluationListener
(void(^)(int))
音量大小回调接口。

enableAudioVolumeEvaluation

启用音量大小评估。
void enableAudioVolumeEvaluation(int intervalMs)
参数
参数
类型
含义
intervalMs
int
intervalMs 决定了 volumeEvaluationListener 回调的触发间隔,单位为ms,最小间隔为 100ms,如果小于等于 0 则会关闭回调,建议设置为 300ms。
介绍
开启后会在 volumeEvaluationListener 中获取到 SDK 对音量大小值的评估。


视频录制相关接口

startRecord

开始录制短视频。
- (int)startRecord:(TXRecordType)recordType
参数
参数
类型
含义
recordType
TXRecordType
参见 TXRecordType 定义。
返回
0:成功;1:正在录制短视频;-2:videoRecorder 初始化失败。

stopRecord

结束录制短视频。
- (int)stopRecord
返回
0:成功;1:不存在录制任务;-2:videoRecorder 未初始化。


更多实用接口

setLogViewMargin

设置状态浮层 view 在渲染 view 上的边距。
- (void)setLogViewMargin:(TXEdgeInsets)margin
参数
参数
类型
含义
margin
TXEdgeInsets
边距。

showVideoDebugLog

是否显示播放状态统计及事件消息浮层 view。
- (void)showVideoDebugLog:(BOOL)isShow
参数
参数
类型
含义
isShow
BOOL
是否显示。

switchStream

FLV 直播无缝切换。
- (int)switchStream:(NSString *)playUrl
参数
参数
类型
含义
playUrl
NSString *
播放地址。
返回
0:成功;其它:失败。
注意
playUrl 必须是当前播放直播流的不同清晰度,切换到无关流地址可能会失败。

callExperimentalAPI

调用实验性 API 接口。
- (void)callExperimentalAPI:(NSString*)jsonStr
参数
参数
类型
含义
jsonStr
NSString *
jsonStr 接口及参数描述的 JSON 字符串。
介绍
该接口用于调用一些实验性功能。

TX_Enum_PlayType

功能
支持的直播和点播类型。
说明
点播播放请使用 TXVodPlayer 播放器,具体请参见头文件 TXVodPlayer.h。
枚举
含义
PLAY_TYPE_LIVE_RTMP
RTMP 直播。
PLAY_TYPE_LIVE_FLV
FLV 直播。
PLAY_TYPE_LIVE_HLS
HLS 点播。
PLAY_TYPE_LIVE_RTMP_ACC
RTMP 直播加速播放。