TUICallEngine API 简介
TUICallEngine API 是音视频通话组件的无 UI 接口,如果 TUICallKit 的交互并不满足您的需求,您可以使用这套接口自己封装交互。
API 概览
API | 描述 |
创建 TUICallEngine 实例(单例模式) | |
销毁 TUICallEngine 实例(单例模式) | |
完成音视频通话基础能力的鉴权 | |
增加事件回调 | |
移除回调接口 | |
发起 1v1 通话 | |
发起群组通话 | |
接听通话 | |
拒绝通话 | |
结束通话 | |
忽略通话 | |
在群组通话中,邀请其他人加入 | |
主动加入当前的群组通话中 | |
切换通话媒体类型,比如视频通话切音频通话 | |
开始订阅远端用户视频流 | |
停止订阅远端用户视频流 | |
开启摄像头 | |
关闭摄像头 | |
切换前后摄像头 | |
打开麦克风 | |
关闭麦克风 | |
选择音频播放设备(听筒/扬声器) | |
设置用户的昵称、头像 | |
设置用户视频画面的渲染模式 | |
设置视频编码的编码参数 | |
高级接口,用于接入第三方美颜等 | |
设置美颜级别,支持关闭默认美颜 |
API 详情
createInstance
创建 TUICallEngine 的单例。
TUICallEngine createInstance(Context context)
destroyInstance
销毁 TUICallEngine 的单例。
void destroyInstance();
init
初始化函数,请在使用所有功能之前先调用该函数,以便完成包含通话服务鉴权在内初始化动作。
void init(int SDKAppID, String userId, String userSig, TUICommonDefine.Callback callback)
参数如下表所示:
参数 | 类型 | 含义 |
SDKAppID | int | |
userId | String | 当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_) |
userSig | String | |
callback | TUICommonDefine.Callback | 初始化回调, onSuccess 表示初始化成功 |
addObserver
添加回调接口,您可以通过这个接听,监听
TUICallObserver
相关的事件回调。void addObserver(TUICallObserver observer);
removeObserver
移除回调接口。
void removeObserver(TUICallObserver observer);
call
拨打电话(1v1通话)。
注意:
字符串房间号目前只支持 Android、iOS、Flutter、Uniapp 平台,Web、小程序等其他平台后续支持,敬请期待!
void call(String userId, TUICallDefine.MediaType callMediaType,TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
callMediaType | 通话的媒体类型,例如:视频通话、语音通话 | |
params | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
groupCall
发起群组通话。
注意:
使用群组通话前需要创建 IM 群组,如果已经创建,请忽略;
字符串房间号目前只支持 Android、iOS、Flutter、Uniapp 平台,Web、小程序等其他平台后续支持,敬请期待!
void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType callMediaType,TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
groupId | String | 此次群组通话的群 ID |
userIdList | List | 目标用户的 userId 列表 |
callMediaType | 通话的媒体类型,例如:视频通话、语音通话 | |
params | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
accept
接受当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数接听来电。void accept(TUICommonDefine.Callback callback);
reject
拒绝当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数拒绝来电。void reject(TUICommonDefine.Callback callback);
ignore
忽略当前通话,当您作为被叫收到 onCallReceived() 的回调时,可以调用该函数忽略来电,此时主叫会收到 onUserLineBusy 的回调。
备注:如果您的业务中存在直播、会议等场景,在直播/会议中的情况时,也可以调用这个函数来忽略此次来电。
void ignore(TUICommonDefine.Callback callback);
hangup
挂断当前通话,当您处于通话中,可以调用该函数结束通话。
void hangup(TUICommonDefine.Callback callback);
inviteUser
邀请用户加入此次群组通话。
使用场景:一个群组通话中的用户主动邀请其他人时使用。
void inviteUser(List<String> userIdList, TUICallDefine.CallParams params,TUICommonDefine.ValueCallback callback);
参数如下表所示:
参数 | 类型 | 含义 |
userIdList | List | 目标用户的 userId 列表 |
params | 通话参数扩展字段,例如:通话邀请超时时间,离线推送自定义内容等 |
注意:
邀请他人进入当前通话,该场景下,自定义 RoomId 无效,SDK 会邀请他人加入当前邀请者所在的房间。
joinInGroupCall
主动加入此次群组通话。
使用场景:群组内用户主动加入此次群组通话使用。
void joinInGroupCall(TUICommonDefine.RoomId roomId, String groupId,TUICallDefine.MediaType callMediaType, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
roomId | 此次通话的音视频房间 ID | |
groupId | String | 此次群组通话的群 ID |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 |
switchCallMediaType
切换视频通话到语音通话。
void switchCallMediaType(TUICallDefine.MediaType callMediaType);
参数如下表所示:
参数 | 类型 | 含义 |
callMediaType | 通话的媒体类型,比如视频通话、语音通话 |
startRemoteView
开始订阅远端用户的视频数据,此接口在 setRenderView 之后调用。
void startRemoteView(String userId, TUIVideoView videoView, TUICommonDefine.PlayCallback callback);
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
videoView | TUIVideoView | 待渲染的视图 |
stopRemoteView
停止订阅远端用户的视频数据。
void stopRemoteView(String userId);
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
openCamera
开启摄像头。
void openCamera(TUICommonDefine.Camera camera, TUIVideoView videoView, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
camera | 前置/后置 摄像头 | |
videoView | TUIVideoView | 待渲染的视图 |
closeCamera
关闭摄像头。
void closeCamera();
switchCamera
切换前后摄像头。
void switchCamera(TUICommonDefine.Camera camera);
参数如下表所示:
参数 | 类型 | 含义 |
camera | 前置/后置 摄像头 |
openMicrophone
打开麦克风。
void openMicrophone(TUICommonDefine.Callback callback);
closeMicrophone
关闭麦克风。
void closeMicrophone();
selectAudioPlaybackDevice
选择音频播放设备。
目前支持听筒、扬声器,在通话场景中,可以使用这个接口来开启/关闭免提模式。
void selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice device);
参数如下表所示:
参数 | 类型 | 含义 |
device | 听筒/扬声器 |
setSelfInfo
设置用户昵称、头像。
用户昵称不能超过500字节,用户头像必须是 URL 格式。
void setSelfInfo(String nickname, String avatar, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
nickname | String | 用户昵称 |
avatar | String | 用户头像(格式为 URL) |
enableMultiDeviceAbility
void enableMultiDeviceAbility(boolean enable, TUICommonDefine.Callback callback);
setVideoRenderParams
设置用户视频画面的渲染模式。
void setVideoRenderParams(String userId, TUICommonDefine.VideoRenderParams params, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
params | 视频画面渲染参数,例如:画面旋转角度、填充模式 |
setVideoEncoderParams
设置视频编码的编码参数。
该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
void setVideoEncoderParams(TUICommonDefine.VideoEncoderParams params, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
params | 视频编码的参数,例如:分辨率、视频宽高比 |
getTRTCCloudInstance
高级接口。
用于接入第三方美颜等。
TRTCCloud getTRTCCloudInstance();
setBeautyLevel
设置美颜级别,支持关闭默认美颜。
void setBeautyLevel(float level, TUICommonDefine.Callback callback);
参数如下表所示:
参数 | 类型 | 含义 |
level | float | 美颜级别,取值范围 0 - 9; 0 表示关闭,9 表示效果最明显 |