简介
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 | 当前布局模板通知器。 | |
_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);