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

CallCoreView

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

我的收藏

简介

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

功能特性

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

API 列表

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

静态属性

defaultAvatarImage

默认占位头像。

waitingAnimationImage

呼叫等待动画。

volumeImages

音量状态图标集合。

networkQualityImages

网络信号图标集合。

participantAvatars

参与者头像集合。

配置方法

setLayoutTemplate

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

setWaitingAnimation

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

setVolumeLevelIcons

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

setNetworkQualityIcons

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

setParticipantAvatars

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

数据结构

CallLayoutTemplate

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

VolumeLevel

音量等级枚举,用于标识参与者当前的音量强度。
枚举值
说明
mute
0
静音。
low
1
低音量。
medium
2
中音量。
high
3
高音量。
peak
4
峰值音量。

使用示例

import AtomicXCore
// 创建通话视图
let callCoreView = CallCoreView(frame: view.bounds)
view.addSubview(callCoreView)
// 设置布局模式
callCoreView.setLayoutTemplate(.grid)
// 设置等待动画
callCoreView.setWaitingAnimation(path: "waiting_animation.json")
// 设置音量图标
callCoreView.setVolumeLevelIcons(icons: [
.mute: "volume_mute",
.low: "volume_low",
.medium: "volume_medium",
.high: "volume_high",
.peak: "volume_peak"
])
// 设置网络质量图标
callCoreView.setNetworkQualityIcons(icons: [
.unknown: "network_unknown",
.excellent: "network_excellent",
.good: "network_good",
.poor: "network_poor",
.bad: "network_bad",
.veryBad: "network_very_bad",
.down: "network_down"
])
// 设置参与者头像
callCoreView.setParticipantAvatars(avatars: [
"user_123": "avatar_user_123",
"user_456": "avatar_user_456"
])