回放接口
- 回放说明
- TKPlaybackManager
- instance
- destory
- setLogLevel
- initWithAppKey
- registerRoomManagerDelegate
- joinPlaybackRoomWithHost
- leaveRoom
- getRoomProperty
- getRoomUserWithUId
- playVideo
- playAudio
- unPlayVideo
- unPlayAudio
- playMediaFile
- unPlayMediaFile
- pauseMediaFile
- seekMediaFile
- playScreen
- unPlayScreen
- playFile
- unPlayFile
- seekPlayback
- pausePlayback
- playback
- 备注
最近更新时间:2022-01-05 11:31:49
回放说明
- TKRoomSDK 支持房间完全回放功能,可以完整的还原房间实时直播内容和过程。
TKPlaybackManager
- 回放主接口类
instance
简要描述 - 创建一个 TKPlaybackManager 单例对象,必须通过此接口创建对象。
接口名称
- + (instancetype)instance
方法示例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
类型 | 说明 |
---|---|
instancetype | TKPlaybackManager |
destory
简要描述 - 销毁 TKPlaybackManager 单例对象,必须调用此接口。
接口名称
- + (void)destory
方法示例
1 |
|
类型 | 说明 |
---|---|
无 | 无 |
setLogLevel
简要描述 - 设置SDK日志打印等级,日志会写入沙盒。
接口名称
- + (int)setLogLevel:(TKLogLevel)level logPath:(NSString * _Nullable)logPath debugToConsole:(BOOL)debug
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
level | 是 | TKLogLevel | 日志等级 |
logPath | 否 | NSString | 日志写入沙盒的路径; 默认路径为:Libary/Caches/TKSDKLogs |
debug | 是 | BOOL | 控制台是否输出日志,YES:表示控制台会打印日志,NO:表示控制台不打印日志 |
方法示例
1 2 3 4 5 6 7 8 9 10 11 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
initWithAppKey
简要描述 - 设置AppID,需要调用此接口初始化房间信息 1. 使用 authKey 方式进入房间,需要传入 appKey,可在企业后台中查找appKey值 2. 使用 token 方式进入教室,需要在 optional 中传入 @“tk_companyDomain”字段
接口名称
- - (int)initWithAppKey:(NSString *)appKey optional:(NSDictionary * _Nullable)optional
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
appKey | 是 | NSString | 企业Key值 |
optional | 否 | NSDictionary | 房间扩展信息,可根据自身的需求,在 TKRoomDefines.h 文件中查看 init初始化 定义的相关设置字段 |
方法示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
registerRoomManagerDelegate
简要描述 - 注册房间 TKRoomManagerDelegate 代理,用以接受房间信息回调。
接口名称
- - (int)registerPlaybackManagerDelegate:(id<TKPlaybackManagerDelegate> _Nullable)playbackDelegate
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
playbackDelegate | 否 | id |
实现 TKPlaybackManagerDelegate 代理的对象 |
方法示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
joinPlaybackRoomWithHost
简要描述 - 进入回放房间接口
接口名称
1 2 3 4 5 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
host | 是 | NSString | 服务器地址 默认是https |
port | 是 | int | 服务器端口 若在初始化“- (int)initWithAppKey:optional:”接口中设置 TKRoomSettingOptionalSecureSocket 为 YES,表示使用 https 或者 wss,所以此端口需要设置为:443(默认);若初始化接口中设置 TKRoomSettingOptionalSecureSocket 为 NO 或者 不设置,端口为:80(默认). |
nickname | 是 | NSString | 昵称 |
roomParams | 是 | NSDictionary | 房间所需的基本参数,NSDictionary类型,key值详情见 TKRoomDefines.h 相关定义 |
userParams | 是 | NSDictionary | 进入房间时用户的初始化的信息, 该信息会保存到 TKRoomUser 对象的 properties 属性中。可根据自身需求自定义,比如 giftNumber(礼物数) |
方法示例 authKey方式:
1 2 3 4 5 6 7 8 9 10 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
leaveRoom
简要描述 - 退出教室
调用接口后,我和房间其他用户会收到相应的 回调。 1、我会接收到自己离开房间的回调:[- (void)roomManagerRoomLeft][11]。 2、在房间其他用户收到我离开房间的回调:- (void)roomManagerUserLeft:(NSString *)peerID。
接口名称
- - (int)leaveRoom:(BOOL)sync Completion:(completion_block _Nullable)completion;
同步退出
- (int)leaveRoom:(completion_block _Nullable)completion;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
sync | 是 | BOOL | 是否同步执行 |
completion | 否 | completion_block | 调用接口的回调,若出错,会返回错误信息 |
方法示例
1 2 3 4 5 6 7 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
getRoomProperty
简要描述 - 获取房间属性
需在调用 joinroom 接口后调用才能获取有效结果。 返回房间相关的所有信息,例如房间ID、房间类型、配置项等。 配置项:表示该房间是否开启了教学辅助功能,例如自动下课、答题器等等教学互动功能。
接口名称
- - (NSDictionary *)getRoomProperty;
方法示例
1 |
|
类型 | 说明 |
---|---|
NSDictionary | 房间相关信息的字典 |
getRoomUserWithUId
简要描述 - 根据用户ID获取用户
TKRoomUser 是用户对象类,存储了用户的相关信息。 需在调用 joinroom 接口后调用才能获取有效结果。
接口名称
- - (TKRoomUser * _Nullable)getRoomUserWithUId:(NSString *)peerId;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerId | 是 | NSString | 用户ID |
方法示例
1 |
|
类型 | 说明 |
---|---|
TKRoomUser | 如果房间中有这个用户ID的用户,则返回 TKRoomUser的用户对象,否则返回 nil |
playVideo
简要描述 - 播放用户视频
需在调用 initWithAppKey 后,调用生效。 对同一个用户ID,可以调用多次此函数。 - 多次调用: 1、当对传入相同peerID,相同view时,函数不执行任何操作,直接返回成功; 2、当对传入相同peerID,不同view时,会在新的view上渲染视频,之前播放视频的view将停止渲染视频; 3、须都在主线程调用。 - 调用此接口后,会有播放视频的相关回调通知: 1、收到第一帧数据的回调 [-(void)roomManagerOnFirstVideoFrameWithPeerID:(NSString *)peerID width:(NSInteger)width height:(NSInteger)height mediaType:(TKMediaType)type][5] 2、播放视频的过程中,出现视频中断的回调 [-(void)roomManagerOnVideoStateChange:(NSString )peerId deviceId:(NSString )deviceId videoState:(TKRenderState)state mediaType:(TKMediaType)type][6]
接口名称
1 2 3 4 5 6 7 8 9 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
TKRenderMode | 是 | TKRenderMode | 渲染模式枚举,定义详情见 TKRoomDefines.h |
window | 是 | UIView | 视频窗口 |
canvas | 是 | TKVideoCanvas | 渲染窗口类,定义详情见 TKRoomDefines.h |
deviceId | 否 | NSString | 该视频的采集设备ID,针对该用户是多摄像头设备同时发布情况 |
completion | 否 | completion_block | 调用完成的回调,可以处理播放完成之后的操作 |
方法示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
playAudio
简要描述 - 播放用户音频
需在调用 initWithAppKey 后,调用生效。 无需播放自己的音频,若playAudio传入参数是自己的ID,函数会直接return。 - 调用此接口后,会有播放音频的相关回调通知: 1、收到第一帧数据的回调 [- (void)roomManagerOnFirstAudioFrameWithPeerID:(NSString *)peerID mediaType:(TKMediaType)type][7] 2、播放视频的过程中,出现音频中断的回调 [- (void)roomManagerOnAudioStateChange:(NSString *)peerId audioState:(TKRenderState)state mediaType:(TKMediaType)type][8] 3、播放用户音频时,音量大小变化的回调(包括自己的音量和远端音频的音量): [-(void)roomManagerOnAudioVolumeWithPeerID:(NSString *)peeID volume:(int)volume][9]
接口名称
- - (int)playAudio:(NSString *)peerID completion:(completion_block _Nullable)completion;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
completion | 否 | completion_block | 调用完成回调 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
unPlayVideo
简要描述 - 停止播放用户视频
需在调用 initWithAppKey 后,调用生效。 须都在主线程调用。
接口名称
1 2 3 4 5 6 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
deviceId | 否 | NSString | 采集该视频的设备ID,针对该用户是多摄像头设备同时发布情况 |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 2 3 |
|
返回值说明
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
unPlayAudio
简要描述 - 停止播放用户音频
接口名称
- - (int)unPlayAudio:(NSString *)peerID completion:(completion_block _Nullable)completion;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
completion | 否 | completion_block | 调用完成回调 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
playMediaFile
简要描述 - 播放用户分享的媒体流文件
收到用户分享的媒体流回调:-(void)roomManagerOnShareMediaState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message时,调用接口去播放视频
接口名称
1 2 3 4 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerId | 是 | NSString | 用户ID |
renderType | 是 | TKRenderMode | 渲染模式 |
window | 是 | UIView | 渲染视频的窗口 |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 2 3 4 5 6 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
unPlayMediaFile
简要描述 - 停止播放分享的媒体流文件
接口名称
- - (int)unPlayMediaFile:(NSString *)peerId completion:(completion_block _Nullable)completion;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerId | 是 | NSString | 用户ID |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
pauseMediaFile
简要描述 - 暂停播放共享的媒体流文件
接口名称
- - (int)pauseMediaFile:(BOOL)pause;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
pause | 是 | BOOL | 是否暂停 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
seekMediaFile
简要描述 - seek分享的媒体流文件进度
接口名称
- - (int)seekMediaFile:(NSTimeInterval)pos;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
pos | 是 | NSTimeInterval | seek的时间进度 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
playScreen
简要描述 - 播放屏幕共享
专门用于播放用户分享的屏幕共享流接口 接收到回调:- (void)roomManagerOnShareScreenState:(NSString *)peerId state:(TKMediaState)state,表示有用户发布了屏幕共享,即可调用此接口播放。
接口名称
1 2 3 4 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
renderType | 是 | TKRenderMode | 渲染模式 |
window | 是 | UIView | 渲染视频的窗口 |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 2 3 4 5 6 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
unPlayScreen
简要描述 - 停止播放屏幕共享
专门用于停止播放用户分享的屏幕共享流接口
接口名称
- - (int)unPlayScreen:(NSString *)peerID completion:(completion_block _Nullable)completion;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
playFile
简要描述 - 播放用户共享的电影文件
专门用于播放用户分享的电影文件流接口 接收到回调:- (void)roomManagerOnShareFileState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message;,表示有用户发布了共享电影,即可调用此接口播放。
接口名称
1 2 3 4 |
|
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
renderType | 是 | TKRenderMode | 渲染模式 |
window | 是 | UIView | 渲染视频窗口 |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 2 3 4 5 6 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
unPlayFile
简要描述 - 停止播放用户共享的电影文件
专门用于停止播放用户分享的电影文件流接口
接口名称
- - (int)unPlayFile:(NSString *)peerID completion:(completion_block _Nullable)completion;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
peerID | 是 | NSString | 用户ID |
completion | 否 | completion_block | 调用完成的回调 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
seekPlayback
简要描述 - 设置回放的进度
接口名称
- - (int)seekPlayback:(NSTimeInterval)positionTime;
参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
positionTime | 是 | NSTimeInterval | 进度时间点 |
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
pausePlayback
简要描述 - 暂停回放
接口名称
- - (int)pausePlayback;
参数 无
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
playback
简要描述 - 开始回放
接口名称
- - (int)playback;
参数 无
方法示例
1 |
|
类型 | 说明 |
---|---|
int | 0:表示调用成功,非0:表示调用失败 |
备注
- 更多返回错误代码请看 TKRoomErrorCode 错误代码描述