TUICallEngine

TUICallEngine API 简介

TUICallEngine API 是音视频通话组件的无 UI 接口,如果 TUICallKit 的交互并不满足您的需求,您可以使用这套接口自己封装交互。

API 概览

API
描述
init
初始化 SDK 函数,完成包含通话服务鉴权在内初始化动作
unInit
反初始化函数,释放 TUICallEngine 使用到的相关资源。
增加事件回调
移除回调接口
call
发起 1v1 通话
groupCall
发起群组通话
accept
接听通话
reject
拒绝通话
hangup
结束通话
ignore
忽略通话
在群组通话中,邀请其他人加入
主动加入当前的群组通话中
切换通话媒体类型,比如视频通话切音频通话
开始订阅远端用户视频流
停止订阅远端用户视频流
开启摄像头
关闭摄像头
切换前后摄像头
打开麦克风
关闭麦克风
选择音频播放设备(听筒/免提)
设置用户的头像、昵称
开启/关闭 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
TUIRoomId
此次通话的音视频房间 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
TUICamera
前置/后置 摄像头
viewId
int?
显示视频画面的widget对应的Id

closeCamera

关闭摄像头。
Future<void> closeCamera()

switchCamera

切换前后摄像头。
Future<void> switchCamera(TUICamera camera)
参数
类型
含义
camera
TUICamera
前置/后置 摄像头

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~10.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 资源中。