CallCoreView

class CallCoreView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : ConstraintLayout

通话核心视图组件,负责通话界面的视频渲染与交互展示。支持多布局切换(单人悬浮/多人宫格/画中画)、呼叫等待动画、以及音量、网络状态和用户头像的个性化配置。

概览

CallCoreView 用于展示通话画面的核心视图组件。 CallCoreView 是通话界面的主要容器,提供以下核心能力:

  • 多布局切换: 支持单人悬浮、多人宫格、画中画三种布局模式切换。

  • 呼叫等待交互: 支持自定义呼叫接通前的等待动画。

  • 状态可视化: 支持自定义不同音量等级和网络质量状态的图标。

  • 用户个性化: 支持通过 User ID 映射设置参与者头像。

主要功能

  • 多布局切换:支持单人悬浮、多人宫格、画中画三种布局模式切换

  • 呼叫等待交互:支持自定义呼叫接通前的等待动画

  • 状态可视化:支持自定义不同音量等级和网络质量状态的图标

  • 用户个性化:支持通过 User ID 映射设置参与者头像

Tip: 该视图组件需要配合 CallStore 使用,以正确展示通话画面并接收通话状态更新。

方法概览

功能方法说明
多布局切换setLayoutTemplate切换通话界面布局(单人悬浮/多人宫格/画中画)
等待动画setWaitingAnimation设置呼叫等待状态下的加载动画
音量图标setVolumeLevelIcons自定义各音量等级对应的图标
网络图标setNetworkQualityIcons自定义各网络质量等级对应的图标
用户头像setParticipantAvatars设置参与者的头像图片

使用示例

import io.trtc.tuikit.atomicxcore.api.view.*

// 创建通话视图
val callCoreView = CallCoreView(context)
addView(callCoreView)

// 设置布局模式
callCoreView.setLayoutTemplate(CallLayoutTemplate.GRID)

// 设置等待动画
callCoreView.setWaitingAnimation("waiting_animation.json")

// 设置音量图标
callCoreView.setVolumeLevelIcons(mapOf(
VolumeLevel.MUTE to "volume_mute",
VolumeLevel.LOW to "volume_low",
VolumeLevel.MEDIUM to "volume_medium",
VolumeLevel.HIGH to "volume_high",
VolumeLevel.PEAK to "volume_peak"
))

// 设置网络质量图标
callCoreView.setNetworkQualityIcons(mapOf(
NetworkQuality.UNKNOWN to "network_unknown",
NetworkQuality.EXCELLENT to "network_excellent",
NetworkQuality.GOOD to "network_good",
NetworkQuality.POOR to "network_poor",
NetworkQuality.BAD to "network_bad",
NetworkQuality.VERY_BAD to "network_very_bad",
NetworkQuality.DOWN to "network_down"
))

// 设置参与者头像
callCoreView.setParticipantAvatars(mapOf(
"user_123" to "avatar_user_123",
"user_456" to "avatar_user_456"
))

Topics

静态属性

  • defaultAvatarImage - 默认占位头像

  • waitingAnimationImage - 呼叫等待动画

  • volumeImages - 音量状态图标集合

  • networkQualityImages - 网络信号图标集合

  • participantAvatars - 参与者头像集合

配置方法

See Also

Constructors

Link copied to clipboard
constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0)

Functions

Link copied to clipboard

切换通话界面布局模式。

Link copied to clipboard

自定义网络质量图标。

Link copied to clipboard

设置参与者头像。

Link copied to clipboard

自定义音量等级图标。

Link copied to clipboard

配置呼叫等待动画。