CallCoreView is the main container for the call interface, providing the following core capabilities:Function | Description |
Default placeholder avatar. | |
Call waiting animation. | |
Volume status icon collection. | |
Network signal icon collection. | |
Multi-layout switching. |
Enum Value | Description |
float | Single-person call layout. |
grid | Multi-person call layout. |
pip | Picture-in-picture layout. |
Enum Value | Value | Description |
mute | 0 | Muted. |
low | 1 | Low volume. |
medium | 2 | Medium volume. |
high | 3 | High volume. |
peak | 4 | Peak volume. |
Property | Type | Description |
_currentTemplate | | Current layout template notifier. |
_zoomEnabled | | Video zoom gesture enabled state. |
currentLayoutTemplate | Current layout template. Modifiable via setLayoutTemplate. | |
waitingAnimationSource | ResourceStr | Call waiting animation source. Accepts $rawfile(...), $r(...), network URL, local file path (file:///...) or Base64 data URI. |
volumeLevelIconSources | Mapping between volume levels and icon sources. Each value accepts $rawfile(...), $r(...), network URL, local file path (file:///...) or Base64 data URI. | |
networkQualityIconSources | Map<NetworkQuality, ResourceStr> | Mapping between network quality states and icon sources. Each value accepts $rawfile(...), $r(...), network URL, local file path (file:///...) or Base64 data URI. |
defaultAvatarSource | ResourceStr | Default placeholder avatar source. Accepts $rawfile(...), $r(...), network URL, local file path (file:///...) or Base64 data URI. |
import AtomicXCore// Create call viewlet callCoreView = CallCoreView(frame: view.bounds)view.addSubview(callCoreView)// Set layout modecallCoreView.setLayoutTemplate(.grid)// Set waiting animationcallCoreView.setWaitingAnimation(path: "waiting_animation.json")// Set volume iconscallCoreView.setVolumeLevelIcons(icons: [.mute: "volume_mute",.low: "volume_low",.medium: "volume_medium",.high: "volume_high",.peak: "volume_peak"])// Set network quality iconscallCoreView.setNetworkQualityIcons(icons: [.unknown: "network_unknown",.excellent: "network_excellent",.good: "network_good",.poor: "network_poor",.bad: "network_bad",.veryBad: "network_very_bad",.down: "network_down"])// Set participant avatarscallCoreView.setParticipantAvatars(avatars: ["user_123": "avatar_user_123","user_456": "avatar_user_456"])
フィードバック