TUICallKit API 简介
TUICallKit API 是音视频通话组件的含 UI 接口,使用TUICallKit API,您可以通过简单接口快速实现一个类微信的音视频通话场景,更详细的接入步骤,详情请参见 快速接入TUICallKit。
API 概览
API | 描述 |
创建 TUICallKit 实例(单例模式) | |
设置用户的昵称、头像 | |
发起 1v1 通话 | |
发起 1v1 通话,支持自定义房间号、通话邀请超时时间,离线推送内容等 | |
发起群组通话 | |
发起群组通话,支持自定义房间号、通话邀请超时时间,离线推送内容等 | |
主动加入当前的群组通话中 | |
设置自定义来电铃音 | |
开启/关闭静音模式 | |
开启/关闭悬浮窗功能 | |
开启/关闭来电横幅显示 |
API 详情
createInstance
创建 TUICallKit 的单例。
- (instancetype)createInstance;
public static func createInstance() -> TUICallKit
setSelfInfo
设置用户昵称、头像。用户昵称不能超过500字节,用户头像必须是 URL 格式。
- (void)setSelfInfo:(NSString * _Nullable)nickname avatar:(NSString * _Nullable)avatar succ:(TUICallSucc)succ fail:(TUICallFail)fail;
public func setSelfInfo(nickname: String, avatar: String, succ:@escaping TUICallSucc, fail: @escaping TUICallFail)
参数 | 类型 | 含义 |
nickname | NSString | 用户昵称 |
avatar | NSString | 用户头像(格式为 URL) |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
call
拨打电话(1v1通话)
- (void)call:(NSString *)userId callMediaType:(TUICallMediaType)callMediaType;
public func call(userId: String, callMediaType: TUICallMediaType)
参数如下表所示:
参数 | 类型 | 含义 |
userId | NSString | 目标用户的 userId |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 |
call
拨打电话(1v1通话),支持自定义房间号、通话邀请超时时间,离线推送内容等。
- (void)call:(NSString *)userId callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc __nullable)succ fail:(TUICallFail __nullable)fail;
public func call(userId: String, callMediaType: TUICallMediaType, params: TUICallParams,succ: @escaping TUICallSucc, fail: @escaping TUICallFail)
参数如下表所示:
参数 | 类型 | 含义 |
userId | NSString | 目标用户的 userId |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等 | |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
groupCall
发起群组通话
- (void)groupCall:(NSString *)groupId userIdList:(NSArray<NSString *> *)userIdList callMediaType:(TUICallMediaType)callMediaType;
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType)
参数 | 类型 | 含义 |
groupId | NSString | 此次群组通话的群 ID |
userIdList | NSArray | 目标用户的 userId 列表 |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 |
groupCall
发起群组通话,支持自定义房间号、通话邀请超时时间,离线推送内容等。
- (void)groupCall:(NSString *)groupId userIdList:(NSArray<NSString *> *)userIdList callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc __nullable)succ fail:(TUICallFail __nullable)fail;
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType, params: TUICallParams, succ: @escaping TUICallSucc, fail: @escaping TUICallFail)
参数 | 类型 | 含义 |
groupId | NSString | 此次群组通话的群 ID |
userIdList | NSArray | 目标用户的 userId 列表 |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等 | |
succ | TUICallSucc | 成功回调 |
fail | TUICallFail | 失败回调 |
joinInGroupCall
发起群组通话
注意:
加入群组中已有的音视频通话前,需要提前创建或加入 IM 群组,并且群组中已有用户在通话中,如果已经创建,请忽略。
- (void)joinInGroupCall:(TUIRoomId *)roomId groupId:(NSString *)groupId callMediaType:(TUICallMediaType)callMediaType;
public func joinInGroupCall(roomId: TUIRoomId, groupId: String, callMediaType: TUICallMediaType)
参数 | 类型 | 含义 |
roomId | 此次通话的音视频房间 ID | |
groupId | NSString | 此次群组通话的群 ID |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 |
setCallingBell
设置自定义来电铃音。
这里仅限传入本地文件地址,需要确保该文件目录是应用可以访问的。
铃声设置后与设备绑定,更换用户,铃声依旧会生效。
如需恢复默认铃声,
filePath
传空即可。- (void)setCallingBell:(NSString *)filePath;
public func setCallingBell(filePath: String)
enableMuteMode
开启后,收到通话请求,不会播放来电铃声。
- (void)enableMuteMode:(BOOL)enable;
public func enableMuteMode(enable: Bool)
enableFloatWindow
开启/关闭悬浮窗功能。
默认为
false
,通话界面左上角的悬浮窗按钮隐藏,设置为 true 后显示。- (void)enableFloatWindow:(BOOL)enable;
public func enableFloatWindow(enable: Bool)
enableIncomingBanner
开启/关闭来电横幅显示。
默认为
false
,被叫端收到邀请后默认弹出全屏通话等待界面,开启后先展示一个横幅,然后根据需要拉起全屏通话界面。public func enableIncomingBanner(enable: Bool)