TUICallEngine
TUICallEngine API 简介
TUICallEngine API 是音视频通话组件的无 UI 接口,如果 TUICallKit 的交互并不满足您的需求,您可以使用这套接口自己封装交互。
Overview
API | 含义 |
创建 TUICallEngine 实例(单例模式) | |
销毁 TUICallEngine 实例(单例模式) | |
完成音视频通话基础能力的鉴权。 | |
增加事件回调 | |
移除回调接口 | |
发起 1v1 通话 | |
接听通话 | |
拒绝通话 | |
忽略通话 | |
结束通话 | |
切换通话媒体类型,比如视频通话切音频通话 | |
开始订阅远端用户视频流 | |
停止订阅远端用户视频流 | |
开启摄像头 | |
切换前后摄像头 | |
关闭摄像头 | |
打开麦克风 | |
关闭麦克风 | |
选择音频播放设备(听筒/扬声器) | |
设置用户视频画面的渲染模式 | |
设置视频编码的编码参数 | |
设置美颜级别,支持关闭默认美颜 | |
设置用户的昵称、头像 | |
API 详情
CreateInstance
创建 TUICallEngine 的单例。
TUICallKit.CreateInstance();
destroyInstance
销毁 TUICallEngine 的单例。
TUICallKit.destroyInstance();
login
初始化函数,请在使用所有功能之前先调用该函数,以便完成包含通话服务鉴权在内初始化动作。
login(sdkAppId: number;userId: string;userSig: string;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
sdkAppId | Number | |
userId | String | 当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_) |
userSig | String |
on
添加回调接口,您可以通过这个接口,监听
TUICallObserver
相关的事件回调。on(type: TUICallEvent, listener: (params: any) => void): void {}
参数 | 类型 | 含义 |
type | 监听 TUICallkit 的某个事件 |
off
移除回调接口。
off(type: TUICallEvent): void {}
参数 | 类型 | 含义 |
type | 注销 TUICallkit 的某个事件 |
call
发起 1v1 或 多人通话。
call(userId: string;mediaType: MediaType;callParams?: CallParams;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
userId | string | 目标用户的 userId |
mediaType | 通话的媒体类型,例如:视频通话、语音通话 | |
callParams | 通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |
accept
接受当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数接听来电。accept(onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
reject
拒绝当前通话,当您作为被叫收到
onCallReceived()
的回调时,可以调用该函数拒绝来电。reject(onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
ignore
忽略当前通话,当您作为被叫收到 onCallReceived() 的回调时,可以调用该函数忽略来电,此时主叫会收到 onUserLineBusy 的回调。
备注:如果您的业务中存在直播、会议等场景,在直播/会议中的情况时,也可以调用这个函数来忽略此次来电。
ignore(onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
hangup
挂断当前通话,当您处于通话中,可以调用该函数结束通话。
hangup(onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
switchCallMediaType
切换视频通话到语音通话。
switchCallMediaType(mediaType: MediaType): void {}
参数 | 类型 | 含义 |
mediaType | 通话的媒体类型,比如视频通话、语音通话 |
startRemoteView
开始订阅远端用户的视频数据。
startRemoteView(userId: string;viewId: string;onPlaying: (params: any) => void;onLoading: (params: any) => void;): void {}
参数 | 类型 | 含义 |
userId | string | 目标用户的 userId |
viewId | string | 需要渲染的 view ID. |
stopRemoteView
停止订阅远端用户的视频数据。
stopRemoteView(userId: string;): void {}
参数 | 类型 | 含义 |
userId | string | 目标用户的 userId |
openCamera
开启摄像头。
openCamera(camera?: Camera;viewId: string;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
camera | 前置/后置 摄像头 Camera.Front: 前置摄像头 Camera.Back: 后置摄像头 | |
viewId | string | 需要渲染画面的 view ID |
switchCamera
切换前后摄像头。
switchCamera(camera: Camera): void {}
参数 | 类型 | 含义 |
camera | 前置/后置 摄像头 Camera.Front: 前置摄像头 Camera.Back: 后置摄像头 |
closeCamera
关闭摄像头。
closeCamera(): void {}
openMicrophone
打开麦克风。
openMicrophone(onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
closeMicrophone
关闭麦克风。
closeMicrophone(onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
selectAudioPlaybackDevice
选择音频播放设备。
目前支持听筒、扬声器,在通话场景中,可以使用这个接口来开启/关闭免提模式。
selectAudioPlaybackDevice(device: AudioPlaybackDevice;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
device | 听筒/扬声器 AudioPlaybackDevice.Earpiece:听筒 AudioPlaybackDevice.Speakerphone:扬声器 |
setVideoRenderParams
设置用户视频画面的渲染模式。
setVideoRenderParams(userId: string;videoRender?: {fillMode?: FillMode;rotation?: Rotation;};onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
setVideoEncoderParams
设置视频编码的编码参数。
该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
setVideoEncoderParams(videoEncoder?: {resolution?: Resolution;resolutionMode?: ResolutionMode;};onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
resolution | ||
resolutionMode |
setBeautyLevel
设置美颜级别,支持关闭默认美颜。
setBeautyLevel(level: number;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
level | number | 美颜级别,取值范围 0 - 9; 0 表示关闭,9 表示效果最明显 |
setSelfInfo
设置用户昵称、头像。
用户昵称不能超过500字节,用户头像必须是 URL 格式。
setSelfInfo(nickname: string;avatar?: string;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
nickname | string | 用户昵称 |
avatar | string | 用户头像(格式为 URL) |
enableMultiDeviceAbility
enableMultiDeviceAbility(enable: boolean;onSuccess?: (data: String) => void;onError?: (errCode: number, errMsg: string) => void;): void {}
参数 | 类型 | 含义 |
enable | boolean | 设置 TUICallEngine 是否开启多设备登录。 |