Call
  • Web
    • Overview
      • Product Introduction
      • Activate the Service
      • 价格中心
        • 免费时长
        • Call 包月套餐
        • 订阅套餐时长计费说明
    • Get Started
      • Run Sample Code
      • Integration (React)
      • Integration (Vue3)
      • Secure authentication with userSig
    • Basic Features
      • UI Customization
      • Configuring Nickname and Avatar
      • GroupCall
      • 悬浮窗
      • 自定义铃声
      • 设置分辨率和填充模式
      • 监控通话状态
    • Advanced Features
      • 虚拟背景
      • AI 降噪
      • 云端录制
    • 客户端 API
      • UIKit APIs
        • API Overview
        • TUICallKit
      • Engine APIs
        • TUICallEngine
        • TUICallEvent
    • 服务端 API
      • 通话状态回调
        • 通话状态回调
        • 通话事件回调
        • 回调配置
          • 回调配置接口列表
          • 创建回调配置
          • 查询回调配置
          • 更新回调配置
          • 删除回调配置
      • REST 接口
        • REST 接口简介
        • 通过 callId 获取记录
        • 通过条件获取记录
    • FAQs
      • All Platfroms
      • Web
      • ErrorCode
      • 发布说明
  • Android
    • Overview
      • Product Introduction
      • Activate the Service
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • 跑通 Demo
      • 集成
      • Secure authentication with userSig
    • Basic Features
      • UI 定制
      • 离线通话推送
      • Configuring Nicknames and Avatars
      • 群组通话
      • 悬浮窗
      • 自定义铃声
      • 监控通话状态
    • 更多功能
      • 虚拟背景
      • AI 降噪
      • 云端录制
    • 客户端 API
      • UIKit APIs
        • 接口概述
        • TUICallKit
        • TUICallObserver
        • 类型定义
      • Engine APIs
        • TUICallEngine
    • 服务端 API
      • 通话状态回调
        • 通话状态回调
        • 通话事件回调
        • 回调配置
          • 回调配置接口列表
          • 创建回调配置
          • 查询回调配置
          • 更新回调配置
          • 删除回调配置
      • REST 接口
        • REST 接口简介
        • 通过 callId 获取记录
        • 通过条件获取记录
    • FAQs
      • All Platforms
      • Android
      • ErrorCode
      • 发布说明
  • iOS
    • Overview
      • Product Introduction
      • Activate the Service
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • 跑通 Demo
      • 集成
      • Secure authentication with userSig
    • Basic Features
      • UI 定制
      • 离线通话推送
        • VoIP
        • APN
      • 设置昵称和头像
      • 群组通话
      • 悬浮窗
      • 自定义铃声
      • 监控通话状态
    • 更多功能
      • 虚拟背景
      • AI 降噪
      • 云端录制
    • 客户端 API
      • UIKit APIs
        • 接口概述
        • TUICallKit
        • TUICallObserver
        • 类型定义
      • Engine APIs
        • TUICallEngine
    • 服务端 API
      • 通话状态回调
        • 通话状态回调
        • 通话事件回调
        • 回调配置
          • 回调配置接口列表
          • 创建回调配置
          • 查询回调配置
          • 更新回调配置
          • 删除回调配置
      • REST 接口
        • REST 接口简介
        • 通过 callId 获取记录
        • 通过条件获取记录
    • FQAs
      • All Platform
      • iOS
      • ErrorCode
      • 发布说明
  • Flutter
    • Overview
      • 产品概述
      • 开通服务
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • 跑通 Demo
      • 集成
      • Secure authentication with userSig
    • Basic Features
      • UI 定制
      • 离线通话推送
        • 通知
        • VoIP(可选)
      • 设置昵称和头像
      • 群组通话
      • 悬浮窗
      • 自定义铃声
      • 监控通话状态
    • 更多功能
      • 虚拟背景
      • AI 降噪
      • 云端录制
      • 美颜特效
    • 客户端 API
      • 接口概述
      • TUICallKit
      • TUICallEngine
      • TUICallObserver
      • 类型定义
    • 服务端 API
      • 通话状态回调
        • 通话状态回调
        • 通话事件回调
        • 回调配置
          • 回调配置接口列表
          • 创建回调配置
          • 查询回调配置
          • 更新回调配置
          • 删除回调配置
      • REST 接口
        • REST 接口简介
        • 通过 callId 获取记录
        • 通过条件获取记录
    • FQAs
      • All Platform
      • Flutter
      • ErrorCode
      • 升级
      • 发布说明
Call

UI 定制

本文将介绍如何定制 TUICallKit 的用户界面,我们提供了两个方案供您选择:界面微调方案自实现 UI 方案

方案一:界面微调方案

通过直接修改我们提供的 UI 源代码,对 TUICallKit 的用户界面进行调整,TUICallKit 的界面源代码位于 Github 中的 Android/tuicallkit-kt 文件夹下面。

替换图标

您可以直接替换 tuicallkit-kt/src/main/res/drawable-xxhdpi 文件夹下的图标,以确保整个 App 中的图标色调风格保持一致,请在替换时保持图标文件的名字不变。




替换铃声

您可以替换 tuicallkit-kt/src/main/res/raw 文件夹下的三个音频文件来达到替换铃声的目的。
文件名
用途
phone_dialing.mp3
发起呼叫时的声音
phone_hangup.mp3
被挂断的声音
phone_ringing.mp3
接到呼叫时的声音

替换文案

您可以通过修改 tuicallkit-kt/src/main/res/values-**/ 中的 strings.xml 文件来修改视频通话界面中的字符串内容。

方案二:自实现 UI 方案

TUICallKit 的通话功能是基于 TUICallEngine 这个无 UI 组件实现的,您可以删掉 tuicallkit-kt 文件夹,完全基于 TUICallEngine 实现一套自己的 UI 界面。

TUICallEngine

TUICallEngine 是整个通话组件的底层接口,主要提供了1V1音视频通话和群组内通话的发起、接听、拒绝、结束以及设备操作等关键接口。
API
描述
创建 TUICallEngine 实例(单例模式)
销毁 TUICallEngine 实例(单例模式)
init
完成音视频通话基础能力的鉴权
增加事件回调
移除回调接口
call
发起 1v1 通话
groupCall
发起群组通话
accept
接听通话
reject
拒绝通话
hangup
结束通话
ignore
忽略通话
在群组通话中,邀请其他人加入
主动加入当前的群组通话中
切换通话媒体类型,比如视频通话切音频通话
开始订阅远端用户视频流
停止订阅远端用户视频流
开启摄像头
关闭摄像头
切换前后摄像头
打开麦克风
关闭麦克风
选择音频播放设备(听筒/扬声器)
设置用户的昵称、头像
开启/关闭 TUICallEngine 的多设备登录模式 (尊享版套餐支持)
设置用户视频画面的渲染模式
设置视频编码的编码参数
高级接口,用于接入第三方美颜等
设置美颜级别,支持关闭默认美颜

TUICallObserver

TUICallObserver 是 TUICallEngine 对应的回调事件类,您可以通过此回调,来监听自己感兴趣的回调事件。
API
描述
onError
通话过程中错误回调
通话请求的回调
通话取消的回调
通话接通的回调
onCallEnd
通话结束的回调
通话的媒体类型发生改变的回调
xxxx 用户拒绝通话的回调
xxxx 用户不响应的回调
xxxx 用户忙线的回调
xxxx 用户加入通话的回调
xxxx 用户离开通话的回调
xxx 用户是否有视频流的回调
xxx 用户是否有音频流的回调
所有用户音量大小的反馈回调
所有用户网络质量的反馈回调

关键类型定义

API
描述
通话的媒体类型,枚举类型:视频通话、语音通话
通话的角色,枚举类型:主叫、被叫
通话的状态,枚举类型:空闲、待接听、接听中
音视频房间 ID,支持数字、字符串两种类型
摄像头 ID 参数,枚举类型:前摄、后摄
声音的播放设备,枚举类型:扬声器、听筒
当前的网络质量信息