功能
视频播放器。
介绍
主要负责将直播流的音视频画面进行解码和本地渲染,包含如下技术特点:
针对腾讯云的拉流地址,可使用低延时拉流,实现直播连麦等相关场景。
针对腾讯云的拉流地址,可使用直播时移功能,能够实现直播观看与时移观看的无缝切换。
支持自定义的音视频数据处理,让您可以根据项目需要处理直播流中的音视频数据后,进行渲染以及播放。
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
@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 上的层级位置。 |
介绍
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
功能
支持的直播和点播类型。
说明
枚举 | 含义 |
PLAY_TYPE_LIVE_RTMP | RTMP 直播。 |
PLAY_TYPE_LIVE_FLV | FLV 直播。 |
PLAY_TYPE_LIVE_HLS | HLS 点播。 |
PLAY_TYPE_LIVE_RTMP_ACC | RTMP 直播加速播放。 |