- RevueSDK
- LocalParticipant
- isScreenSharing
Instance Property
isScreenSharing
螢幕分享「是否進行中」狀態 — 統一 In-app / Broadcast 兩模式的對上層訊號。
var isScreenSharing: Bool { get }Discussion
本專案兩模式都要一等公民,故新增此統一訊號。true/false 來源分模式(使用者定案):
開 (true): - In-app → capturer 首幀送出(RPScreenRecorder 第一個 frame,見 observeScreenShareFirstFrame)。in-app 無 Extension 事件可用。 - Broadcast → 原生 .broadcastStarted(Extension 啟動即 true,見 handleBroadcastStateChanged)。用它自己的事件、語意乾淨。 關 (false): - In-app → setScreenShare(false) 呼叫當下(停是同步、確定的)。 - Broadcast → 原生 .broadcastStopped(等 Extension 真的停)。UI 按鈕關 (requestStop)與點狀態列紅色同心圓兩條都走這條、收斂同一出口。
BroadcastManager 完全保留、不動 —— 它仍是 Broadcast 內部控制器(picker / requestStop / started/stopped 事件源)。此統一訊號只是把它與 in-app 首幀合流成 一個對上層的出口,讓上層(Plugin/Bloc)不必判模式。