tencent cloud

实时音视频

CallCoreView

Download
聚焦模式
字号
最后更新时间: 2026-07-30 16:32:01

简介

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

功能特性

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

API 列表

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

静态属性

defaultAvatarImage

默认占位头像。

waitingAnimationImage

呼叫等待动画。

volumeImages

音量状态图标集合。

networkQualityImages

网络信号图标集合。

配置方法

setLayoutTemplate(_:)

多布局切换。

数据结构

CallLayoutTemplate

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

VolumeLevel

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

CallCoreController

用于管理 CallCoreView 布局和状态的控制器。
属性
类型
说明
_currentTemplate

当前布局模板通知器。
_zoomEnabled

视频缩放手势启用状态。
currentLayoutTemplate
当前布局模板。可通过 setLayoutTemplate 修改。
waitingAnimationSource
ResourceStr
呼叫等待动画资源。接受 $rawfile(...)$r(...)、网络 URL、本地文件路径 (file:///...) 或 Base64 数据 URI。
volumeLevelIconSources
Map<VolumeLevel, ResourceStr>
音量等级图标资源映射。值接受 $rawfile(...)$r(...)、网络 URL、本地文件路径 (file:///...) 或 Base64 数据 URI。
networkQualityIconSources
Map<NetworkQuality, ResourceStr>
网络质量图标资源映射。值接受 $rawfile(...)$r(...)、网络 URL、本地文件路径 (file:///...) 或 Base64 数据 URI。
defaultAvatarSource
ResourceStr
默认占位头像资源。接受 $rawfile(...)$r(...)、网络 URL、本地文件路径 (file:///...) 或 Base64 数据 URI。

使用示例

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

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈