本文将介绍如何定制 TUICallKit 的用户界面,我们提供了两个方案供您选择:界面微调方案和自实现 UI 方案。
方案一:界面微调方案
替换图标
您可以直接替换
res\\drawable-xxhdpi
文件夹下的图标,以确保整个 App 中的图标色调风格保持一致,请在替换时保持图标文件的名字不变。

替换铃声
您可以替换
res\\raw
文件夹下的三个音频文件来达到替换铃声的目的:文件名 | 用途 |
phone_dialing.mp3 | 发起呼叫时的声音 |
phone_hangup.mp3 | 被挂断的声音 |
phone_ringing.mp3 | 接到呼叫时的声音 |
替换文案
您可以通过修改 values-zh 和 values-en 中的
strings.xml
文件来修改视频通话界面中的字符串内容。方案二:自实现 UI 方案
TUICallKit 的整个通话功能是基于 TUICallEngine 这个无 UI 组件实现的,您可以删掉 tuicallkit 文件夹,完全基于 TUICallEngine 实现一套自己的 UI 界面。
TUICallEngine
TUICallEngine 是整个通话组件的底层接口,主要提供了1对1音视频通话和群组内通话的发起、接听、拒绝、结束以及设备操作等关键接口。
API | 描述 |
创建 TUICallEngine 实例(单例模式)。 | |
销毁 TUICallEngine 实例(单例模式)。 | |
完成音视频通话基础能力的鉴权。 | |
增加事件回调。 | |
移除回调接口。 | |
发起单人或多人通话。 | |
接听通话。 | |
拒绝通话。 | |
结束通话。 | |
忽略通话。 | |
在通话中,邀请其他人加入。 | |
主动加入通话。 | |
切换通话媒体类型,例如视频通话切音频通话。 | |
开始订阅远端用户视频流。 | |
停止订阅远端用户视频流。 | |
开启摄像头。 | |
关闭摄像头。 | |
切换前后摄像头。 | |
打开麦克风。 | |
关闭麦克风。 | |
选择音频播放设备(听筒/扬声器)。 | |
设置用户的昵称、头像。 | |
设置用户视频画面的渲染模式。 | |
设置视频编码的编码参数。 | |
高级接口,用于接入第三方美颜等。 | |
设置美颜级别,支持关闭默认美颜。 |
TUICallObserver
TUICallObserver 是 TUICallEngine 对应的回调事件类,您可以通过此回调,来监听自己感兴趣的回调事件。
API | 描述 |
通话过程中错误回调。 | |
通话请求的回调。 | |
通话接通的回调。 | |
通话结束的回调。 | |
通话未接通的回调。 | |
xxxx 用户拒绝通话的回调。 | |
xxxx 用户不响应的回调。 | |
xxxx 用户忙线的回调。 | |
xxxx 用户被追加邀请加入通话时的回调。 | |
xxxx 用户加入通话的回调。 | |
xxxx 用户离开通话的回调。 | |
xxxx 用户是否有视频流的回调。 | |
xxxx 用户是否有音频流的回调。 | |
所有用户音量大小的反馈回调。 | |
所有用户网络质量的反馈回调。 | |
当前用户被踢下线。 | |
在线时票据过期。 |
关键类型定义
API | 描述 |
通话的媒体类型,枚举类型:视频通话、语音通话。 | |
通话的角色,枚举类型:主叫、被叫。 | |
通话的状态,枚举类型:空闲、待接听、接听中。 | |
通话扩展参数:离线推送消息显示内容。 | |
音视频房间 ID,支持数字、字符串类型。 | |
摄像头参数,枚举类型:前置摄像头、后置摄像头。 | |
声音的播放设备,枚举类型:扬声器、听筒。 | |
当前的网络质量信息。 |