TUICallKit(含 UI)

最近更新时间:2026-01-26 17:42:51

我的收藏

TUICallKit API 简介

TUICallKit API 是音视频通话组件的含 UI 接口,使用TUICallKit API,您可以通过简单接口快速实现一个类微信的音视频通话场景,更详细的接入步骤,详情请参见 快速接入TUICallKit

API 概览

API
描述
创建 TUICallKit 实例(单例模式)。
设置用户的昵称、头像。
calls
发起单人或多人通话。
join
主动加入通话。
设置自定义来电铃音。
开启/关闭静音模式。
开启/关闭悬浮窗功能。
开启/关闭来电横幅显示。
设置屏幕方向。

API 详情

createInstance

创建 TUICallKit 的单例。
Swift
public static func createInstance() -> TUICallKit

setSelfInfo

设置用户昵称、头像。用户昵称不能超过500字节,用户头像必须是 URL 格式。
Swift
public func setSelfInfo(nickname: String, avatar: String, completion: CompletionClosure?)
参数
类型
含义
nickname
String
用户昵称。
avatar
String
用户头像(格式为 URL)。
completion
CompletionClosure
异步操作的结果回调。

calls

发起通话。
Swift
public func calls(userIdList: [String], callMediaType: CallMediaType, params: CallParams?, completion: CompletionClosure?)
参数如下表所示:
参数
类型
含义
userIdList
[String]
目标用户的 userId 列表。
callMediaType
通话的媒体类型,比如视频通话、语音通话。
params
通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。
completion
CompletionClosure
异步操作的结果回调。

join

主动加入通话。
Swift
public func join(callId: String, completion: CompletionClosure?)
参数如下表所示:
参数
类型
含义
callId
String
此次通话的唯一 ID。
completion
CompletionClosure
异步操作的结果回调。

setCallingBell

设置自定义来电铃音。 这里仅限传入本地文件地址,需要确保该文件目录是应用可以访问的。
铃声设置后与设备绑定,更换用户,铃声依旧会生效。
如需恢复默认铃声,filePath 传空即可。
Swift
public func setCallingBell(filePath: String)

enableMuteMode

开启/关闭静音模式。
默认为 false,开启后,收到通话请求,不会播放来电铃声。
Swift
public func enableMuteMode(enable: Bool)

enableFloatWindow

开启/关闭悬浮窗功能。
默认为 false,通话界面左上角的悬浮窗按钮隐藏,设置为 true 后显示。
Swift
public func enableFloatWindow(enable: Bool)

enableIncomingBanner

开启/关闭来电横幅显示。
默认为false,被叫端收到邀请后默认弹出全屏通话等待界面,开启后先展示一个横幅,然后根据需要拉起全屏通话界面。
public func enableIncomingBanner(enable: Bool)

setScreenOrientation

设置屏幕方向。
public func setScreenOrientation(orientation: Int, completion: CompletionClosure?)
参数如下表所示:
参数
类型
含义
orientation
Int
屏幕方向适配:0-纵向固定(Portrait),1-横向固定(Landscape),2-自动旋转(Auto)。
completion
CompletionClosure
异步操作的结果回调。

废弃接口

call

拨打电话(1v1通话)。
注意:
建议使用 calls 接口。
Swift
Objective-C
public func call(userId: String, callMediaType: TUICallMediaType)

参数如下表所示:
参数
类型
含义
userId
String
目标用户的 userId。
callMediaType
通话的媒体类型,比如视频通话、语音通话。

call

拨打电话(群组通话),支持自定义房间号、通话邀请超时时间,离线推送内容等。
注意:
建议使用 calls 接口。
Swift
Objective-C
public func call(userId: String, callMediaType: TUICallMediaType, params: TUICallParams,
succ: @escaping TUICallSucc, fail: @escaping TUICallFail)
- (void)call:(NSString *)userId callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc __nullable)succ fail:(TUICallFail __nullable)fail;
参数如下表所示:
参数
类型
含义
userId
String
目标用户的 userId。
callMediaType
通话的媒体类型,比如视频通话、语音通话。
params
通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。
succ
TUICallSucc
成功回调。
fail
TUICallFail
失败回调。

groupCall

注意:
建议使用 calls 接口。
使用群组通话前需要创建 IM 群组,如果已经创建,请忽略。
群组的创建详见:IM 群组管理 ,或者您也可以直接使用 IM TUIKit,一站式集成聊天、通话等场景。
Swift
Objective-C
public func groupCall(groupId: String, userIdList: [String], callMediaType: TUICallMediaType)
- (void)groupCall:(NSString *)groupId userIdList:(NSArray<NSString *> *)userIdList callMediaType:(TUICallMediaType)callMediaType;
参数
类型
含义
groupId
String
此次群组通话的群 ID。
userIdList
[String]
目标用户的 userId 列表。
callMediaType
通话的媒体类型,比如视频通话、语音通话。
params
通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。
succ
TUICallSucc
成功回调。
fail
TUICallFail
失败回调。

joinInGroupCall

注意:
建议使用 join 接口。
加入群组中已有的音视频通话前,需要提前创建或加入 IM 群组,并且群组中已有用户在通话中,如果已经创建,请忽略。
群组的创建详见:IM 群组管理 ,或者您也可以直接使用 IM TUIKit,一站式集成聊天、通话等场景。
Swift
Objective-C
public func joinInGroupCall(roomId: TUIRoomId, groupId: String, callMediaType: TUICallMediaType)
- (void)joinInGroupCall:(TUIRoomId *)roomId groupId:(NSString *)groupId callMediaType:(TUICallMediaType)callMediaType;
参数
类型
含义
roomId
TUIRoomId
此次通话的音视频房间 ID。
groupId
String
此次群组通话的群 ID。
callMediaType
通话的媒体类型,比如视频通话、语音通话。