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

ScreenShareStore

最近更新时间:2026-10-23 14:57:33
我的收藏

简介

ScreenShareStore 提供了一套完整的屏幕分享 API,包括移动端整屏分享,以及桌面端(Win/Mac)的屏幕 / 窗口源枚举与指定目标分享。
重要:
请使用 ScreenShareStore.shared 单例获取 ScreenShareStore 实例。不要尝试直接初始化。
说明:
屏幕分享状态更新通过 screenShareState 发布者传递。订阅它以接收屏幕分享状态的实时更新。

功能特性

屏幕分享:开启和停止屏幕分享,支持 iOS App Group 与桌面端采集属性配置。
采集源枚举:枚举可分享的屏幕与应用窗口,附缩略图与图标,用于构建源选择器 UI(仅桌面端)。
状态订阅:实时订阅屏幕分享状态变化。

可订阅数据

ScreenShareState 的字段描述如下:
属性名
类型
描述
screenStatus
StateFlow<DeviceStatus>
屏幕分享状态。
screenLastError

屏幕分享错误,用于出现报错时提取错误信息。

API 列表

函数名
描述
单例对象。
开启屏幕分享。
停止屏幕分享。
重置为默认状态。

获取实例

ScreenShareStore.shared

单例对象。

屏幕分享

startScreenShare

开启屏幕分享。
abstract fun startScreenShare()
版本信息
从3.5版本开始支持。

stopScreenShare

关闭屏幕采集。
abstract fun stopScreenShare()
版本信息
从3.5版本开始支持。

重置

reset

重置为默认状态。
abstract fun reset()
版本信息
从3.5版本开始支持。

数据结构

ScreenShareState

屏幕分享状态。
属性
类型
说明
screenStatus
StateFlow<DeviceStatus>
屏幕分享状态。
screenLastError

屏幕分享错误,用于出现报错时提取错误信息。

使用示例

// 获取单例实例
val store = ScreenShareStore.shared()
// 订阅状态变化
lifecycleScope.launch {
store.screenShareState.screenStatus.collect { status ->
println("屏幕分享状态: $status")
}
}
// 开启屏幕分享
store.startScreenShare()
// 停止屏幕分享
store.stopScreenShare()