腾讯云即时通信IMTUICallKit_AI解决方案_同尘科技

即时通信 IM 2年前 (2023-11-22) 浏览 133

TUICallKit API 简介

TUICallKit API 是音视频通话组件的含 UI 接口,使用 TUICallKit API,您可以通过简单接口快速实现一个类微信的音视频通话场景,更详细的接入步骤,详情请参见 快速接入TUICallKit。

API 概览

API 描述
init 初始化 TUICallKit
call 发起 1v1 通话
groupCall 发起群组通话
setSelfInfo 设置用户的头像、昵称
setCallingBell 设置自定义来电铃声
enableFloatWindow 开启/关闭悬浮窗功能
enableMuteMode 开启/关闭来电铃声
joinInGroupCall 加入群组中已有的音视频通话
setLogLevel 设置日志级别
destroyed 销毁 TUICallKit

API 详情

init

初始化 TUICallKit。

init({     sdkAppID: 0, // 替换为您自己账号下的 SDKAppId     userID: 'jane', // 填写当前用的 userID     userSig: 'xxxxxxxxxxxx',     type:1,     tim: null, // 如果您不需要 TIM 实例,可忽略})

参数如下表所示:

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

这里详细介绍一下 init 中的几个参数:userSig:使用步骤三中获取的 SecretKey 对 sdkAppID、userID 等信息进行加密,就可以得到 userSig,它是一个鉴权用的票据,用于腾讯云识别当前用户是否能够使用 TRTC 的服务,更多信息请参见 如何计算及使用 UserSig。tim 可以将外部的 tim 实例通过 init 透传给 callkit ,tim 参数适用于业务中已存在 TIM 实例,为保证 TIM 实例唯一性。

call

拨打电话(1v1 通话)。

call({    userID: "jane",    type: 1})

参数如下表所示:

参数 类型 含义 是否必填
userID String 被叫用户的 ID
type Number 通话的媒体类型:1:语音通话 2:视频通话
roomID Number 数字房间号, 范围 [1, 2147483647]
userData String 扩展字段: 用于在邀请信令中增加扩展信息
timeout Number 通话的超时时间,0 为不超时, 单位 s(秒)(选填) – 默认 30s被叫需要在 30s 内处于登录状态,timeout 值才会有效,具体参见 timeout 字段设置无效
offlinePushInfo Object 自定义离线消息推送(选填)

groupCall

发起群组通话。

groupCall({    userIDList: ["jane", "mike", "tommy"],    type: 1,    groupID: "12345678"})

参数如下表所示:

参数 类型 含义 是否必填
userIDList Array 目标用户的 userId 列表,示例:[“jane”, “mike”, “tommy”]
type Number 通话的媒体类型:1:语音通话 2:视频通话
groupID String 此次群组通话的群 ID
roomID Number 数字房间号, 范围 [1, 2147483647]
userData String 扩展字段:用于在邀请信令中增加扩展信息
timeout Number 通话的超时时间,0 为不超时, 单位 s(秒)(选填) – 默认 30s被叫需要在 30s 内处于登录状态,timeout 值才会有效,具体参见
timeout 字段设置无效
offlinePushInfo Object 自定义离线消息推送(选填)

setSelfInfo

设置用户头像、昵称。> v1.4.4≤ v1.4.4

setSelfInfo({ nickName: "xxx", avatar: "http://xxx" }); 
setSelfInfo('昵称', '头像地址'); 

参数如下表所示:

参数 类型 含义
nickName String 设置昵称
avatar String 头像地址

setCallingBell

设置自定义来电铃声。这里仅限传入本地文件地址,需要确保该文件目录是应用可以访问的。传入路径应为本地铃声文件的绝对地址。如需恢复默认铃声,filePath 传空即可。支持的铃声文件格式:

格式 iOS Android
m4a
mp3
wav
aac
setCallingBell("filePath")

参数如下表所示:

参数 类型 含义
filePath String 铃声地址

setLogLevel

设置日志级别,低于 level 的日志将不会输出。

setLogLevel(level)

参数如下表所示:

参数 含义
level 0 普通级别,日志量较多,接入时建议使用
1 release 级别,SDK 输出关键信息,生产环境时建议使用
2 告警级别,SDK 只输出告警和错误级别的日志
3 错误级别,SDK 只输出错误级别的日志
4 无日志级别,SDK 将不打印任何日志

enableFloatWindow

注意:TUICallKit sdk ≥ v3.1.0 支持使用该接口。开启/关闭悬浮窗功能。默认为false,通话界面左上角的悬浮窗按钮隐藏,设置为 true 后显示。

enableFloatWindow(enable?: Boolean)

enableMuteMode

注意:TUICallKit sdk ≥ v3.1.2 支持使用该接口。开启/关闭来电铃声。开启后,收到通话请求时,不会播放来电铃声。

try {  await TUICallKitServer.enableMuteMode(enable: boolean)} catch (error: any) {  alert(`[TUICallKit] Failed to call the enableMuteMode API. Reason: ${error}`);}

joinInGroupCall

注意:TUICallKit sdk ≥ v3.1.2 支持使用该接口。加入群组中已有的音视频通话。说明:加入群组中已有的音视频通话前,需要提前创建或加入IM 群组,并且群组中已有用户在通话中,如果已经创建,请忽略。群组的创建详见:IM 群组管理,或者您也可以直接使用 IM TUIKIT,一站式集成聊天、通话等场景。

try {  const params = {    type: 2, // 视频通话    groupID: "xxx",    roomID: 0,  };  await TUICallKitServer.joinInGroupCall(params);} catch (error: any) {  alert(`[TUICallKit] Failed to call the enableMuteMode API. Reason: ${error}`);}

参数列表:

参数 类型 是否必填 含义
type Number 通话的媒体类型:1:语音通话 2:视频通话
groupID String 此次群组通话的群 ID
roomID Number 此次通话的音视频房间 ID

destroyed

销毁 TUICallKit。

destroyed()

offlinePushInfo

参数 类型 是否必填 含义
offlinePushInfo.title String 离线推送标题(选填)
offlinePushInfo.description String 离线推送内容(选填)
offlinePushInfo.androidOPPOChannelID String 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID(选填)
offlinePushInfo.extension String 离线推送透传内容(选填)(tsignaling 版本 >= 0.9.0)



对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?