简介
ScreenShareStore 提供了一套完整的屏幕分享 API,包括移动端整屏分享,以及桌面端(Win/Mac)的屏幕 / 窗口源枚举与指定目标分享。重要:
请使用 ScreenShareStore.shared 单例获取
ScreenShareStore 实例。不要尝试直接初始化。说明:
屏幕分享状态更新通过 screenShareState 发布者传递。订阅它以接收屏幕分享状态的实时更新。
功能特性
屏幕分享:开启和停止屏幕分享,支持 iOS App Group 与桌面端采集属性配置。
采集源枚举:枚举可分享的屏幕与应用窗口,附缩略图与图标,用于构建源选择器 UI(仅桌面端)。
状态订阅:实时订阅屏幕分享状态变化。
可订阅数据
ScreenShareState 的字段描述如下:
属性名 | 类型 | 描述 |
screenStatus | 屏幕分享状态。 | |
screenLastError | | 屏幕分享错误,用于出现报错时提取错误信息。 |
API 列表
函数名 | 描述 |
单例对象。 | |
开启屏幕分享。 | |
停止屏幕分享。 | |
重置为默认状态。 |
获取实例
ScreenShareStore.shared
单例对象。
屏幕分享
startScreenShare
开启屏幕分享。
abstract fun startScreenShare()
版本信息
从3.5版本开始支持。
stopScreenShare
关闭屏幕采集。
abstract fun stopScreenShare()
版本信息
从3.5版本开始支持。
重置
reset
重置为默认状态。
abstract fun reset()
版本信息
从3.5版本开始支持。
数据结构
ScreenShareState
屏幕分享状态。
属性 | 类型 | 说明 |
screenStatus | 屏幕分享状态。 | |
screenLastError | | 屏幕分享错误,用于出现报错时提取错误信息。 |
使用示例
// 获取单例实例val store = ScreenShareStore.shared()// 订阅状态变化lifecycleScope.launch {store.screenShareState.screenStatus.collect { status ->println("屏幕分享状态: $status")}}// 开启屏幕分享store.startScreenShare()// 停止屏幕分享store.stopScreenShare()