fcr-ui-scene 3.6.1 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -0,0 +1,274 @@
1
+ import { FcrConnectionState, FcrMediaSourceState } from 'fcr-core';
2
+ import { FcrUserInfo } from 'fcr-core/lib/type';
3
+ import { AgoraRtcWindowInfo } from 'fcr-core/lib/imports';
4
+ import { FcrUIDisplayCaptureSource } from '../modules/share-screen/types';
5
+ import { AudioProcessingChannel } from 'agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio';
6
+ import { AgoraRtcDisplayInfo, AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
7
+ import { CurrentShareBounds } from '../modules/control-bar/types';
8
+ import { FcrUIConnectionProvider } from '../providers/room-provider';
9
+ import { FcrLoopbackTrack, FcrScreenTrack } from 'fcr-core/lib/media-control/type';
10
+ import { FcrUIDeviceProvider } from '../providers/device-provider';
11
+ export interface FcrUIScreenShareSharedDataSource {
12
+ /**
13
+ * 获取当前屏幕共享的媒体流状态
14
+ * @returns 当前屏幕共享的媒体流状态,枚举类型 FcrMediaSourceState
15
+ */
16
+ get screenSharingState(): FcrMediaSourceState;
17
+ /**
18
+ * 获取可用于应用窗口捕获的源列表
19
+ * @returns 本地用户可用于应用窗口捕获的源列表,每个元素包含窗口信息
20
+ */
21
+ get applicationCaptureSources(): AgoraRtcWindowInfo[];
22
+ /**
23
+ * 获取可用于屏幕捕获的源列表
24
+ * @returns 本地用户可用于屏幕捕获的源列表,每个元素包含显示设备信息
25
+ */
26
+ get screenCaptureSources(): FcrUIDisplayCaptureSource[];
27
+ /**
28
+ * 获取当前屏幕共享的音频处理声道模式
29
+ * @returns 当前设置的音频声道模式:MONO(单声道)或 STEREO(立体声)
30
+ */
31
+ get currentShareAudioProcessingChannel(): AudioProcessingChannel;
32
+ /**
33
+ * 获取当前选中的共享内容标识符
34
+ * @returns 当前选中的共享内容唯一标识符(如窗口ID或屏幕ID)
35
+ */
36
+ get currentSelectionId(): string;
37
+ /**
38
+ * 获取当前选中的共享内容类型
39
+ * @returns 当前选中的共享内容类型:SCREEN(1) 表示整个屏幕,WINDOW(2) 表示应用窗口
40
+ */
41
+ get currentSelectionType(): AgoraRtcScreenCaptureType;
42
+ /**
43
+ * 检查当前屏幕共享是否包含音频
44
+ * @returns 如果屏幕共享包含音频流则返回 true,否则返回 false
45
+ */
46
+ get shareWithAudio(): boolean;
47
+ /**
48
+ * 获取当前选中的共享区域边界信息
49
+ * @returns 当前选中的共享区域的位置和尺寸信息
50
+ */
51
+ get currentSelectionBounds(): CurrentShareBounds;
52
+ /**
53
+ * 获取当前屏幕共享的连接状态
54
+ * @returns 当前屏幕共享的连接状态,枚举类型 FcrConnectionState
55
+ */
56
+ get connectionState(): FcrConnectionState;
57
+ /**
58
+ * 获取当前屏幕共享会话的唯一标识符
59
+ * @returns 当前屏幕共享会话的唯一标识符
60
+ */
61
+ get currentShareId(): string;
62
+ /**
63
+ * 获取当前屏幕共享内容的类型
64
+ * @returns 当前屏幕共享内容的类型:SCREEN(1) 或 WINDOW(2)
65
+ */
66
+ get currentShareType(): AgoraRtcScreenCaptureType;
67
+ /**
68
+ * 获取当前屏幕共享流的唯一标识符
69
+ * @returns 当前屏幕共享流的唯一标识符
70
+ */
71
+ get currentShareStreamId(): string;
72
+ /**
73
+ * 获取当前屏幕共享的媒体轨道对象
74
+ * @returns 当前屏幕共享的媒体轨道对象,如果未开始共享则返回 null
75
+ */
76
+ get screenTrack(): FcrScreenTrack | null;
77
+ /**
78
+ * 异步获取可用的应用窗口列表
79
+ * @returns 返回一个 Promise,解析为可用的应用窗口信息列表
80
+ */
81
+ get appWindowList(): Promise<AgoraRtcWindowInfo[]>;
82
+ /**
83
+ * 异步获取可用的显示设备列表
84
+ * @returns 返回一个 Promise,解析为可用的显示设备信息列表
85
+ */
86
+ get displayList(): Promise<AgoraRtcDisplayInfo[]>;
87
+ /**
88
+ * 获取当前环路back音频源的标识符, 用于设置屏幕共享开启共享音频时的音频源
89
+ * @returns 当前环路back音频源的唯一标识符
90
+ */
91
+ get loopbackAudioSourceId(): string;
92
+ /**
93
+ * 获取当前屏幕共享的音频轨道对象
94
+ * @returns 当前屏幕共享的音频轨道对象,如果未共享音频则返回 null
95
+ */
96
+ get shareWithAudioTrack(): FcrLoopbackTrack | null;
97
+ /**
98
+ * 检查当前是否处于替换屏幕共享状态
99
+ * @returns 如果正在替换屏幕共享内容则返回 true,否则返回 false
100
+ */
101
+ get isReplaceScreen(): boolean;
102
+ /**
103
+ * 检查当前是否处于抢占屏幕共享状态
104
+ * @returns 如果正在抢占屏幕共享内容则返回 true,否则返回 false
105
+ */
106
+ get isSeizeStream(): boolean;
107
+ /**
108
+ * 检查当前是否正在进行屏幕共享
109
+ * @returns 如果有用户正在进行屏幕共享则返回 true,否则返回 false
110
+ */
111
+ get isSharingScreen(): boolean;
112
+ /**
113
+ * 获取当前屏幕共享的所有者信息
114
+ * @returns 当前屏幕共享的所有者用户信息,如果没有正在进行的共享则返回 undefined
115
+ */
116
+ get screenSharingOwner(): FcrUserInfo | undefined;
117
+ setIsSeizeStream(seize: boolean): void;
118
+ /**
119
+ * 设置当前是否正在进行屏幕共享的状态
120
+ * @param isSharing - 布尔值,表示是否正在进行屏幕共享
121
+ */
122
+ setIsSharingScreen(isSharing: boolean): void;
123
+ /**
124
+ * 设置当前是否处于替换屏幕共享内容的状态
125
+ * @param isReplace - 布尔值,表示是否正在替换屏幕共享内容
126
+ */
127
+ setIsReplaceScreen(isReplace: boolean): void;
128
+ /**
129
+ * 设置当前屏幕共享的所有者信息
130
+ * @param owner - 用户信息对象,表示屏幕共享的所有者,传入 undefined 表示停止共享
131
+ */
132
+ setScreenSharingOwner(owner: FcrUserInfo | undefined): void;
133
+ /**
134
+ * 设置当前屏幕共享的音频轨道
135
+ * @param shareAudioTrack - 音频轨道对象,表示屏幕共享的音频轨道,传入 null 表示不共享音频
136
+ */
137
+ setShareWithAudioTrack(shareWithAudioTrack: FcrLoopbackTrack | null): void;
138
+ /**
139
+ * 设置当前环路back音频源的标识符
140
+ * @param sourceId - 音频源的唯一标识符
141
+ */
142
+ setLoopbackAudioSourceId(sourceId: string): void;
143
+ /**
144
+ * 设置当前屏幕共享的媒体轨道
145
+ * @param screenTrack - 屏幕共享的媒体轨道对象,传入 null 表示停止共享屏幕
146
+ */
147
+ setScreenTrack(screenTrack: FcrScreenTrack | null): void;
148
+ /**
149
+ * 设置当前屏幕共享会话的唯一标识符
150
+ * @param id - 屏幕共享会话的唯一标识符
151
+ */
152
+ setCurrentShareId(id: string): void;
153
+ /**
154
+ * 设置当前屏幕共享内容的类型
155
+ * @param type - 屏幕共享内容的类型:SCREEN(1) 或 WINDOW(2)
156
+ */
157
+ setCurrentShareType(type: AgoraRtcScreenCaptureType): void;
158
+ /**
159
+ * 设置当前屏幕共享流的唯一标识符
160
+ * @param streamId - 屏幕共享流的唯一标识符
161
+ */
162
+ setCurrentShareStreamId(streamId: string): void;
163
+ /**
164
+ * 设置屏幕共享是否包含音频
165
+ * @param status - 布尔值,表示是否在屏幕共享中包含音频
166
+ */
167
+ setShareWithAudio(status: boolean): void;
168
+ /**
169
+ * 设置当前选中的共享内容标识符
170
+ * @param id - 共享内容的唯一标识符(如窗口ID或屏幕ID)
171
+ */
172
+ setCurrentSelectionId(id: string): void;
173
+ /**
174
+ * 设置当前选中的共享内容类型
175
+ * @param type - 共享内容的类型:SCREEN(1) 或 WINDOW(2)
176
+ */
177
+ setCurrentSelectionType(type: AgoraRtcScreenCaptureType): void;
178
+ /**
179
+ * 设置当前选中的共享区域边界信息
180
+ * @param bounds - 共享区域的位置和尺寸信息
181
+ */
182
+ setCurrentSelectionBounds(bounds: CurrentShareBounds): void;
183
+ /**
184
+ * 一次性设置当前选中的共享内容信息
185
+ * @param id - 共享内容的唯一标识符
186
+ * @param type - 共享内容的类型
187
+ * @param bounds - 共享区域的边界信息
188
+ */
189
+ setCurrentSelection(id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
190
+ /**
191
+ * 设置当前屏幕共享的完整信息
192
+ * @param id - 共享会话的唯一标识符
193
+ * @param type - 共享内容的类型
194
+ * @param bounds - 共享区域的边界信息
195
+ */
196
+ setCurrentShareIdInfos(id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
197
+ /**
198
+ * 设置当前屏幕共享的媒体流状态
199
+ * @param state - 屏幕共享的媒体流状态,枚举类型 FcrMediaSourceState
200
+ */
201
+ setScreenSharingState(state: FcrMediaSourceState): void;
202
+ /**
203
+ * 设置可用的应用窗口捕获源列表
204
+ * @param windowInfos - 应用窗口信息列表
205
+ */
206
+ setApplicationCaptureSources(windowInfos: AgoraRtcWindowInfo[]): void;
207
+ /**
208
+ * 设置可用的屏幕捕获源列表
209
+ * @param sources - 屏幕捕获源信息列表
210
+ */
211
+ setScreenCaptureSources(sources: FcrUIDisplayCaptureSource[]): void;
212
+ /**
213
+ * 设置当前屏幕共享的音频处理声道模式
214
+ * @param channel - 音频声道模式:MONO(单声道)或 STEREO(立体声)
215
+ */
216
+ setCurrentShareAudioProcessingChannel(channel: AudioProcessingChannel): void;
217
+ /**
218
+ * 释放屏幕共享相关资源
219
+ * 清理所有订阅和资源,通常在组件卸载时调用
220
+ */
221
+ release(): void;
222
+ }
223
+ export declare class FcrUIScreenShareSharedDataSourceImpl implements FcrUIScreenShareSharedDataSource {
224
+ private _connectionProvider;
225
+ private _deviceProvider;
226
+ protected logger: import("agora-foundation/lib/logger").Logger;
227
+ private _disposers;
228
+ private _connectionObserver;
229
+ accessor isSharingScreen: boolean;
230
+ accessor screenSharingOwner: FcrUserInfo | undefined;
231
+ accessor screenSharingState: FcrMediaSourceState;
232
+ accessor applicationCaptureSources: AgoraRtcWindowInfo[];
233
+ accessor screenCaptureSources: FcrUIDisplayCaptureSource[];
234
+ accessor currentShareAudioProcessingChannel: AudioProcessingChannel;
235
+ accessor currentSelectionId: string;
236
+ accessor currentSelectionType: AgoraRtcScreenCaptureType;
237
+ accessor shareWithAudio: boolean;
238
+ accessor boardOwnerUser: FcrUserInfo | undefined;
239
+ accessor currentSelectionBounds: CurrentShareBounds;
240
+ accessor connectionState: FcrConnectionState;
241
+ accessor isReplaceScreen: boolean;
242
+ accessor isSeizeStream: boolean;
243
+ screenTrack: FcrScreenTrack | null;
244
+ shareWithAudioTrack: FcrLoopbackTrack | null;
245
+ currentShareId: string;
246
+ currentShareType: AgoraRtcScreenCaptureType;
247
+ currentShareStreamId: string;
248
+ loopbackAudioSourceId: string;
249
+ get appWindowList(): Promise<AgoraRtcWindowInfo[]>;
250
+ get displayList(): Promise<AgoraRtcDisplayInfo[]>;
251
+ constructor(_connectionProvider: FcrUIConnectionProvider, _deviceProvider: FcrUIDeviceProvider);
252
+ setIsSeizeStream(seized: boolean): void;
253
+ setIsReplaceScreen(isReplace: boolean): void;
254
+ setIsSharingScreen(isSharing: boolean): void;
255
+ setScreenSharingOwner(owner: FcrUserInfo | undefined): void;
256
+ setShareWithAudioTrack(shareWithAudioTrack: FcrLoopbackTrack | null): void;
257
+ setLoopbackAudioSourceId(sourceId: string): void;
258
+ setScreenTrack(screenTrack: FcrScreenTrack | null): void;
259
+ setCurrentShareType(type: AgoraRtcScreenCaptureType): void;
260
+ setCurrentShareId(id: string): void;
261
+ setCurrentShareStreamId(streamId: string): void;
262
+ setCurrentShareAudioProcessingChannel(channel: AudioProcessingChannel): void;
263
+ setScreenCaptureSources(sources: FcrUIDisplayCaptureSource[]): void;
264
+ setApplicationCaptureSources(windowInfos: AgoraRtcWindowInfo[]): void;
265
+ setScreenSharingState(state: FcrMediaSourceState): void;
266
+ setCurrentShareIdInfos(currentShareId: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
267
+ setCurrentSelection(id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
268
+ setCurrentSelectionId(id: string): void;
269
+ setCurrentSelectionType(type: AgoraRtcScreenCaptureType): void;
270
+ setCurrentSelectionBounds(bounds: CurrentShareBounds): void;
271
+ setShareWithAudio(withAudio: boolean): void;
272
+ release(): void;
273
+ private _handleOnConnectionStateUpdated;
274
+ }
@@ -0,0 +1,390 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
15
+ require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/esnext.function.metadata.js");
18
+ require("core-js/modules/esnext.map.delete-all.js");
19
+ require("core-js/modules/esnext.map.emplace.js");
20
+ require("core-js/modules/esnext.map.every.js");
21
+ require("core-js/modules/esnext.map.filter.js");
22
+ require("core-js/modules/esnext.map.find.js");
23
+ require("core-js/modules/esnext.map.find-key.js");
24
+ require("core-js/modules/esnext.map.includes.js");
25
+ require("core-js/modules/esnext.map.key-of.js");
26
+ require("core-js/modules/esnext.map.map-keys.js");
27
+ require("core-js/modules/esnext.map.map-values.js");
28
+ require("core-js/modules/esnext.map.merge.js");
29
+ require("core-js/modules/esnext.map.reduce.js");
30
+ require("core-js/modules/esnext.map.some.js");
31
+ require("core-js/modules/esnext.map.update.js");
32
+ require("core-js/modules/esnext.symbol.metadata.js");
33
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
34
+ var _typeof = require("@babel/runtime/helpers/typeof");
35
+ Object.defineProperty(exports, "__esModule", {
36
+ value: true
37
+ });
38
+ exports.FcrUIScreenShareSharedDataSourceImpl = void 0;
39
+ require("core-js/modules/es.array.for-each.js");
40
+ require("core-js/modules/es.array.iterator.js");
41
+ require("core-js/modules/es.function.bind.js");
42
+ require("core-js/modules/es.object.to-string.js");
43
+ require("core-js/modules/es.string.iterator.js");
44
+ require("core-js/modules/es.weak-map.js");
45
+ require("core-js/modules/esnext.async-iterator.for-each.js");
46
+ require("core-js/modules/esnext.iterator.constructor.js");
47
+ require("core-js/modules/esnext.iterator.for-each.js");
48
+ require("core-js/modules/esnext.weak-map.delete-all.js");
49
+ require("core-js/modules/esnext.weak-map.emplace.js");
50
+ require("core-js/modules/web.dom-collections.for-each.js");
51
+ require("core-js/modules/web.dom-collections.iterator.js");
52
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
53
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
54
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
55
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
56
+ var _mobx = require("mobx");
57
+ var _fcrCore = require("fcr-core");
58
+ var _base = require("../base");
59
+ var _logger = require("../utilities/logger");
60
+ var _shareAudio = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio");
61
+ var _type = require("agora-rte-sdk/lib/core/rtc/type");
62
+ var _env = require("agora-foundation/lib/utilities/env");
63
+ var _FcrUIScreenShareSharedDataSourceImpl;
64
+ var _initProto, _init_isSharingScreen, _init_screenSharingOwner, _init_screenSharingState, _init_applicationCaptureSources, _init_screenCaptureSources, _init_currentShareAudioProcessingChannel, _init_currentSelectionId, _init_currentSelectionType, _init_shareWithAudio, _init_boardOwnerUser, _init_currentSelectionBounds, _init_connectionState, _init_isReplaceScreen, _init_isSeizeStream, _setIsSeizeStreamDecs, _setIsReplaceScreenDecs, _setIsSharingScreenDecs, _setScreenSharingOwnerDecs, _setShareWithAudioTrackDecs, _setLoopbackAudioSourceIdDecs, _setScreenTrackDecs, _setCurrentShareTypeDecs, _setCurrentShareIdDecs, _setCurrentShareStreamIdDecs, _setCurrentShareAudioProcessingChannelDecs, _setScreenCaptureSourcesDecs, _setApplicationCaptureSourcesDecs, _setScreenSharingStateDecs, _setCurrentShareIdInfosDecs, _setCurrentSelectionDecs, _setCurrentSelectionIdDecs, _setCurrentSelectionTypeDecs, _setCurrentSelectionBoundsDecs, _setShareWithAudioDecs, _handleOnConnectionStateUpdatedDecs, _ref;
65
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
66
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
67
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
68
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
69
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
70
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
71
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
72
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
73
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
74
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
75
+ var _A = /*#__PURE__*/new WeakMap();
76
+ var _B = /*#__PURE__*/new WeakMap();
77
+ var _C = /*#__PURE__*/new WeakMap();
78
+ var _D = /*#__PURE__*/new WeakMap();
79
+ var _E = /*#__PURE__*/new WeakMap();
80
+ var _F = /*#__PURE__*/new WeakMap();
81
+ var _G = /*#__PURE__*/new WeakMap();
82
+ var _H = /*#__PURE__*/new WeakMap();
83
+ var _I = /*#__PURE__*/new WeakMap();
84
+ var _J = /*#__PURE__*/new WeakMap();
85
+ var _K = /*#__PURE__*/new WeakMap();
86
+ var _L = /*#__PURE__*/new WeakMap();
87
+ var _M = /*#__PURE__*/new WeakMap();
88
+ var _N = /*#__PURE__*/new WeakMap();
89
+ _ref = (_setIsSeizeStreamDecs = [_mobx.action, _mobx.action.bound], _setIsReplaceScreenDecs = [_mobx.action, _mobx.action.bound], _setIsSharingScreenDecs = [_mobx.action, _mobx.action.bound], _setScreenSharingOwnerDecs = [_mobx.action, _mobx.action.bound], _setShareWithAudioTrackDecs = [_mobx.action, _mobx.action.bound], _setLoopbackAudioSourceIdDecs = [_mobx.action, _mobx.action.bound], _setScreenTrackDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareTypeDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareIdDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareStreamIdDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareAudioProcessingChannelDecs = [_mobx.action, _mobx.action.bound], _setScreenCaptureSourcesDecs = [_mobx.action, _mobx.action.bound], _setApplicationCaptureSourcesDecs = [_mobx.action, _mobx.action.bound], _setScreenSharingStateDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareIdInfosDecs = [_mobx.action, _mobx.action.bound], _setCurrentSelectionDecs = [_mobx.action, _mobx.action.bound], _setCurrentSelectionIdDecs = [_mobx.action, _mobx.action.bound], _setCurrentSelectionTypeDecs = [_mobx.action, _mobx.action.bound], _setCurrentSelectionBoundsDecs = [_mobx.action, _mobx.action.bound], _setShareWithAudioDecs = [_mobx.action, _mobx.action.bound], _handleOnConnectionStateUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
90
+ var FcrUIScreenShareSharedDataSourceImpl = exports.FcrUIScreenShareSharedDataSourceImpl = /*#__PURE__*/function () {
91
+ function FcrUIScreenShareSharedDataSourceImpl(_connectionProvider, _deviceProvider) {
92
+ (0, _classCallCheck2["default"])(this, FcrUIScreenShareSharedDataSourceImpl);
93
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
94
+ prefix: 'FcrUIScreenShareSharedDataSourceImpl'
95
+ })));
96
+ (0, _defineProperty2["default"])(this, "_disposers", []);
97
+ (0, _defineProperty2["default"])(this, "_connectionObserver", {
98
+ onConnectionStateUpdated: this._handleOnConnectionStateUpdated.bind(this)
99
+ });
100
+ _classPrivateFieldInitSpec(this, _A, _init_isSharingScreen(this, false));
101
+ _classPrivateFieldInitSpec(this, _B, _init_screenSharingOwner(this));
102
+ _classPrivateFieldInitSpec(this, _C, _init_screenSharingState(this, _fcrCore.FcrMediaSourceState.CLOSE));
103
+ _classPrivateFieldInitSpec(this, _D, _init_applicationCaptureSources(this, []));
104
+ _classPrivateFieldInitSpec(this, _E, _init_screenCaptureSources(this, []));
105
+ _classPrivateFieldInitSpec(this, _F, _init_currentShareAudioProcessingChannel(this, _shareAudio.AudioProcessingChannel.MONO));
106
+ _classPrivateFieldInitSpec(this, _G, _init_currentSelectionId(this, (0, _env.isElectron)() ? '' : 'default'));
107
+ _classPrivateFieldInitSpec(this, _H, _init_currentSelectionType(this, _type.AgoraRtcScreenCaptureType.WINDOW));
108
+ _classPrivateFieldInitSpec(this, _I, _init_shareWithAudio(this, !(0, _env.isElectron)()));
109
+ // electron 默认 false,web 默认 true
110
+ _classPrivateFieldInitSpec(this, _J, _init_boardOwnerUser(this, undefined));
111
+ _classPrivateFieldInitSpec(this, _K, _init_currentSelectionBounds(this, {
112
+ x: 0,
113
+ y: 0,
114
+ width: 0,
115
+ height: 0
116
+ }));
117
+ _classPrivateFieldInitSpec(this, _L, _init_connectionState(this, _fcrCore.FcrConnectionState.CONNECTED));
118
+ _classPrivateFieldInitSpec(this, _M, _init_isReplaceScreen(this, false));
119
+ _classPrivateFieldInitSpec(this, _N, _init_isSeizeStream(this, false));
120
+ (0, _defineProperty2["default"])(this, "screenTrack", null);
121
+ (0, _defineProperty2["default"])(this, "shareWithAudioTrack", null);
122
+ (0, _defineProperty2["default"])(this, "currentShareId", '');
123
+ (0, _defineProperty2["default"])(this, "currentShareType", _type.AgoraRtcScreenCaptureType.SCREEN);
124
+ (0, _defineProperty2["default"])(this, "currentShareStreamId", '');
125
+ (0, _defineProperty2["default"])(this, "loopbackAudioSourceId", (0, _env.getPlatform)() === _env.FcrApplicationPlatform.MACOS && (0, _env.isElectron)() ? 'AgoraALD' : (0, _env.isElectron)() ? '' : 'default');
126
+ this._connectionProvider = _connectionProvider;
127
+ this._deviceProvider = _deviceProvider;
128
+ this._connectionProvider.addObserver(this._connectionObserver);
129
+ }
130
+ return (0, _createClass2["default"])(FcrUIScreenShareSharedDataSourceImpl, [{
131
+ key: "isSharingScreen",
132
+ get: function get() {
133
+ return _classPrivateFieldGet(_A, this);
134
+ },
135
+ set: function set(v) {
136
+ _classPrivateFieldSet(_A, this, v);
137
+ }
138
+ }, {
139
+ key: "screenSharingOwner",
140
+ get: function get() {
141
+ return _classPrivateFieldGet(_B, this);
142
+ },
143
+ set: function set(v) {
144
+ _classPrivateFieldSet(_B, this, v);
145
+ }
146
+ }, {
147
+ key: "screenSharingState",
148
+ get: function get() {
149
+ return _classPrivateFieldGet(_C, this);
150
+ },
151
+ set: function set(v) {
152
+ _classPrivateFieldSet(_C, this, v);
153
+ }
154
+ }, {
155
+ key: "applicationCaptureSources",
156
+ get: function get() {
157
+ return _classPrivateFieldGet(_D, this);
158
+ },
159
+ set: function set(v) {
160
+ _classPrivateFieldSet(_D, this, v);
161
+ }
162
+ }, {
163
+ key: "screenCaptureSources",
164
+ get: function get() {
165
+ return _classPrivateFieldGet(_E, this);
166
+ },
167
+ set: function set(v) {
168
+ _classPrivateFieldSet(_E, this, v);
169
+ }
170
+ }, {
171
+ key: "currentShareAudioProcessingChannel",
172
+ get: function get() {
173
+ return _classPrivateFieldGet(_F, this);
174
+ },
175
+ set: function set(v) {
176
+ _classPrivateFieldSet(_F, this, v);
177
+ }
178
+ }, {
179
+ key: "currentSelectionId",
180
+ get: function get() {
181
+ return _classPrivateFieldGet(_G, this);
182
+ },
183
+ set: function set(v) {
184
+ _classPrivateFieldSet(_G, this, v);
185
+ }
186
+ }, {
187
+ key: "currentSelectionType",
188
+ get: function get() {
189
+ return _classPrivateFieldGet(_H, this);
190
+ },
191
+ set: function set(v) {
192
+ _classPrivateFieldSet(_H, this, v);
193
+ }
194
+ }, {
195
+ key: "shareWithAudio",
196
+ get: function get() {
197
+ return _classPrivateFieldGet(_I, this);
198
+ },
199
+ set: function set(v) {
200
+ _classPrivateFieldSet(_I, this, v);
201
+ }
202
+ }, {
203
+ key: "boardOwnerUser",
204
+ get: function get() {
205
+ return _classPrivateFieldGet(_J, this);
206
+ },
207
+ set: function set(v) {
208
+ _classPrivateFieldSet(_J, this, v);
209
+ }
210
+ }, {
211
+ key: "currentSelectionBounds",
212
+ get: function get() {
213
+ return _classPrivateFieldGet(_K, this);
214
+ },
215
+ set: function set(v) {
216
+ _classPrivateFieldSet(_K, this, v);
217
+ }
218
+ }, {
219
+ key: "connectionState",
220
+ get: function get() {
221
+ return _classPrivateFieldGet(_L, this);
222
+ },
223
+ set: function set(v) {
224
+ _classPrivateFieldSet(_L, this, v);
225
+ }
226
+ }, {
227
+ key: "isReplaceScreen",
228
+ get: function get() {
229
+ return _classPrivateFieldGet(_M, this);
230
+ },
231
+ set: function set(v) {
232
+ _classPrivateFieldSet(_M, this, v);
233
+ }
234
+ }, {
235
+ key: "isSeizeStream",
236
+ get: function get() {
237
+ return _classPrivateFieldGet(_N, this);
238
+ },
239
+ set: function set(v) {
240
+ _classPrivateFieldSet(_N, this, v);
241
+ }
242
+ }, {
243
+ key: "appWindowList",
244
+ get: function get() {
245
+ return this._deviceProvider.getWindowList();
246
+ }
247
+ }, {
248
+ key: "displayList",
249
+ get: function get() {
250
+ return this._deviceProvider.getDisplayList();
251
+ }
252
+ }, {
253
+ key: "setIsSeizeStream",
254
+ value: function setIsSeizeStream(seized) {
255
+ this.isSeizeStream = seized;
256
+ }
257
+ }, {
258
+ key: "setIsReplaceScreen",
259
+ value: function setIsReplaceScreen(isReplace) {
260
+ this.logger.info('[Annotation]: replaceScreenShare: ', isReplace);
261
+ this.isReplaceScreen = isReplace;
262
+ }
263
+ }, {
264
+ key: "setIsSharingScreen",
265
+ value: function setIsSharingScreen(isSharing) {
266
+ this.isSharingScreen = isSharing;
267
+ }
268
+ }, {
269
+ key: "setScreenSharingOwner",
270
+ value: function setScreenSharingOwner(owner) {
271
+ this.screenSharingOwner = owner;
272
+ }
273
+ }, {
274
+ key: "setShareWithAudioTrack",
275
+ value: function setShareWithAudioTrack(shareWithAudioTrack) {
276
+ this.shareWithAudioTrack = shareWithAudioTrack;
277
+ }
278
+ }, {
279
+ key: "setLoopbackAudioSourceId",
280
+ value: function setLoopbackAudioSourceId(sourceId) {
281
+ this.loopbackAudioSourceId = sourceId;
282
+ }
283
+ }, {
284
+ key: "setScreenTrack",
285
+ value: function setScreenTrack(screenTrack) {
286
+ this.screenTrack = screenTrack;
287
+ }
288
+ }, {
289
+ key: "setCurrentShareType",
290
+ value: function setCurrentShareType(type) {
291
+ this.currentShareType = type;
292
+ }
293
+ }, {
294
+ key: "setCurrentShareId",
295
+ value: function setCurrentShareId(id) {
296
+ this.currentShareId = id;
297
+ }
298
+ }, {
299
+ key: "setCurrentShareStreamId",
300
+ value: function setCurrentShareStreamId(streamId) {
301
+ this.currentShareStreamId = streamId;
302
+ }
303
+ }, {
304
+ key: "setCurrentShareAudioProcessingChannel",
305
+ value: function setCurrentShareAudioProcessingChannel(channel) {
306
+ this.currentShareAudioProcessingChannel = channel;
307
+ }
308
+ }, {
309
+ key: "setScreenCaptureSources",
310
+ value: function setScreenCaptureSources(sources) {
311
+ this.screenCaptureSources = sources;
312
+ }
313
+ }, {
314
+ key: "setApplicationCaptureSources",
315
+ value: function setApplicationCaptureSources(windowInfos) {
316
+ this.applicationCaptureSources = windowInfos;
317
+ }
318
+ }, {
319
+ key: "setScreenSharingState",
320
+ value: function setScreenSharingState(state) {
321
+ this.screenSharingState = state;
322
+ }
323
+ }, {
324
+ key: "setCurrentShareIdInfos",
325
+ value: function setCurrentShareIdInfos(currentShareId, type, bounds) {
326
+ this.currentShareId = currentShareId;
327
+ this.currentSelectionType = type;
328
+ this.currentSelectionBounds = bounds;
329
+ }
330
+ }, {
331
+ key: "setCurrentSelection",
332
+ value: function setCurrentSelection(id, type, bounds) {
333
+ this.currentSelectionId = id;
334
+ this.currentSelectionType = type;
335
+ this.currentSelectionBounds = bounds;
336
+ }
337
+ }, {
338
+ key: "setCurrentSelectionId",
339
+ value: function setCurrentSelectionId(id) {
340
+ this.currentSelectionId = id;
341
+ }
342
+ }, {
343
+ key: "setCurrentSelectionType",
344
+ value: function setCurrentSelectionType(type) {
345
+ this.currentSelectionType = type;
346
+ }
347
+ }, {
348
+ key: "setCurrentSelectionBounds",
349
+ value: function setCurrentSelectionBounds(bounds) {
350
+ this.currentSelectionBounds = bounds;
351
+ }
352
+ }, {
353
+ key: "setShareWithAudio",
354
+ value: function setShareWithAudio(withAudio) {
355
+ this.shareWithAudio = withAudio;
356
+ }
357
+ }, {
358
+ key: "release",
359
+ value: function release() {
360
+ this._disposers.forEach(function (disposer) {
361
+ return disposer();
362
+ });
363
+ this._disposers = [];
364
+ this._connectionProvider.removeObserver(this._connectionObserver);
365
+ }
366
+ }, {
367
+ key: "_handleOnConnectionStateUpdated",
368
+ value: function _handleOnConnectionStateUpdated(state) {
369
+ this.connectionState = state;
370
+ }
371
+ }]);
372
+ }();
373
+ _FcrUIScreenShareSharedDataSourceImpl = FcrUIScreenShareSharedDataSourceImpl;
374
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareSharedDataSourceImpl, [[_mobx.observable, 1, "isSharingScreen"], [_mobx.observable, 1, "screenSharingOwner"], [_mobx.observable, 1, "screenSharingState"], [_mobx.observable, 1, "applicationCaptureSources"], [_mobx.observable, 1, "screenCaptureSources"], [_mobx.observable, 1, "currentShareAudioProcessingChannel"], [_mobx.observable, 1, "currentSelectionId"], [_mobx.observable, 1, "currentSelectionType"], [_mobx.observable, 1, "shareWithAudio"], [_mobx.observable, 1, "boardOwnerUser"], [_mobx.observable, 1, "currentSelectionBounds"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "isReplaceScreen"], [_mobx.observable, 1, "isSeizeStream"], [_setIsSeizeStreamDecs, 18, "setIsSeizeStream"], [_setIsReplaceScreenDecs, 18, "setIsReplaceScreen"], [_setIsSharingScreenDecs, 18, "setIsSharingScreen"], [_setScreenSharingOwnerDecs, 18, "setScreenSharingOwner"], [_setShareWithAudioTrackDecs, 18, "setShareWithAudioTrack"], [_setLoopbackAudioSourceIdDecs, 18, "setLoopbackAudioSourceId"], [_setScreenTrackDecs, 18, "setScreenTrack"], [_setCurrentShareTypeDecs, 18, "setCurrentShareType"], [_setCurrentShareIdDecs, 18, "setCurrentShareId"], [_setCurrentShareStreamIdDecs, 18, "setCurrentShareStreamId"], [_setCurrentShareAudioProcessingChannelDecs, 18, "setCurrentShareAudioProcessingChannel"], [_setScreenCaptureSourcesDecs, 18, "setScreenCaptureSources"], [_setApplicationCaptureSourcesDecs, 18, "setApplicationCaptureSources"], [_setScreenSharingStateDecs, 18, "setScreenSharingState"], [_setCurrentShareIdInfosDecs, 18, "setCurrentShareIdInfos"], [_setCurrentSelectionDecs, 18, "setCurrentSelection"], [_setCurrentSelectionIdDecs, 18, "setCurrentSelectionId"], [_setCurrentSelectionTypeDecs, 18, "setCurrentSelectionType"], [_setCurrentSelectionBoundsDecs, 18, "setCurrentSelectionBounds"], [_setShareWithAudioDecs, 18, "setShareWithAudio"], [_handleOnConnectionStateUpdatedDecs, 18, "_handleOnConnectionStateUpdated"]], []).e, 15);
375
+ _init_isSharingScreen = _applyDecs$e[0];
376
+ _init_screenSharingOwner = _applyDecs$e[1];
377
+ _init_screenSharingState = _applyDecs$e[2];
378
+ _init_applicationCaptureSources = _applyDecs$e[3];
379
+ _init_screenCaptureSources = _applyDecs$e[4];
380
+ _init_currentShareAudioProcessingChannel = _applyDecs$e[5];
381
+ _init_currentSelectionId = _applyDecs$e[6];
382
+ _init_currentSelectionType = _applyDecs$e[7];
383
+ _init_shareWithAudio = _applyDecs$e[8];
384
+ _init_boardOwnerUser = _applyDecs$e[9];
385
+ _init_currentSelectionBounds = _applyDecs$e[10];
386
+ _init_connectionState = _applyDecs$e[11];
387
+ _init_isReplaceScreen = _applyDecs$e[12];
388
+ _init_isSeizeStream = _applyDecs$e[13];
389
+ _initProto = _applyDecs$e[14];
390
+ (0, _base.registerDependency)('sharedScreenShareSharedDataSource');