fcr-ui-scene 3.7.6 → 3.7.7
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.
- package/installer/icons/icon.png +0 -0
- package/installer/mac/entitlements.mac.plist +1 -5
- package/lib/creator/index.js +12 -6
- package/lib/creator/provider-initializer.browser.js +0 -3
- package/lib/creator/provider-initializer.electron.js +0 -4
- package/lib/creator.d.ts +36 -0
- package/lib/creator.js +465 -0
- package/lib/electron/bootstrap-sdk.js +70 -20
- package/lib/electron/struct.d.ts +7 -1
- package/lib/electron/struct.js +8 -1
- package/lib/electron/until.d.ts +3 -1
- package/lib/electron/until.js +7 -2
- package/lib/modules/action-bar/components/item/index.js +1 -0
- package/lib/modules/action-bar/components/screen-share/submenu.js +1 -1
- package/lib/modules/action-bar/index.d.ts +58 -0
- package/lib/modules/action-bar/index.dev.d.ts +0 -0
- package/lib/modules/action-bar/index.dev.js +94 -0
- package/lib/modules/action-bar/index.js +109 -0
- package/lib/modules/action-bar/store.d.ts +259 -0
- package/lib/modules/action-bar/store.js +1529 -0
- package/lib/modules/action-bar/types.d.ts +90 -0
- package/lib/modules/action-bar/types.js +6 -0
- package/lib/modules/action-bar/view.d.ts +5 -0
- package/lib/modules/action-bar/view.js +112 -0
- package/lib/modules/annotation/annotation-index.d.ts +2 -0
- package/lib/modules/annotation/annotation-index.js +80 -0
- package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
- package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
- package/lib/modules/annotation/board-cursor.css +77 -0
- package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
- package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
- package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
- package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
- package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
- package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
- package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
- package/lib/modules/annotation/components/color-picker/index.js +47 -0
- package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
- package/lib/modules/annotation/components/eraser-picker.js +144 -0
- package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
- package/lib/modules/annotation/components/expansion/index.js +100 -0
- package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
- package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
- package/lib/modules/annotation/components/history.d.ts +2 -0
- package/lib/modules/annotation/components/history.js +78 -0
- package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
- package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
- package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
- package/lib/modules/annotation/components/icons/move-icon.js +66 -0
- package/lib/modules/annotation/components/item/index.d.ts +1 -0
- package/lib/modules/annotation/components/item/index.js +43 -0
- package/lib/modules/annotation/components/move-handle.d.ts +5 -0
- package/lib/modules/annotation/components/move-handle.js +134 -0
- package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
- package/lib/modules/annotation/components/pen-picker.js +155 -0
- package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
- package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
- package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
- package/lib/modules/annotation/components/shape-picker.js +210 -0
- package/lib/modules/annotation/hooks/index.d.ts +14 -0
- package/lib/modules/annotation/hooks/index.js +292 -0
- package/lib/modules/annotation/index.d.ts +45 -0
- package/lib/modules/annotation/index.js +168 -0
- package/lib/modules/annotation/store.d.ts +98 -0
- package/lib/modules/annotation/store.js +620 -0
- package/lib/modules/annotation/style.css +36 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +44 -0
- package/lib/modules/chat/index.css +5 -1
- package/lib/modules/chat/view.js +6 -1
- package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
- package/lib/modules/components/control-bar/index.js +26 -7
- package/lib/modules/components/device-control/store.d.ts +42 -0
- package/lib/modules/components/device-control/store.js +241 -0
- package/lib/modules/components/leave-meeting/store.d.ts +39 -0
- package/lib/modules/components/leave-meeting/store.js +270 -0
- package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
- package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
- package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
- package/lib/modules/components/toolbar/hooks/use-resize-visible.js +43 -42
- package/lib/modules/components/toolbar/index.js +6 -24
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
- package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
- package/lib/modules/control-bar/components/cloud-recording-buttons.js +65 -3
- package/lib/modules/control-bar/store.js +11 -6
- package/lib/modules/control-bar/types.d.ts +20 -0
- package/lib/modules/control-bar/types.js +6 -0
- package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
- package/lib/modules/dialog/components/dialog-container/index.css +1 -1
- package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
- package/lib/modules/dialog/components/dialog-container/index.js +4 -1
- package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
- package/lib/modules/dialog/components/normal-window/index.js +3 -1
- package/lib/modules/dialog/dialogs/chat/index.js +2 -1
- package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
- package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
- package/lib/modules/dialog/dialogs/participant/index.js +2 -1
- package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
- package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
- package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
- package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
- package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
- package/lib/modules/dialog/hooks/useElectron.js +277 -0
- package/lib/modules/dialog/store.d.ts +135 -0
- package/lib/modules/dialog/store.js +616 -0
- package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
- package/lib/modules/event-confirm/components/window/index.js +221 -0
- package/lib/modules/event-confirm/index.css +24 -0
- package/lib/modules/event-confirm/index.d.ts +27 -0
- package/lib/modules/event-confirm/index.js +76 -0
- package/lib/modules/event-confirm/store.d.ts +50 -0
- package/lib/modules/event-confirm/store.js +394 -0
- package/lib/modules/event-confirm/view.d.ts +2 -0
- package/lib/modules/event-confirm/view.js +55 -0
- package/lib/modules/event-toast/store.d.ts +27 -0
- package/lib/modules/event-toast/store.js +205 -0
- package/lib/modules/layout/store.d.ts +176 -0
- package/lib/modules/layout/store.electron.js +1 -1
- package/lib/modules/layout/store.js +1452 -0
- package/lib/modules/participant/store.d.ts +222 -0
- package/lib/modules/participant/store.js +1929 -0
- package/lib/modules/pc-audio-connect/index.d.ts +22 -0
- package/lib/modules/pc-audio-connect/index.js +67 -0
- package/lib/modules/pc-audio-connect/store.d.ts +46 -0
- package/lib/modules/pc-audio-connect/store.js +304 -0
- package/lib/modules/secondary-window/store.d.ts +0 -1
- package/lib/modules/secondary-window/store.js +9 -22
- package/lib/modules/secondary-window/view.js +6 -5
- package/lib/modules/setting/common/advance-link.d.ts +3 -0
- package/lib/modules/setting/common/advance-link.js +27 -0
- package/lib/modules/setting/common/index.css +26 -0
- package/lib/modules/setting/common/useNamespace.d.ts +15 -0
- package/lib/modules/setting/common/useNamespace.js +66 -0
- package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
- package/lib/modules/setting/dialog-wrapper.js +110 -0
- package/lib/modules/setting/index.css +0 -1
- package/lib/modules/setting/store.base.js +6 -0
- package/lib/modules/setting/store.d.ts +261 -0
- package/lib/modules/setting/store.js +1321 -0
- package/lib/modules/setting/view.js +0 -3
- package/lib/modules/share-screen/store.d.ts +148 -0
- package/lib/modules/share-screen/store.electron.js +1 -1
- package/lib/modules/share-screen/store.js +960 -0
- package/lib/modules/share-screen/types.d.ts +26 -0
- package/lib/modules/share-screen/types.js +6 -0
- package/lib/modules/state-bar/layout-config.js +6 -0
- package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
- package/lib/modules/state-bar/main-scene/store.base.js +6 -0
- package/lib/modules/state-bar/store.d.ts +124 -0
- package/lib/modules/state-bar/store.js +664 -0
- package/lib/modules/video-window/index.css +6 -0
- package/lib/modules/video-window/popover-watcher.d.ts +4 -1
- package/lib/modules/video-window/popover-watcher.js +15 -2
- package/lib/modules/video-window/store.d.ts +18 -1
- package/lib/modules/video-window/store.js +55 -7
- package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
- package/lib/modules/whiteboard/components/progress/electron.js +33 -0
- package/lib/modules/whiteboard/store.js +20 -2
- package/lib/modules/widget/store.d.ts +14 -0
- package/lib/modules/widget/store.js +28 -0
- package/lib/object-manager.d.ts +0 -1
- package/lib/object-manager.js +0 -1
- package/lib/providers/annotation-provider.d.ts +124 -0
- package/lib/providers/annotation-provider.js +369 -0
- package/lib/providers/board-share/bar-control/base.d.ts +1 -1
- package/lib/providers/board-share/bar-control/base.js +37 -28
- package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
- package/lib/providers/board-share/bar-control/electron.js +19 -16
- package/lib/providers/board-share/provider.browser.d.ts +3 -0
- package/lib/providers/board-share/provider.browser.js +21 -3
- package/lib/providers/device-provider.js +5 -1
- package/lib/providers/dialog/provider.electron.js +6 -0
- package/lib/providers/dialog-provider.d.ts +137 -0
- package/lib/providers/dialog-provider.js +194 -0
- package/lib/providers/message-provider.d.ts +69 -0
- package/lib/providers/message-provider.js +140 -0
- package/lib/providers/mouse-detect/provider.d.ts +5 -0
- package/lib/providers/mouse-detect/provider.js +74 -49
- package/lib/providers/multi-display-provider.d.ts +3 -5
- package/lib/providers/multi-display-provider.js +0 -9
- package/lib/providers/room-provider/room-provider.d.ts +3 -14
- package/lib/providers/room-provider/room-provider.js +5 -26
- package/lib/providers/room-provider.d.ts +194 -0
- package/lib/providers/room-provider.js +916 -0
- package/lib/providers/screen-share/stream-state-sync.js +19 -12
- package/lib/providers/screen-share-provider.d.ts +245 -0
- package/lib/providers/screen-share-provider.js +850 -0
- package/lib/providers/sharing-provider.d.ts +42 -0
- package/lib/providers/sharing-provider.js +228 -0
- package/lib/providers/user-setting-storage-provider.d.ts +21 -0
- package/lib/providers/user-setting-storage-provider.js +65 -0
- package/lib/providers/whiteboard-provider.d.ts +24 -0
- package/lib/providers/whiteboard-provider.js +128 -0
- package/lib/providers/window/main-window.d.ts +0 -5
- package/lib/providers/window/main-window.js +0 -44
- package/lib/providers/window/renderer-window.d.ts +1 -0
- package/lib/providers/window/renderer-window.js +9 -1
- package/lib/scenes/main-scene.js +0 -2
- package/lib/shared-data-source/annotation-data.d.ts +17 -0
- package/lib/shared-data-source/annotation-data.js +110 -0
- package/lib/shared-data-source/app-list-data.d.ts +34 -0
- package/lib/shared-data-source/app-list-data.js +133 -0
- package/lib/shared-data-source/chat-data.d.ts +25 -0
- package/lib/shared-data-source/chat-data.js +139 -0
- package/lib/shared-data-source/config.d.ts +35 -0
- package/lib/shared-data-source/config.js +40 -0
- package/lib/shared-data-source/confirm-data.d.ts +44 -0
- package/lib/shared-data-source/confirm-data.js +201 -0
- package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
- package/lib/shared-data-source/device-privilege-data.js +25 -0
- package/lib/shared-data-source/interpreter.d.ts +77 -0
- package/lib/shared-data-source/interpreter.js +247 -0
- package/lib/shared-data-source/layout-data.d.ts +31 -0
- package/lib/shared-data-source/layout-data.js +189 -0
- package/lib/shared-data-source/meeting-time.d.ts +90 -0
- package/lib/shared-data-source/meeting-time.js +416 -0
- package/lib/shared-data-source/member-data.d.ts +139 -0
- package/lib/shared-data-source/member-data.js +517 -0
- package/lib/shared-data-source/pin-data.d.ts +13 -0
- package/lib/shared-data-source/pin-data.js +111 -0
- package/lib/shared-data-source/screen-share-data.d.ts +357 -0
- package/lib/shared-data-source/screen-share-data.js +513 -0
- package/lib/shared-data-source/security-data.d.ts +39 -0
- package/lib/shared-data-source/security-data.js +156 -0
- package/lib/shared-data-source/setting.d.ts +67 -0
- package/lib/shared-data-source/setting.js +220 -0
- package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
- package/lib/shared-data-source/speaker-spotlight.js +15 -0
- package/lib/shared-data-source/video-window.d.ts +165 -0
- package/lib/shared-data-source/video-window.js +1266 -0
- package/lib/shared-data-source/waiting-room.d.ts +46 -0
- package/lib/shared-data-source/waiting-room.js +222 -0
- package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
- package/lib/{providers/board-share/bar-control.js → shared-data-source/whiteboard-data.js} +62 -104
- package/lib/ui-scene.js +4 -2
- package/lib/utilities/board-context.d.ts +4 -0
- package/lib/utilities/board-context.js +12 -0
- package/lib/utilities/copyText.d.ts +2 -0
- package/lib/utilities/copyText.js +48 -0
- package/lib/utilities/renderer-event.d.ts +10 -0
- package/lib/utilities/renderer-event.js +95 -0
- package/lib/utilities/screen-capture-permission.d.ts +2 -0
- package/lib/utilities/screen-capture-permission.js +24 -0
- package/lib/utilities/screen.d.ts +3 -0
- package/lib/utilities/screen.js +53 -0
- package/lib/utilities/video-track-render-context.d.ts +6 -0
- package/lib/utilities/video-track-render-context.js +9 -0
- package/lib/waiting-room-control-manager.d.ts +28 -0
- package/lib/waiting-room-control-manager.js +230 -0
- package/package.json +5 -5
- package/public/index.html +22 -1
- package/lib/providers/board-share/bar-control.d.ts +0 -51
|
@@ -115,7 +115,7 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
|
|
|
115
115
|
return _context2.abrupt("return");
|
|
116
116
|
case 1:
|
|
117
117
|
if (!true) {
|
|
118
|
-
_context2.next =
|
|
118
|
+
_context2.next = 9;
|
|
119
119
|
break;
|
|
120
120
|
}
|
|
121
121
|
if (!this._released) {
|
|
@@ -128,34 +128,41 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
|
|
|
128
128
|
_context2.next = 3;
|
|
129
129
|
return this._sharingControl.stop();
|
|
130
130
|
case 3:
|
|
131
|
-
return _context2.abrupt("continue",
|
|
131
|
+
return _context2.abrupt("continue", 9);
|
|
132
132
|
case 4:
|
|
133
133
|
_context2.prev = 4;
|
|
134
134
|
_t2 = _context2["catch"](2);
|
|
135
|
+
if (!(_t2 instanceof _type.FcrError && _t2.code === 720404300)) {
|
|
136
|
+
_context2.next = 5;
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
this.logger.error("the screen share stream does not exist,");
|
|
140
|
+
return _context2.abrupt("continue", 9);
|
|
141
|
+
case 5:
|
|
135
142
|
this.logger.error("failed to stop screen share stream, error: ".concat(_t2, ", retry in 1000ms"), _t2);
|
|
136
|
-
_context2.next =
|
|
143
|
+
_context2.next = 6;
|
|
137
144
|
return new Promise(function (resolve) {
|
|
138
145
|
return setTimeout(resolve, 1000);
|
|
139
146
|
});
|
|
140
|
-
case
|
|
141
|
-
_context2.prev =
|
|
147
|
+
case 6:
|
|
148
|
+
_context2.prev = 6;
|
|
142
149
|
if (this._myCurrentScreenShareStreamId) {
|
|
143
|
-
_context2.next =
|
|
150
|
+
_context2.next = 7;
|
|
144
151
|
break;
|
|
145
152
|
}
|
|
146
|
-
return _context2.abrupt("continue",
|
|
147
|
-
case 6:
|
|
148
|
-
return _context2.finish(5);
|
|
153
|
+
return _context2.abrupt("continue", 9);
|
|
149
154
|
case 7:
|
|
155
|
+
return _context2.finish(6);
|
|
156
|
+
case 8:
|
|
150
157
|
_context2.next = 1;
|
|
151
158
|
break;
|
|
152
|
-
case 8:
|
|
153
|
-
this._myCurrentScreenShareStreamId = null;
|
|
154
159
|
case 9:
|
|
160
|
+
this._myCurrentScreenShareStreamId = null;
|
|
161
|
+
case 10:
|
|
155
162
|
case "end":
|
|
156
163
|
return _context2.stop();
|
|
157
164
|
}
|
|
158
|
-
}, _callee2, this, [[2, 4,
|
|
165
|
+
}, _callee2, this, [[2, 4, 6, 8]]);
|
|
159
166
|
}));
|
|
160
167
|
function stopScreenStream() {
|
|
161
168
|
return _stopScreenStream.apply(this, arguments);
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { FcrUIDeviceProvider } from './device-provider';
|
|
2
|
+
import { FcrUIRoomProvider } from './room-provider';
|
|
3
|
+
import { FcrScreenScenarioType } from 'fcr-core/lib/imports';
|
|
4
|
+
import { FcrScreenTrack } from 'fcr-core/lib/media-control/type';
|
|
5
|
+
import { FcrScreenCaptureType } from 'fcr-core/lib/type';
|
|
6
|
+
import { FcrUISharingProvider } from './sharing-provider';
|
|
7
|
+
import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
|
|
8
|
+
import { FcrUIEventProvider } from './event-provider';
|
|
9
|
+
import { FcrUIMemberSharedDataSourceImpl } from '../shared-data-source/member-data';
|
|
10
|
+
import { CurrentShareBounds } from '../modules/control-bar/types';
|
|
11
|
+
import { FcrUserInfo } from 'fcr-core/lib/type';
|
|
12
|
+
import { FcrUIPrivilegeProvider } from './privilege-provider';
|
|
13
|
+
export interface FcrUIScreenShareObserver {
|
|
14
|
+
/**
|
|
15
|
+
* 本地屏幕开启采集
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
onScreenCaptureStarted?: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* 本地屏幕停止采集
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
onScreenCaptureStopped?: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* 本地屏幕替换开始
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
onScreenShareReplaceBegin?: (id: string, type: FcrScreenCaptureType, bounds: CurrentShareBounds) => void;
|
|
29
|
+
/**
|
|
30
|
+
* 本地屏幕替换开始
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
onScreenShareSeize?: () => void;
|
|
34
|
+
}
|
|
35
|
+
export interface FcrUIScreenShareProvider {
|
|
36
|
+
/**
|
|
37
|
+
* 获取当前屏幕共享是否被锁定
|
|
38
|
+
* @returns 如果屏幕共享被锁定(仅允许特定用户共享)返回 true,否则返回 false
|
|
39
|
+
*/
|
|
40
|
+
get shareLock(): boolean;
|
|
41
|
+
/** 获取当前屏幕共享是否已等比缩放
|
|
42
|
+
* @returns 返回 true,否则返回 false
|
|
43
|
+
*/
|
|
44
|
+
get isAspectRatioPreserved(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* 获取正在屏幕共享的用户
|
|
47
|
+
* @returns FcrUserInfo
|
|
48
|
+
*/
|
|
49
|
+
get currentScreenSharingOwner(): FcrUserInfo | null;
|
|
50
|
+
/**
|
|
51
|
+
* 判断正在屏幕共享的用户是否是当前用户
|
|
52
|
+
* @returns FcrUserInfo
|
|
53
|
+
*/
|
|
54
|
+
get currentScreenSharingOwnerIsMySelf(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 设置单词屏幕共享的流程状态
|
|
57
|
+
* @param isInReplace - 布尔值,true 表示开始,false 表示已结束
|
|
58
|
+
*/
|
|
59
|
+
setSharingInReplace(isInReplace: boolean): void;
|
|
60
|
+
/**
|
|
61
|
+
* 设置屏幕共享锁定状态
|
|
62
|
+
* @param lock - 布尔值,true 表示锁定屏幕共享(仅允许特定用户共享),false 表示解锁
|
|
63
|
+
*/
|
|
64
|
+
setShareLock(lock: boolean): void;
|
|
65
|
+
/**
|
|
66
|
+
* 根据指定的选择ID创建屏幕共享流
|
|
67
|
+
* @param selectionId - 要共享的内容ID(如窗口ID或屏幕ID)
|
|
68
|
+
* @returns 返回一个Promise,成功时解析为共享流ID,失败时返回undefined
|
|
69
|
+
*/
|
|
70
|
+
createScreenShareWithSelectionId(selectionId: string, currentBounds: CurrentShareBounds): Promise<string | undefined>;
|
|
71
|
+
/**
|
|
72
|
+
* 启动屏幕共享
|
|
73
|
+
*/
|
|
74
|
+
bootstrap(): void;
|
|
75
|
+
/**
|
|
76
|
+
* 关闭屏幕共享
|
|
77
|
+
*/
|
|
78
|
+
stop(): void;
|
|
79
|
+
/**
|
|
80
|
+
* 开始屏幕共享
|
|
81
|
+
* @param id - 要共享的内容ID(如窗口ID或屏幕ID)
|
|
82
|
+
* @param type - 共享内容的类型(屏幕或窗口)
|
|
83
|
+
* @param withAudio - 是否同时共享音频
|
|
84
|
+
* @param isReplace - 是否替换当前已有的共享
|
|
85
|
+
* @returns 返回一个Promise,成功时解析为屏幕共享轨道对象,失败时返回null
|
|
86
|
+
*/
|
|
87
|
+
startShareScreen(id: string, type: FcrScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* 停止屏幕共享
|
|
90
|
+
* @param targetScreenTrack - 可选参数,要停止的屏幕共享轨道对象,默认停止当前活动的共享
|
|
91
|
+
*/
|
|
92
|
+
stopShareScreen(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
93
|
+
/**
|
|
94
|
+
* 停止屏幕共享,用于离开房间
|
|
95
|
+
* @param targetScreenTrack - 可选参数,要移除的屏幕共享轨道对象,默认移除当前活动的轨道
|
|
96
|
+
* @returns 如果成功移除返回 true,否则返回 false
|
|
97
|
+
*/
|
|
98
|
+
stopShareScreenByExitRoom(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
99
|
+
/**
|
|
100
|
+
* 开始白板共享
|
|
101
|
+
* 此方法将启动白板共享功能,使其他用户可以看到当前用户的白板操作
|
|
102
|
+
*/
|
|
103
|
+
startShareWhiteboard(): void;
|
|
104
|
+
/**
|
|
105
|
+
* 开始渲染屏幕共享预览画面
|
|
106
|
+
* @param dom - 用于渲染预览画面的DOM元素
|
|
107
|
+
* @param targetScreenTrack - 可选参数,要渲染预览的屏幕共享轨道对象,默认使用当前活动的轨道
|
|
108
|
+
*/
|
|
109
|
+
startRenderSharePreview(dom: HTMLElement, targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
110
|
+
/**
|
|
111
|
+
* 停止渲染屏幕共享预览画面
|
|
112
|
+
* @param targetScreenTrack - 可选参数,要停止渲染预览的屏幕共享轨道对象,默认使用当前活动的轨道
|
|
113
|
+
*/
|
|
114
|
+
stopRenderSharePreview(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
115
|
+
/**
|
|
116
|
+
* 切换屏幕共享的音频状态
|
|
117
|
+
* @param withAudio - 布尔值,true 表示启用音频共享,false 表示禁用
|
|
118
|
+
*/
|
|
119
|
+
toggleScreenshareWithAudio(withAudio: boolean): void;
|
|
120
|
+
/**
|
|
121
|
+
* 手动移除屏幕共享流
|
|
122
|
+
* @param targetScreenTrack - 可选参数,要移除的屏幕共享轨道对象,默认移除当前活动的轨道
|
|
123
|
+
* @returns 如果成功移除返回 true,否则返回 false
|
|
124
|
+
*/
|
|
125
|
+
removeScreenStream(targetScreenTrack?: FcrScreenTrack | null | undefined): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* 替换当前的屏幕共享内容
|
|
128
|
+
* @param id - 新的共享内容ID
|
|
129
|
+
* @param type - 新的共享内容类型
|
|
130
|
+
* @param withAudio - 是否包含音频
|
|
131
|
+
* @param bounds - 共享区域的边界信息
|
|
132
|
+
*/
|
|
133
|
+
replaceScreenShare(id: string, type: FcrScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
|
|
134
|
+
/**
|
|
135
|
+
* 屏幕共享缩小窗口
|
|
136
|
+
*/
|
|
137
|
+
zoomIn(): void;
|
|
138
|
+
/**
|
|
139
|
+
* 屏幕共享放大窗口
|
|
140
|
+
*/
|
|
141
|
+
zoomOut(): void;
|
|
142
|
+
/**
|
|
143
|
+
* 接收端方法,用于设置标注窗口的缩放比例
|
|
144
|
+
*/
|
|
145
|
+
fullContainer(): void;
|
|
146
|
+
/**
|
|
147
|
+
* 接收端方法,用于设置标注窗口的缩放比例
|
|
148
|
+
*/
|
|
149
|
+
setOriginScalc(): void;
|
|
150
|
+
/**
|
|
151
|
+
* 添加屏幕共享事件观察者
|
|
152
|
+
* @param observer - 实现了 FcrUIScreenShareObserver 接口的观察者对象
|
|
153
|
+
*/
|
|
154
|
+
addObserver(observer: FcrUIScreenShareObserver): void;
|
|
155
|
+
/**
|
|
156
|
+
* 移除屏幕共享事件观察者
|
|
157
|
+
* @param observer - 要移除的观察者对象
|
|
158
|
+
*/
|
|
159
|
+
removeObserver(observer: FcrUIScreenShareObserver): void;
|
|
160
|
+
/**
|
|
161
|
+
* 释放屏幕共享提供者资源
|
|
162
|
+
* 清理所有订阅和资源,通常在组件卸载时调用
|
|
163
|
+
*/
|
|
164
|
+
release(): void;
|
|
165
|
+
}
|
|
166
|
+
export declare class FcrUIScreenShareProviderImpl implements FcrUIScreenShareProvider {
|
|
167
|
+
private _deviceProvider;
|
|
168
|
+
private _eventProvider;
|
|
169
|
+
private _roomProvider;
|
|
170
|
+
private _sharingProvider;
|
|
171
|
+
private _sharedScreenShareSharedDataSource;
|
|
172
|
+
private _sharedMemberDataSource;
|
|
173
|
+
private _privilegeProvider;
|
|
174
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
175
|
+
shareLock: boolean;
|
|
176
|
+
private _sharingControl;
|
|
177
|
+
private _previewDom;
|
|
178
|
+
private _prevFullScalc;
|
|
179
|
+
private _observable;
|
|
180
|
+
private _streamObserver;
|
|
181
|
+
private _screenCaptureObserver;
|
|
182
|
+
private _streamControl;
|
|
183
|
+
private _maxScalcValue;
|
|
184
|
+
private _minScalcValue;
|
|
185
|
+
private _diffScalcValue;
|
|
186
|
+
private _hasStop;
|
|
187
|
+
private _isReplaceScreen;
|
|
188
|
+
get shareWithAudio(): boolean;
|
|
189
|
+
get audioSourceId(): string;
|
|
190
|
+
get screenShareScalcValue(): number;
|
|
191
|
+
get screenShareVideoRatio(): number;
|
|
192
|
+
get screenShareSpeakerViewSize(): {
|
|
193
|
+
width: number;
|
|
194
|
+
height: number;
|
|
195
|
+
};
|
|
196
|
+
get screenShareScenarioType(): FcrScreenScenarioType;
|
|
197
|
+
private get _currentRoomControl();
|
|
198
|
+
constructor(_deviceProvider: FcrUIDeviceProvider, _eventProvider: FcrUIEventProvider, _roomProvider: FcrUIRoomProvider, _sharingProvider: FcrUISharingProvider, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _sharedMemberDataSource: FcrUIMemberSharedDataSourceImpl, _privilegeProvider: FcrUIPrivilegeProvider);
|
|
199
|
+
setSharingInReplace(isInReplace: boolean): void;
|
|
200
|
+
zoomOut(): void;
|
|
201
|
+
zoomIn(): void;
|
|
202
|
+
fullContainer(): void;
|
|
203
|
+
get isAspectRatioPreserved(): boolean;
|
|
204
|
+
setOriginScalc(): void;
|
|
205
|
+
get currentScreenSharingOwner(): FcrUserInfo | null;
|
|
206
|
+
get currentScreenSharingOwnerIsMySelf(): boolean;
|
|
207
|
+
stop(): void;
|
|
208
|
+
bootstrap(): void;
|
|
209
|
+
private _handleWebScreenCaptureStateUpdated;
|
|
210
|
+
private _handleScreenCaptureStateUpdated;
|
|
211
|
+
replaceScreenShare(id: string, type: FcrScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
|
|
212
|
+
private _handleRemoteVideoStatsUpdated;
|
|
213
|
+
get localUserId(): string;
|
|
214
|
+
get shareAudioTrack(): import("fcr-core/lib/media-control/type").FcrLoopbackTrack | null;
|
|
215
|
+
get currentShareId(): string;
|
|
216
|
+
get screenTrack(): FcrScreenTrack | null;
|
|
217
|
+
get currentShareStreamId(): string | undefined;
|
|
218
|
+
get currentSelectionBounds(): CurrentShareBounds;
|
|
219
|
+
setShareLock(lock: boolean): void;
|
|
220
|
+
createScreenShareWithSelectionId(videoSourceId: string, bounds: CurrentShareBounds): Promise<string>;
|
|
221
|
+
private _isStoppedFor;
|
|
222
|
+
private _addEventListeners;
|
|
223
|
+
private _removeEventListeners;
|
|
224
|
+
private _syncShareStreamState;
|
|
225
|
+
private _handleStreamUpdate;
|
|
226
|
+
startRenderSharePreview(dom: HTMLElement, targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
227
|
+
stopRenderSharePreview(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
228
|
+
private _syncScreenShareStreamInfos;
|
|
229
|
+
setScreenTrack(screenTrack: FcrScreenTrack | null): void;
|
|
230
|
+
addObserver(observer: FcrUIScreenShareObserver): void;
|
|
231
|
+
removeObserver(observer: FcrUIScreenShareObserver): void;
|
|
232
|
+
startShareWhiteboard(): void;
|
|
233
|
+
release(): void;
|
|
234
|
+
startShareScreen(id: string, type: FcrScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<void>;
|
|
235
|
+
stopShareScreen(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
236
|
+
stopShareScreenByExitRoom(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
237
|
+
private _updateShareAudioPrivilege;
|
|
238
|
+
private _handleShareStopWithAudio;
|
|
239
|
+
private _handleShareStartWithAudio;
|
|
240
|
+
toggleScreenshareWithAudio(withAudio: boolean): void;
|
|
241
|
+
private _getExcludeWindows;
|
|
242
|
+
removeScreenStream(): boolean;
|
|
243
|
+
private _stopScreenTrack;
|
|
244
|
+
private _cleanShareWithAudioDataSource;
|
|
245
|
+
}
|