TUICallKit

TUICallKit API 简介

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

API 概览

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

API 详情

createInstance

创建 TUICallKit 的单例。
Kotlin
Java
fun createInstance(context: Context): TUICallKit
TUICallKit createInstance(Context context)

setSelfInfo

设置用户昵称、头像。用户昵称不能超过500字节,用户头像必须是 URL 格式。
Kotlin
Java
fun setSelfInfo(nickname: String?, avatar: String?, callback: TUICommonDefine.Callback?)
void setSelfInfo(String nickname, String avatar, TUICommonDefine.Callback callback)
参数如下表所示:
参数
类型
含义
nickname
String
目标用户的昵称
avatar
String
目标用户的头像

calls

发起单人或多人通话。
Kotlin
Java
fun calls(
userIdList: List<String?>?, mediaType: TUICallDefine.MediaType?,
params: TUICallDefine.CallParams?, callback: TUICommonDefine.Callback?
)
void calls(List<String> userIdList, TUICallDefine.MediaType mediaType,
TUICallDefine.CallParams params, TUICommonDefine.Callback callback)
参数如下表所示:
参数
类型
含义
userIdList
List<String>
目标用户的 userId 列表
mediaType
通话的媒体类型,比如视频通话、语音通话
params
通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等

join

主动加入通话。
Kotlin
Java
fun join(callId: String?, callback: TUICommonDefine.Callback?)
void join(String callId, TUICommonDefine.Callback callback)
参数如下表所示:
参数
类型
含义
callId
String
此次通话的唯一 ID

setCallingBell

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

enableMuteMode

开启后,收到通话请求,不会播放来电铃声。
Kotlin
Java
fun enableMuteMode(enable: Boolean)
void enableMuteMode(boolean enable);

enableFloatWindow

开启/关闭悬浮窗功能。
默认为false,通话界面左上角的悬浮窗按钮隐藏,设置为 true 后显示。
Kotlin
Java
fun enableFloatWindow(enable: Boolean)
void enableFloatWindow(boolean enable);

enableIncomingBanner

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

废弃接口

call

拨打电话(1v1通话)。注意:v2.9+版本废弃,建议使用 calls 接口。
Kotlin
Java
fun call(userId: String, callMediaType: TUICallDefine.MediaType)
void call(String userId, TUICallDefine.MediaType callMediaType)
参数如下表所示:
参数
类型
含义
userId
String
目标用户的 userId
callMediaType
通话的媒体类型,比如视频通话、语音通话

call

拨打电话(1v1通话),支持自定义房间号、通话邀请超时时间,离线推送内容等。注意:v2.9+版本废弃,建议使用 calls 接口。
Kotlin
Java
fun call(
userId: String, callMediaType: TUICallDefine.MediaType,
params: CallParams?, callback: TUICommonDefine.Callback?
)
void call(String userId, TUICallDefine.MediaType callMediaType,
TUICallDefine.CallParams params, TUICommonDefine.Callback callback)
参数如下表所示:
参数
类型
含义
userId
String
目标用户的 userId
callMediaType
通话的媒体类型,比如视频通话、语音通话
params
通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等

groupCall

发起群组通话。注意:v2.9+版本废弃,建议使用 calls 接口。
注意:
使用群组通话前需要创建 Chat 群组,如果已经创建,请忽略。
群组的创建详见:Chat 群组管理 ,或者您也可以直接使用 Chat TUIKit,一站式集成聊天、通话等场景。
Kotlin
Java
fun groupCall(groupId: String, userIdList: List<String?>?, callMediaType: TUICallDefine.MediaType)
void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType callMediaType);
参数如下表所示:
参数
类型
含义
groupId
String
此次群组通话的群 ID
userIdList
List
目标用户的 userId 列表
callMediaType
通话的媒体类型,比如视频通话、语音通话

groupCall

发起群组通话,支持自定义房间号、通话邀请超时时间,离线推送内容等。注意:v2.9+版本废弃,建议使用 calls 接口。
注意:
使用群组通话前需要创建 Chat 群组,如果已经创建,请忽略。
群组的创建详见:Chat 群组管理 ,或者您也可以直接使用 Chat TUIKit,一站式集成聊天、通话等场景。
Kotlin
Java
fun groupCall(
groupId: String, userIdList: List<String?>?,
callMediaType: TUICallDefine.MediaType, params: CallParams?,
callback: TUICommonDefine.Callback?
)
void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType callMediaType,
TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
参数如下表所示:
参数
类型
含义
groupId
String
此次群组通话的群 ID
userIdList
List
目标用户的 userId 列表
callMediaType
通话的媒体类型,比如视频通话、语音通话
params
通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等

joinInGroupCall

加入群组中已有的音视频通话。注意:v2.9+版本废弃,建议使用 join 接口。
注意:
加入群组中已有的音视频通话前,需要提前创建或加入 Chat 群组,并且群组中已有用户在通话中,如果已经创建,请忽略。
群组的创建详见:Chat 群组管理 ,或者您也可以直接使用 Chat TUIKit,一站式集成聊天、通话等场景。
Kotlin
Java
fun joinInGroupCall(roomId: RoomId?, groupId: String?, callMediaType: TUICallDefine.MediaType?)
void joinInGroupCall(TUICommonDefine.RoomId roomId, String groupId, TUICallDefine.MediaType callMediaType);
参数如下表所示:
参数
类型
含义
roomId
此次通话的音视频房间 ID
groupId
String
此次群组通话的群 ID
callMediaType
通话的媒体类型,比如视频通话、语音通话