TUICallEngine

TUICallEngine API 简介

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

Overview

API
含义
创建 TUICallEngine 实例(单例模式)
销毁 TUICallEngine 实例(单例模式)
login
完成音视频通话基础能力的鉴权。
on
增加事件回调
off
移除回调接口
call
发起 1v1 通话
accept
接听通话
reject
拒绝通话
ignore
忽略通话
hangup
结束通话
切换通话媒体类型,比如视频通话切音频通话
开始订阅远端用户视频流
停止订阅远端用户视频流
开启摄像头
切换前后摄像头
关闭摄像头
打开麦克风
关闭麦克风
选择音频播放设备(听筒/扬声器)
设置用户视频画面的渲染模式
设置视频编码的编码参数
设置美颜级别,支持关闭默认美颜
设置用户的昵称、头像
开启/关闭 TUICallEngine 的多设备登录模式 (群组通话版套餐 支持)

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
您可以在实时音视频控制台 > 应用管理 > 应用信息中查看 SDKAppID
userId
String
当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)
userSig
String
腾讯云设计的一种安全保护签名,获取方式请参见 如何计算及使用 UserSig

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
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
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
前置/后置 摄像头
Camera.Front: 前置摄像头
Camera.Back: 后置摄像头
viewId
string
需要渲染画面的 view ID

switchCamera

切换前后摄像头。
switchCamera(camera: Camera): void {}
参数
类型
含义
camera
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 {}
参数
类型
含义
userId
string
目标用户的 userId
fillMode
FillMode
视频画面渲染参数,填充模式。详情请参考:FillMode
rotation
Rotation
视频画面渲染参数,画面旋转角度。
Rotation.Rotation_0:不旋转
Rotation.Rotation_90:顺时针旋转90度
Rotation.Rotation_180:顺时针旋转180度
Rotation.Rotation_270:顺时针旋转270度

setVideoEncoderParams

设置视频编码的编码参数。
该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
setVideoEncoderParams(
videoEncoder?: {
resolution?: Resolution;
resolutionMode?: ResolutionMode;
};
onSuccess?: (data: String) => void;
onError?: (errCode: number, errMsg: string) => void;
): void {}
参数
类型
含义
resolution
视频编码的参数,分辨率。详情请参见 Resolution
resolutionMode
视频编码的参数,视频宽高比。详情请参见 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

开启/关闭 TUICallEngine 的多设备登录模式 (群组通话版套餐支持)。
enableMultiDeviceAbility(
enable: boolean;
onSuccess?: (data: String) => void;
onError?: (errCode: number, errMsg: string) => void;
): void {}
参数
类型
含义
enable
boolean
设置 TUICallEngine 是否开启多设备登录。