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

CallCoreView

最近更新时间:2026-07-23 15:44:49

我的收藏

简介

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

功能特性

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

API 列表

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

静态属性

defaultAvatar

默认占位头像。

loadingAnimation

呼叫等待动画。

volumeIcons

音量状态图标集合。
数据结构:VolumeLevel

networkQualityIcons

网络信号图标集合。

配置方法

CallCoreController.setLayoutTemplate

多布局切换。

数据结构

CallLayoutTemplate

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

VolumeLevel

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

CallCoreController

用于管理 CallCoreView 布局和状态的控制器。
属性
类型
说明
_currentTemplate
ValueNotifier<CallLayoutTemplate>
当前布局模板通知器。
_zoomEnabled
bool
视频缩放手势启用状态。

使用示例

import 'package:atomic_x_core/atomicxcore.dart';
// 创建控制器
final controller = CallCoreController.create();
// 创建通话视图并配置
CallCoreView(
controller: controller,
defaultAvatar: Icon(Icons.person),
loadingAnimation: CircularProgressIndicator(),
volumeIcons: {
VolumeLevel.mute: Icon(Icons.volume_off),
VolumeLevel.low: Icon(Icons.volume_down),
VolumeLevel.medium: Icon(Icons.volume_up),
VolumeLevel.high: Icon(Icons.volume_up),
VolumeLevel.peak: Icon(Icons.volume_up),
},
networkQualityIcons: {
NetworkQuality.unknown: Icon(Icons.signal_wifi_off),
NetworkQuality.excellent: Icon(Icons.signal_wifi_4_bar),
NetworkQuality.good: Icon(Icons.signal_wifi_4_bar),
NetworkQuality.poor: Icon(Icons.network_wifi_3_bar),
NetworkQuality.bad: Icon(Icons.network_wifi_2_bar),
NetworkQuality.veryBad: Icon(Icons.network_wifi_1_bar),
NetworkQuality.down: Icon(Icons.signal_wifi_off),
},
);
// 设置布局模式
controller.setLayoutTemplate(CallLayoutTemplate.grid);