简介
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"])