TUICallKit API 简介
TUICallKit API 是音视频通话组件的含 UI 接口,使用 TUICallKit API,您可以通过简单接口快速实现一个类微信的音视频通话场景,更详细的接入步骤,详情请参见 快速接入TUICallKit。
API 概览
API | 描述 |
创建 TUICallKit 实例(单例模式)。 | |
设置用户的头像、昵称。 | |
发起单人或多人通话。 | |
主动加入通话。 | |
设置自定义来电铃声。 | |
开启/关闭静音模式。 | |
开启/关闭悬浮窗功能。 | |
开启/关闭来电横幅显示。 | |
设置通话界面显示方向。 | |
设置模糊背景。 |
API 详情
createInstance
创建 TUICallKit 的单例。
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun createInstance(context: Context): TUICallKit
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;TUICallKit createInstance(Context context);
setSelfInfo
设置用户昵称、头像。用户昵称不能超过500字节,用户头像必须是 URL 格式。
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun setSelfInfo(nickname: String?, avatar: String?, completion: CompletionHandler?);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void setSelfInfo(String nickname, String avatar, CompletionHandler completion);
参数如下表所示:
参数 | 类型 | 含义 |
nickname | String | 目标用户的昵称。 |
avatar | String | 目标用户的头像。 |
completion | CompletionClosure | 异步操作的结果回调。 |
calls
发
起单人或多人通话。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitimport io.trtc.tuikit.atomicxcore.api.call.CallMediaTypeimport io.trtc.tuikit.atomicxcore.api.call.CallParamsfun calls(userIdList: List<String>, mediaType: CallMediaType,params: CallParams?, completion: CompletionHandler?);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;import io.trtc.tuikit.atomicxcore.api.call.CallMediaType;import io.trtc.tuikit.atomicxcore.api.call.CallParams;void calls(List<String> userIdList, CallMediaType mediaType, CallParams params, CompletionHandler completion);
参数如下表所示:
参数 | 类型 | 含义 |
userIdList | List<String> | 目标用户的 userId 列表。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。 | |
completion | CompletionClosure | 异步操作的结果回调。 |
join
主
动加入通话。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun join(callId: String?, completion: CompletionHandler?);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void join(String callId, CompletionHandler completion);
参数如下表所示:
参数 | 类型 | 含义 |
callId | String | 此次通话的唯一 ID。 |
completion | CompletionClosure | 异步操作的结果回调。 |
setCallingBell
设置自定义来电铃声。
这里仅限传入本地文件地址,需要确保该文件目录是应用可以访问的。
铃声设置后与设备绑定,更换用户,铃声依旧会生效。
如需恢复默认铃声,
filePath传空即可。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun setCallingBell(filePath: String?);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void setCallingBell(String filePath);
enableMuteMode
开启/关闭静音模式。
默认为
false,开启后,收到通话请求,不会播放来电铃声。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun enableMuteMode(enable: Boolean);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void enableMuteMode(boolean enable);
enableFloatWindow
开启/关闭悬浮窗功能。
默认为
false,通话界面左上角的悬浮窗按钮隐藏,设置为 true 后显示。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun enableFloatWindow(enable: Boolean);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void enableFloatWindow(boolean enable);
enableIncomingBanner
开启/关闭来电横幅显示。
默认为
false,被叫端收到邀请后默认弹出全屏通话等待界面。开启后先展示一个横幅,然后根据需要拉起全屏通话界面。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun enableIncomingBanner(enable: Boolean);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void enableIncomingBanner(boolean enable);
setScreenOrientation
设置通话界面显示方向。
默认为竖屏,orientation:0-Portrait、1-LandScape、2-Auto。
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun setScreenOrientation(orientation: Int);
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;void setScreenOrientation(int orientation);
enableVirtualBackground
设置模糊背景。
默认值为:false。
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitfun enableVirtualBackground(enable: Boolean);
废弃接口
call
拨打电话(1v1通话)。
注意:
fun call(userId: String, mediaType: TUICallDefine.MediaType)
void call(String userId, TUICallDefine.MediaType mediaType)
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 |
call
拨打电话(1v1通话),支持自定义房间号、通话邀请超时时间,离线推送内容等。
注意:
fun call(userId: String, mediaType: TUICallDefine.MediaType,params: CallParams?, callback: TUICommonDefine.Callback?)
void call(String userId, TUICallDefine.MediaType mediaType,TUICallDefine.CallParams params, TUICommonDefine.Callback callback)
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。 |
groupCall
发起群组通话。
fun groupCall(groupId: String, userIdList: List<String?>?, mediaType: TUICallDefine.MediaType)
void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType mediaType);
参数如下表所示:
参数 | 类型 | 含义 |
groupId | String | 此次群组通话的群 ID。 |
userIdList | List | 目标用户的 userId 列表。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 |
groupCall
发起群组通话,支持自定义房间号、通话邀请超时时间,离线推送内容等。
fun groupCall(groupId: String, userIdList: List<String?>?, mediaType: TUICallDefine.MediaType,params: CallParams?, callback: TUICommonDefine.Callback?)
void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType mediaType,TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
groupId | String | 此次群组通话的群 ID。 |
userIdList | List | 目标用户的 userId 列表。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。 |
joinInGroupCall
加入群组中已有的音视频通话。
fun joinInGroupCall(roomId: RoomId?, groupId: String?, mediaType: TUICallDefine.MediaType?)
void joinInGroupCall(TUICommonDefine.RoomId roomId, String groupId, TUICallDefine.MediaType callMediaType);
参数如下表所示:
参数 | 类型 | 含义 |
roomId | 此次通话的音视频房间 ID。 | |
groupId | String | 此次群组通话的群 ID。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 |
disableControlButton
隐藏指定按钮。
说明:
目前支持隐藏以下按钮:
Camera(摄像头)、Microphone(麦克风)、AudioDevice(音频设备)、SwitchCamera(切换摄像头)、InviteUser(邀请用户)。
v3.2.+ 版本支持。
fun disableControlButton(button: Constants.ControlButton?)
void disableControlButton(Constants.ControlButton button);
参数 | 类型 | 说明 |
button | ControlButton | 需要隐藏的按钮。 |