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.
- package/lib/creator.d.ts +6 -0
- package/lib/creator.js +125 -24
- package/lib/electron/app.js +5 -4
- package/lib/electron/bootstrap-dev.js +3 -0
- package/lib/electron/bootstrap-sdk.js +4 -0
- package/lib/electron/injections.d.ts +5 -0
- package/lib/electron/injections.js +36 -8
- package/lib/electron/ipc/ipc.d.ts +1 -0
- package/lib/electron/ipc/ipc.js +4 -0
- package/lib/electron/main.js +16 -8
- package/lib/electron/plugins/screenshot.js +4 -2
- package/lib/electron/preload.js +7 -2
- package/lib/electron/window.js +4 -6
- package/lib/fragments/annotation/index.d.ts +11 -0
- package/lib/fragments/annotation/index.js +121 -0
- package/lib/fragments/annotation/libs.d.ts +55 -0
- package/lib/fragments/annotation/libs.js +93 -0
- package/lib/fragments/annotation/store.d.ts +30 -0
- package/lib/fragments/annotation/store.js +565 -0
- package/lib/fragments/annotation/view.d.ts +3 -0
- package/lib/fragments/annotation/view.js +31 -0
- package/lib/fragments/base.d.ts +10 -0
- package/lib/fragments/base.js +44 -0
- package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
- package/lib/modules/action-bar/index.css +11 -0
- package/lib/modules/action-bar/index.d.ts +2 -0
- package/lib/modules/action-bar/index.js +1 -0
- package/lib/modules/action-bar/store.d.ts +7 -9
- package/lib/modules/action-bar/store.js +49 -90
- package/lib/modules/annotation/board-cursor.css +76 -0
- package/lib/modules/annotation/components/control-bar/index.css +48 -0
- package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
- package/lib/modules/annotation/components/control-bar/index.js +141 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
- package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
- package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
- package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
- package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
- package/lib/modules/annotation/components/toolbar/index.js +1 -0
- package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
- package/lib/modules/annotation/components/toolbar/store.js +279 -0
- package/lib/modules/annotation/components/toolbar/style.css +55 -0
- package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/view.js +120 -0
- package/lib/modules/annotation/index.d.ts +38 -0
- package/lib/modules/annotation/index.js +169 -0
- package/lib/modules/annotation/store.d.ts +93 -0
- package/lib/modules/annotation/store.js +673 -0
- package/lib/modules/annotation/style.css +26 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +49 -0
- package/lib/modules/chat/view.js +112 -100
- package/lib/modules/components/annotation-menu/index.d.ts +7 -0
- package/lib/modules/components/annotation-menu/index.js +119 -0
- package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
- package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
- package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
- package/lib/modules/components/member-window/index.css +37 -0
- package/lib/modules/components/member-window/index.d.ts +1 -1
- package/lib/modules/components/member-window/index.js +8 -5
- package/lib/modules/components/member-window/types.d.ts +2 -0
- package/lib/modules/components/security-menu/index.js +7 -6
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
- package/lib/modules/control-bar/index.d.ts +6 -6
- package/lib/modules/control-bar/index.js +5 -34
- package/lib/modules/control-bar/store.d.ts +27 -13
- package/lib/modules/control-bar/store.js +121 -126
- package/lib/modules/control-bar/view.js +50 -4
- package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
- package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
- package/lib/modules/dialog/components/chat/index.js +1 -1
- package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
- package/lib/modules/dialog/components/control-bar/index.js +1 -3
- package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
- package/lib/modules/dialog/components/host-area-container/index.js +214 -0
- package/lib/modules/dialog/components/participant/index.js +1 -1
- package/lib/modules/dialog/components/system-preference/index.js +1 -1
- package/lib/modules/dialog/components/video-window/index.js +1 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
- package/lib/modules/dialog/hooks/useElectron.js +13 -3
- package/lib/modules/dialog/index.d.ts +2 -3
- package/lib/modules/dialog/index.js +3 -26
- package/lib/modules/dialog/store.d.ts +14 -9
- package/lib/modules/dialog/store.js +56 -50
- package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
- package/lib/modules/event-confirm/components/window/index.js +188 -0
- package/lib/modules/event-confirm/index.d.ts +4 -4
- package/lib/modules/event-confirm/index.js +6 -4
- package/lib/modules/event-confirm/store.d.ts +4 -5
- package/lib/modules/event-confirm/store.js +35 -26
- package/lib/modules/event-confirm/view.js +23 -171
- package/lib/modules/event-sound/index.js +1 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
- package/lib/modules/layout/index.d.ts +4 -0
- package/lib/modules/layout/index.js +2 -0
- package/lib/modules/layout/store.d.ts +14 -2
- package/lib/modules/layout/store.js +77 -45
- package/lib/modules/layout/type.d.ts +7 -0
- package/lib/modules/participant/index.d.ts +2 -0
- package/lib/modules/participant/index.js +2 -1
- package/lib/modules/participant/store.d.ts +5 -2
- package/lib/modules/participant/store.js +73 -25
- package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
- package/lib/modules/setting/index.d.ts +2 -0
- package/lib/modules/setting/index.js +3 -3
- package/lib/modules/setting/store.d.ts +8 -10
- package/lib/modules/setting/store.js +22 -20
- package/lib/modules/share-screen/components/selection/index.js +18 -42
- package/lib/modules/share-screen/index.d.ts +6 -2
- package/lib/modules/share-screen/index.js +4 -2
- package/lib/modules/share-screen/store.d.ts +41 -46
- package/lib/modules/share-screen/store.js +297 -718
- package/lib/modules/share-screen/view.js +2 -2
- package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
- package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
- package/lib/modules/state-bar/index.css +8 -6
- package/lib/modules/state-bar/index.d.ts +4 -0
- package/lib/modules/state-bar/index.js +3 -1
- package/lib/modules/state-bar/layout-config.d.ts +1 -0
- package/lib/modules/state-bar/layout-config.js +15 -5
- package/lib/modules/state-bar/store.d.ts +9 -1
- package/lib/modules/state-bar/store.js +17 -2
- package/lib/modules/state-bar/view.js +9 -4
- package/lib/modules/video-window/components/members/index.js +2 -1
- package/lib/modules/waiting-room-layout/store.js +1 -1
- package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
- package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
- package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
- package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
- package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
- package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
- package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
- package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
- package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
- package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
- package/lib/modules/whiteboard/index.d.ts +2 -0
- package/lib/modules/whiteboard/index.js +22 -21
- package/lib/modules/whiteboard/style.css +0 -4
- package/lib/modules/whiteboard/view.js +8 -2
- package/lib/plugins/browser-runtime-plugin.js +10 -1
- package/lib/providers/annotation-provider.d.ts +128 -0
- package/lib/providers/annotation-provider.js +421 -0
- package/lib/providers/device-provider.d.ts +3 -3
- package/lib/providers/device-provider.js +8 -6
- package/lib/providers/event-provider.d.ts +3 -3
- package/lib/providers/interpreter-provider.d.ts +1 -0
- package/lib/providers/interpreter-provider.js +182 -154
- package/lib/providers/privilege-provider.d.ts +35 -6
- package/lib/providers/privilege-provider.js +105 -49
- package/lib/providers/renderer-provider.js +3 -7
- package/lib/providers/room-provider.d.ts +13 -1
- package/lib/providers/room-provider.js +21 -7
- package/lib/providers/screen-share-provider.d.ts +131 -34
- package/lib/providers/screen-share-provider.js +554 -173
- package/lib/providers/sharing-provider.d.ts +37 -0
- package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
- package/lib/providers/user-setting-storage-provider.d.ts +20 -0
- package/lib/providers/user-setting-storage-provider.js +74 -0
- package/lib/runtime.d.ts +6 -1
- package/lib/scenes/main-scene.d.ts +7 -2
- package/lib/scenes/main-scene.js +55 -27
- package/lib/scenes/waiting-scene.d.ts +6 -0
- package/lib/scenes/waiting-scene.js +15 -5
- package/lib/shared-data-source/config.d.ts +1 -5
- package/lib/shared-data-source/config.js +11 -81
- package/lib/shared-data-source/member-data.d.ts +21 -5
- package/lib/shared-data-source/member-data.js +69 -17
- package/lib/shared-data-source/screen-share-data.d.ts +274 -0
- package/lib/shared-data-source/screen-share-data.js +390 -0
- package/lib/shared-data-source/security-data.d.ts +4 -1
- package/lib/shared-data-source/security-data.js +5 -2
- package/lib/shared-data-source/setting.d.ts +13 -13
- package/lib/shared-data-source/setting.js +16 -10
- package/lib/shared-data-source/video-window.d.ts +2 -1
- package/lib/shared-data-source/video-window.js +56 -36
- package/lib/translations/enUS.d.ts +8 -0
- package/lib/translations/enUS.js +9 -1
- package/lib/translations/zhCN.d.ts +8 -0
- package/lib/translations/zhCN.js +11 -3
- package/lib/type.d.ts +55 -1
- package/lib/ui-manager.d.ts +3 -2
- package/lib/ui-manager.js +6 -4
- package/lib/ui-scene.js +70 -50
- package/lib/utilities/constant.d.ts +10 -2
- package/lib/utilities/constant.js +8 -0
- package/lib/utilities/logger.d.ts +4 -0
- package/lib/utilities/logger.js +8 -1
- package/lib/utilities/renderer-event.d.ts +3 -0
- package/lib/utilities/renderer-event.js +14 -1
- package/lib/utilities/screen.js +2 -1
- package/lib/utilities/setting-config-storage.d.ts +5 -6
- package/lib/utilities/setting-config-storage.js +33 -39
- package/lib/utilities/tools.d.ts +19 -1
- package/lib/utilities/tools.js +51 -4
- package/package.json +9 -7
- package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/public/assets/fcr_chat_reddot.svg +3 -3
- package/public/assets/fcr_grid_big.svg +1 -1
- package/public/assets/fcr_leave2.svg +14 -14
- package/public/assets/fcr_listontop_big.svg +1 -1
- package/public/assets/step-gradient.svg +1 -1
- package/public/fragment.html +10 -0
- package/public/index.html +3 -1
- package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { FcrUIDeviceProvider } from './device-provider';
|
|
2
|
-
import { FcrUIDisplayCaptureSource, FcrUIWindowCaptureSource } from '../modules/share-screen/types';
|
|
3
|
-
import { FcrUIDialogProvider } from './dialog-provider';
|
|
4
2
|
import { FcrUIRoomProvider } from './room-provider';
|
|
3
|
+
import { FcrScreenTrack } from 'fcr-core/lib/media-control/type';
|
|
4
|
+
import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
|
|
5
|
+
import { FcrUISharingProvider } from './sharing-provider';
|
|
6
|
+
import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
|
|
7
|
+
import { FcrUIEventProvider } from './event-provider';
|
|
8
|
+
import { FcrUIMemberSharedDataSourceImpl } from '../shared-data-source/member-data';
|
|
9
|
+
import { CurrentShareBounds } from '../modules/control-bar/types';
|
|
5
10
|
import { FcrUserInfo } from 'fcr-core/lib/type';
|
|
6
|
-
interface FcrUIScreenShareObserver {
|
|
11
|
+
export interface FcrUIScreenShareObserver {
|
|
7
12
|
/**
|
|
8
13
|
* 本地屏幕开启采集
|
|
9
14
|
* @returns
|
|
@@ -14,75 +19,167 @@ interface FcrUIScreenShareObserver {
|
|
|
14
19
|
* @returns
|
|
15
20
|
*/
|
|
16
21
|
onScreenCaptureStopped?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* 本地屏幕抢占 开始
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
onScreenShareReplaceBegin?: (id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds) => void;
|
|
17
27
|
}
|
|
18
28
|
export interface FcrUIScreenShareProvider {
|
|
19
29
|
/**
|
|
20
|
-
*
|
|
30
|
+
* 获取当前屏幕共享是否被锁定
|
|
31
|
+
* @returns 如果屏幕共享被锁定(仅允许特定用户共享)返回 true,否则返回 false
|
|
21
32
|
*/
|
|
22
|
-
get
|
|
33
|
+
get shareLock(): boolean;
|
|
23
34
|
/**
|
|
24
|
-
*
|
|
35
|
+
* 设置屏幕共享锁定状态
|
|
36
|
+
* @param lock - 布尔值,true 表示锁定屏幕共享(仅允许特定用户共享),false 表示解锁
|
|
25
37
|
*/
|
|
26
|
-
|
|
38
|
+
setShareLock(lock: boolean): void;
|
|
27
39
|
/**
|
|
28
|
-
*
|
|
40
|
+
* 根据指定的选择ID创建屏幕共享流
|
|
41
|
+
* @param selectionId - 要共享的内容ID(如窗口ID或屏幕ID)
|
|
42
|
+
* @returns 返回一个Promise,成功时解析为共享流ID,失败时返回undefined
|
|
29
43
|
*/
|
|
30
|
-
|
|
44
|
+
createScreenShareWithSelectionId(selectionId: string, currentBounds: CurrentShareBounds): Promise<string | undefined>;
|
|
31
45
|
/**
|
|
32
|
-
*
|
|
46
|
+
* 启动屏幕共享
|
|
33
47
|
*/
|
|
34
|
-
|
|
35
|
-
get screenSharingOwner(): FcrUserInfo | undefined;
|
|
48
|
+
bootstrap(): void;
|
|
36
49
|
/**
|
|
37
|
-
*
|
|
50
|
+
* 关闭屏幕共享
|
|
38
51
|
*/
|
|
39
|
-
|
|
52
|
+
stop(): void;
|
|
40
53
|
/**
|
|
41
54
|
* 开始屏幕共享
|
|
55
|
+
* @param id - 要共享的内容ID(如窗口ID或屏幕ID)
|
|
56
|
+
* @param type - 共享内容的类型(屏幕或窗口)
|
|
57
|
+
* @param withAudio - 是否同时共享音频
|
|
58
|
+
* @param isReplace - 是否替换当前已有的共享
|
|
59
|
+
* @returns 返回一个Promise,成功时解析为屏幕共享轨道对象,失败时返回null
|
|
42
60
|
*/
|
|
43
|
-
startShareScreen():
|
|
61
|
+
startShareScreen(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<FcrScreenTrack | null>;
|
|
44
62
|
/**
|
|
45
63
|
* 停止屏幕共享
|
|
64
|
+
* @param targetScreenTrack - 可选参数,要停止的屏幕共享轨道对象,默认停止当前活动的共享
|
|
46
65
|
*/
|
|
47
|
-
stopShareScreen(): void;
|
|
66
|
+
stopShareScreen(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
48
67
|
/**
|
|
49
68
|
* 开始白板共享
|
|
69
|
+
* 此方法将启动白板共享功能,使其他用户可以看到当前用户的白板操作
|
|
50
70
|
*/
|
|
51
71
|
startShareWhiteboard(): void;
|
|
52
72
|
/**
|
|
53
73
|
* 停止白板共享
|
|
74
|
+
* 此方法将停止当前的白板共享,其他用户将无法继续查看白板内容
|
|
54
75
|
*/
|
|
55
76
|
stopShareWhiteboard(): void;
|
|
77
|
+
/**
|
|
78
|
+
* 开始渲染屏幕共享预览画面
|
|
79
|
+
* @param dom - 用于渲染预览画面的DOM元素
|
|
80
|
+
* @param targetScreenTrack - 可选参数,要渲染预览的屏幕共享轨道对象,默认使用当前活动的轨道
|
|
81
|
+
*/
|
|
82
|
+
startRenderSharePreview(dom: HTMLElement, targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
83
|
+
/**
|
|
84
|
+
* 停止渲染屏幕共享预览画面
|
|
85
|
+
* @param targetScreenTrack - 可选参数,要停止渲染预览的屏幕共享轨道对象,默认使用当前活动的轨道
|
|
86
|
+
*/
|
|
87
|
+
stopRenderSharePreview(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
88
|
+
/**
|
|
89
|
+
* 切换屏幕共享的音频状态
|
|
90
|
+
* @param withAudio - 布尔值,true 表示启用音频共享,false 表示禁用
|
|
91
|
+
*/
|
|
92
|
+
toggleScreenshareWithAudio(withAudio: boolean): void;
|
|
93
|
+
/**
|
|
94
|
+
* 手动移除屏幕共享流
|
|
95
|
+
* @param targetScreenTrack - 可选参数,要移除的屏幕共享轨道对象,默认移除当前活动的轨道
|
|
96
|
+
* @returns 如果成功移除返回 true,否则返回 false
|
|
97
|
+
*/
|
|
98
|
+
removeScreenStream(targetScreenTrack?: FcrScreenTrack | null | undefined): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* 获取正在屏幕共享的用户
|
|
101
|
+
* @returns FcrUserInfo
|
|
102
|
+
*/
|
|
103
|
+
getCurrentScreenSharingOwner(): FcrUserInfo | null;
|
|
104
|
+
/**
|
|
105
|
+
* 替换当前的屏幕共享内容
|
|
106
|
+
* @param id - 新的共享内容ID
|
|
107
|
+
* @param type - 新的共享内容类型
|
|
108
|
+
* @param withAudio - 是否包含音频
|
|
109
|
+
* @param bounds - 共享区域的边界信息
|
|
110
|
+
*/
|
|
111
|
+
replaceScreenShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
|
|
112
|
+
/**
|
|
113
|
+
* 添加屏幕共享事件观察者
|
|
114
|
+
* @param observer - 实现了 FcrUIScreenShareObserver 接口的观察者对象
|
|
115
|
+
*/
|
|
56
116
|
addObserver(observer: FcrUIScreenShareObserver): void;
|
|
117
|
+
/**
|
|
118
|
+
* 移除屏幕共享事件观察者
|
|
119
|
+
* @param observer - 要移除的观察者对象
|
|
120
|
+
*/
|
|
57
121
|
removeObserver(observer: FcrUIScreenShareObserver): void;
|
|
122
|
+
/**
|
|
123
|
+
* 释放屏幕共享提供者资源
|
|
124
|
+
* 清理所有订阅和资源,通常在组件卸载时调用
|
|
125
|
+
*/
|
|
126
|
+
release(): void;
|
|
58
127
|
}
|
|
59
128
|
export declare class FcrUIScreenShareProviderImpl implements FcrUIScreenShareProvider {
|
|
60
129
|
private _deviceProvider;
|
|
61
|
-
private
|
|
130
|
+
private _eventProvider;
|
|
62
131
|
private _roomProvider;
|
|
132
|
+
private _sharingProvider;
|
|
133
|
+
private _sharedScreenShareSharedDataSource;
|
|
134
|
+
private _sharedMemberDataSource;
|
|
63
135
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
136
|
+
shareLock: boolean;
|
|
137
|
+
private _sharingControl?;
|
|
138
|
+
private _previewDom;
|
|
64
139
|
private _observable;
|
|
65
|
-
private
|
|
66
|
-
private
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
private
|
|
75
|
-
private
|
|
76
|
-
private
|
|
140
|
+
private _streamObserver;
|
|
141
|
+
private _screenCaptureObserver;
|
|
142
|
+
private _streamControl?;
|
|
143
|
+
get shareWithAudio(): boolean;
|
|
144
|
+
get audioSourceId(): string;
|
|
145
|
+
constructor(_deviceProvider: FcrUIDeviceProvider, _eventProvider: FcrUIEventProvider, _roomProvider: FcrUIRoomProvider, _sharingProvider: FcrUISharingProvider, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _sharedMemberDataSource: FcrUIMemberSharedDataSourceImpl);
|
|
146
|
+
getCurrentScreenSharingOwner(): FcrUserInfo | null;
|
|
147
|
+
stop(): void;
|
|
148
|
+
bootstrap(): void;
|
|
149
|
+
private _handleWebScreenCaptureStateUpdated;
|
|
150
|
+
private _handleScreenCaptureStateUpdated;
|
|
151
|
+
private _handleShareStopWithAudio;
|
|
152
|
+
replaceScreenShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, bounds: CurrentShareBounds): void;
|
|
153
|
+
private _setIsReplaceScreen;
|
|
154
|
+
get isReplaceScreen(): boolean;
|
|
155
|
+
get localUserId(): string;
|
|
156
|
+
get shareAudioTrack(): import("fcr-core/lib/media-control/type").FcrLoopbackTrack | null;
|
|
157
|
+
get loopbackAudioSourceId(): string;
|
|
158
|
+
get currentShareId(): string;
|
|
159
|
+
get screenTrack(): FcrScreenTrack | null;
|
|
160
|
+
get currentShareStreamId(): string;
|
|
161
|
+
get currentSelectionBounds(): CurrentShareBounds;
|
|
162
|
+
setShareLock(lock: boolean): void;
|
|
163
|
+
createScreenShareWithSelectionId(videoSourceId: string, bounds: CurrentShareBounds): Promise<string>;
|
|
164
|
+
private _isStoppedFor;
|
|
165
|
+
private _addEventListeners;
|
|
166
|
+
private _removeEventListeners;
|
|
167
|
+
private _syncShareStreamState;
|
|
168
|
+
private _handleStreamUpdate;
|
|
169
|
+
startRenderSharePreview(dom: HTMLElement, targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
170
|
+
stopRenderSharePreview(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
77
171
|
private _handleStreamPublic;
|
|
172
|
+
setScreenTrack(screenTrack: FcrScreenTrack | null): void;
|
|
78
173
|
addObserver(observer: FcrUIScreenShareObserver): void;
|
|
79
174
|
removeObserver(observer: FcrUIScreenShareObserver): void;
|
|
80
175
|
startShareWhiteboard(): void;
|
|
81
176
|
stopShareWhiteboard(): void;
|
|
82
177
|
release(): void;
|
|
83
|
-
startShareScreen():
|
|
84
|
-
stopShareScreen(): void;
|
|
85
|
-
private
|
|
86
|
-
|
|
178
|
+
startShareScreen(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, isReplace: boolean): Promise<FcrScreenTrack | null>;
|
|
179
|
+
stopShareScreen(targetScreenTrack?: FcrScreenTrack | null | undefined): void;
|
|
180
|
+
private _handleShareStartWithAudio;
|
|
181
|
+
toggleScreenshareWithAudio(withAudio: boolean): void;
|
|
182
|
+
private _getExcludeWindows;
|
|
183
|
+
removeScreenStream(): boolean;
|
|
184
|
+
private _screenTrackStop;
|
|
87
185
|
}
|
|
88
|
-
export {};
|