帮你快速理解、总结文档立即下载

CallCoreView

最近更新时间:2026-07-22 10:22:00

我的收藏

简介

CallCoreView 是通话界面的主要容器,提供以下核心能力:
多布局切换: 支持单人悬浮、多人宫格、画中画三种布局模式切换。
呼叫等待交互: 支持自定义呼叫接通前的等待动画。
状态可视化: 支持自定义不同音量等级和网络质量状态的图标。
用户个性化: 支持通过 User ID 映射设置参与者头像。
说明:
该视图组件需要配合 CallStore 使用,以正确展示通话画面并接收通话状态更新。

功能特性

多布局切换:支持单人悬浮、多人宫格、画中画三种布局模式切换。
呼叫等待交互:支持自定义呼叫接通前的等待动画。
状态可视化:支持自定义不同音量等级和网络质量状态的图标。
用户个性化:支持通过 User ID 映射设置参与者头像。

API 列表

函数名
描述
默认占位头像。
呼叫等待动画。
音量状态图标集合。
网络信号图标集合。
参与者头像集合。
多布局切换。
配置等待动画。
配置音量图标。
配置网络图标。
配置参与者头像。

静态属性

defaultAvatarImage

默认占位头像。

waitingAnimationImage

呼叫等待动画。

volumeImages

音量状态图标集合。

networkQualityImages

网络信号图标集合。

participantAvatars

参与者头像集合。

配置方法

setLayoutTemplate

切换通话界面布局模式。
fun setLayoutTemplate(template: CallLayoutTemplate) {
setLayoutTemplateInternal(template)
}
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
template
目标布局模板。

setWaitingAnimation

配置呼叫等待动画。
fun setWaitingAnimation(path: String) {
setWaitingAnimationInternal(path)
}
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
path
String
动画文件的资源路径。

setVolumeLevelIcons

自定义音量等级图标。
fun setVolumeLevelIcons(icons: Map<VolumeLevel, String>) {
setVolumeLevelIconsInternal(icons)
}
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
icons
Map<VolumeLevel, String>
音量等级与图标路径的映射关系。

setNetworkQualityIcons

自定义网络质量图标。
fun setNetworkQualityIcons(icons: Map<NetworkQuality, String>) {
setNetworkQualityIconsInternal(icons)
}
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
icons
Map<NetworkQuality, String>
网络质量状态与图标路径的映射关系。

setParticipantAvatars

设置参与者头像。
fun setParticipantAvatars(avatars: Map<String, String>) {
setParticipantAvatarsInternal(avatars)
}
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
avatars
Map<String, String>
用户 ID 与头像资源路径的映射关系。

数据结构

CallLayoutTemplate

通话布局模式枚举,用于定义通话画面的展示形态。
枚举值
说明
float
单人通话布局。
grid
多人通话布局。
pip
画中画布局。

VolumeLevel

音量等级枚举,用于标识参与者当前的音量强度。
枚举值
说明
Mute
0
静音。
Low
1
低音量。
Medium
2
中音量。
High
3
高音量。
Peak
4
峰值音量。

使用示例

import io.trtc.tuikit.atomicxcore.api.view.*
// 创建通话视图
val callCoreView = CallCoreView(context)
addView(callCoreView)
// 设置布局模式
callCoreView.setLayoutTemplate(CallLayoutTemplate.GRID)
// 设置等待动画
callCoreView.setWaitingAnimation("waiting_animation.json")
// 设置音量图标
callCoreView.setVolumeLevelIcons(mapOf(
VolumeLevel.MUTE to "volume_mute",
VolumeLevel.LOW to "volume_low",
VolumeLevel.MEDIUM to "volume_medium",
VolumeLevel.HIGH to "volume_high",
VolumeLevel.PEAK to "volume_peak"
))
// 设置网络质量图标
callCoreView.setNetworkQualityIcons(mapOf(
NetworkQuality.UNKNOWN to "network_unknown",
NetworkQuality.EXCELLENT to "network_excellent",
NetworkQuality.GOOD to "network_good",
NetworkQuality.POOR to "network_poor",
NetworkQuality.BAD to "network_bad",
NetworkQuality.VERY_BAD to "network_very_bad",
NetworkQuality.DOWN to "network_down"
))
// 设置参与者头像
callCoreView.setParticipantAvatars(mapOf(
"user_123" to "avatar_user_123",
"user_456" to "avatar_user_456"
))