TUICallEngine API 简介
TUICallEngine API 是音视频通话组件的无 UI 接口,如果 TUICallKit 的交互并不满足您的需求,您可以使用这套接口自己封装交互。
API 概览
API | 描述 |
初始化SDK函数,完成包含通话服务鉴权在内初始化动作 | |
| |
反初始化函数,释放TUICallEngine使用到的相关资源。 | |
增加事件回调 | |
移除回调接口 | |
发起 1v1 通话 | |
发起群组通话 | |
接听通话 | |
拒绝通话 | |
结束通话 | |
忽略通话 | |
在群组通话中,邀请其他人加入 | |
主动加入当前的群组通话中 | |
切换通话媒体类型,例如视频通话切音频通话 | |
开始订阅远端用户视频流 | |
停止订阅远端用户视频流 | |
开启摄像头 | |
关闭摄像头 | |
切换前后摄像头 | |
打开麦克风 | |
关闭麦克风 | |
选择音频播放设备(听筒/免提) | |
设置用户的头像、昵称 | |
开启/关闭 TUICallEngine 的多设备登录模式 (尊享版套餐支持) | |
设置用户视频画面的渲染模式 | |
设置视频编码的编码参数 | |
查询通话记录 | |
删除通话记录 | |
设置美颜级别 | |
设置视频模糊效果 | |
设置虚拟背景图片 |
API 详情
init
初始化函数,请在使用所有功能之前先调用该函数,以便完成包含通话服务鉴权在内初始化动作。
Future<TUIResult> init(int sdkAppID, String userId, String userSig)
unInit
反初始化函数,释放
TUICallEngine
使用到的相关资源。Future<TUIResult> unInit()
addObserver
添加回调接口,您可以通过这个接口,监听
TUICallObserver
相关的事件回调。Future<void> addObserver(TUICallObserver observer)
removeObserver
移除回调接口。
Future<void> removeObserver(TUICallObserver observer)
call
拨打电话(1v1通话)。
Future<TUIResult> call(String userId, TUICallMediaType mediaType, TUICallParams params)
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
mediaType | 通话的媒体类型,例如视频通话、语音通话 | |
params | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
groupCall
发起群组通话。
注意:
使用群组通话前需要创建 IM 群组,如果已经创建,请忽略。
Future<TUIResult> groupCall(String groupId, List<String> userIdList, TUICallMediaType mediaType, TUICallParams params)
参数 | 类型 | 含义 |
groupId | String | 此次群组通话的群 ID |
userIdList | List<String> | 目标用户的 userId 列表 |
mediaType | 通话的媒体类型,例如视频通话、语音通话 | |
params | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
accept
接收当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数接听来电。Future<TUIResult> accept()
reject
拒绝当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数拒绝来电。Future<TUIResult> reject()
ignore
忽略当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数忽略来电,此时主叫会收到onUserLineBusy
的回调。
备注:如果您的业务中存在直播、会议等场景,在直播/会议中的情况时,也可以调用这个函数来忽略此次来电。Future<TUIResult> ignore()
hangup
挂断当前通话,当您处于通话中,可以调用该函数结束通话。
Future<TUIResult> hangup()
inviteUser
邀请用户加入此次群组通话。
使用场景:一个群组通话中的用户主动邀请其他人时使用。
Future<void> iniviteUser(List<String> userIdList, TUICallParams params, TUIValueCallback callback)
参数 | 类型 | 含义 |
userIdList | List<String> | 目标用户的 userId 列表 |
params | 通话参数扩展字段,例如:离线推送自定义内容 |
joinInGroupCall
主动加入此次群组通话。
使用场景:群组内用户主动加入此次群组通话使用。
Future<TUIResult> joinInGroupCall(TUIRoomId roomId, String groupId, TUICallMediaType mediaType)
参数 | 类型 | 含义 |
roomId | 此次通话的音视频房间 ID. | |
groupId | String | 此次群组通话的群 ID. |
mediaType | 通话的媒体类型,例如视频通话、语音通话. |
switchCallMediaType
切换视频通话到语音通话。
Future<void> switchCallMediaType(TUICallMediaType mediaType)
参数 | 类型 | 含义 |
mediaType | 通话的媒体类型,例如视频通话、语音通话 |
startRemoteView
设置显示视频画面的 View 对象。
Future<void> startRemoteView(String userId, intviewId)
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
intviewId | int | 显示视频画面的 widget 对应的 Id |
stopRemoteview
停止订阅远端用户的视频数据。
Future<void> stopRemoteView(String userId)
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
openCamera
开启摄像头。
Future<TUIResult> openCamera(TUICamera camera, int? viewId)
参数 | 类型 | 含义 |
camera | 前置/后置 摄像头 | |
viewId | int | 显示视频画面的widget对应的Id |
closeCamera
关闭摄像头。
Future<void> closeCamera()
switchCamera
切换前后摄像头。
Future<void> switchCamera(TUICamera camera)
参数 | 类型 | 含义 |
camera | 前置/后置 摄像头 |
openMicrophone
打开麦克风。
Future<TUIResult> openMicrophone()
closeMicrophone
关闭麦克风。
Future<void> closeMicrophone()
selectAudioPlaybackDevice
选择音频播放设备。
目前支持听筒、扬声器,在通话场景中,可以使用这个接口来开启/关闭免提模式。
Future<void> selectAudioPlaybackDevice(TUIAudioPlaybackDevice device)
参数 | 类型 | 含义 |
device | 听筒/扬声器 |
setSelfInfo
设置用户昵称、头像。
用户昵称不能超过500字节,用户头像必须是 URL 格式。
Future<TUIResult> setSelfInfo(String nickname, String avatar)
参数 | 类型 | 含义 |
nickname | String | 用户昵称 |
avatar | String | 用户头像(格式为 URL) |
enableMultiDeviceAbility
开启/关闭 TUICallEngine 的多设备登录模式 (尊享版套餐支持)。
Future<TUIResult> enableMultiDeviceAbility(bool enable)
setVideoRenderParams
设置用户视频画面的渲染模式。
Future<TUIResult> setVideoRenderParams(String userId, VideoRenderParams params)
参数如下表所示:
参数 | 类型 | 含义 |
userId | String | 目标用户的 userId |
params | 视频画面渲染参数,例如:画面旋转角度、填充模式 |
setVideoEncoderParams
设置视频编码的编码参数。
该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
Future<TUIResult> setVideoEncoderParams(VideoEncoderParams params)
参数如下表所示:
参数 | 类型 | 含义 |
params | 视频编码的参数,例如:分辨率、视频宽高比 |
queryRecentCalls
查询通话记录。
Future<void> queryRecentCalls(TUICallRecentCallsFilter filter, TUIValueCallback callback)
参数如下表所示:
参数 | 类型 | 含义 |
filter | 查询过滤条件 |
deleteRecordCalls
删除通话记录。
Future<void> deleteRecordCalls(List<String> callIdList, TUIValueCallback callback)
参数如下表所示:
参数 | 类型 | 含义 |
callIdList | List<String> | 待删除记录的 Id 列表 |
setBeautyLevel
设置美颜级别。
Future<TUIResult> setBeautyLevel(double level)
参数如下表所示:
参数 | 类型 | 含义 |
level | double | 美颜等级,使用范围0.0~9.0 |
setBlurBackground
设置视频模糊效果。
void setBlurBackground(int level, Function(int code, String message)? errorCallback)
参数如下表所示:
参数 | 类型 | 含义 |
level | int | 0:关闭 1:低 2:中 3:高 |
setVirtualBackground
设置虚拟背景图片。
void setVirtualBackground(String imagePath, Function(int code, String message)? errorCallback)
参数 | 类型 | 含义 |
imagePath | String | 图片文件名,需要将文件添加至主工程的 assets 资源中。 |