Call Store
音视频通话管理相关接口,管理音视频通话的发起、接听、拒绝、挂断、群组通话的加入与邀请、通话记录管理等操作。
概览
CallStore 管理音视频通话相关的所有操作, 包括发起、接听、拒绝、挂断、群组通话管理和通话记录管理等功能。 音视频通话功能通过 CallStore 实现用户之间的实时音视频互动。CallStore 提供了一套全面的 API 来管理整个通话生命周期。
主要功能
发起音视频通话:支持向单个或多个用户发起音频通话或视频通话,可配置超时时间、自定义数据等参数
接听/拒绝音视频通话:收到来电邀请时,可选择接听或拒绝
挂断音视频通话:结束当前正在进行的音视频通话
群组通话管理:支持加入已存在的群组通话,或在通话中邀请其他用户加入
通话记录管理:查询最近的通话记录(支持分页),删除指定的通话记录
事件驱动架构:提供通话开始、收到邀请、通话结束等事件监听
状态订阅:实时订阅当前通话状态,包括参与者列表、音量信息、网络质量等
Important: 请在 SDK 初始化成功后,通过 CallStore.shared 单例获取
CallStore实例,不要尝试直接初始化,否则将无法接收通话状态更新。
Tip: 通话状态更新通过 callState 发布者传递。订阅它以接收通话数据的实时更新。
通话操作概览
下表展示了主要的通话操作
| 功能 | 方法 | 说明 |
| 发起通话 | calls | 向指定用户发起音频或视频通话 |
| 接听通话 | accept | 接听来电 |
| 拒绝通话 | reject | 拒绝来电 |
| 挂断通话 | hangup | 挂断当前通话 |
| 加入通话 | join | 主动加入群组通话 |
| 邀请用户 | invite | 邀请其他用户加入当前通话 |
通话记录管理
| 功能 | 方法 | 说明 |
| 查询记录 | queryRecentCalls | 查询最近通话记录(支持分页) |
| 删除记录 | deleteRecentCalls | 删除指定的通话记录 |
使用示例
import io.trtc.tuikit.atomicxcore.api.call.*
// 发起视频通话
CallStore.shared.calls(
participantIds = listOf("mike"),
callMediaType = CallMediaType.VIDEO,
params = null
) { code, message ->
}Warning: 请确保在通话结束后正确处理 UI 状态,避免出现界面异常。
Topics
获取实例
CallStore.shared - 获取 CallStore 单例实例
观察状态和事件
observerState - 包含活跃通话、参与者列表、音量信息、网络质量的响应式状态
addListener/removeListener - 通话事件发布者
通话操作
通话记录
queryRecentCalls - 查询最近通话记录
deleteRecentCalls - 删除通话记录
See Also
Functions
接听通话。收到来电邀请时调用此方法接听通话。
添加通话事件回调监听器
向指定用户发起音频或视频通话,支持单人通话和多人通话。
删除指定的通话记录。
挂断并结束当前正在进行的通话。
在通话进行中邀请其他用户加入。
使用特定的 Call ID 加入一个正在进行中的群组通话。
查询最近的通话记录,支持分页查询。首次查询时 cursor 传空字符串,后续查询使用返回的 cursor 值进行分页,查询结果通过 state.recentCalls 获取。
拒绝通话。收到来电邀请时调用此方法拒绝通话。
移除通话事件回调监听器