fcr-ui-scene 3.6.1 → 3.6.2
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/dist/132.js +2 -0
- package/dist/132.js.LICENSE.txt +311 -0
- package/dist/317.js +2 -0
- package/dist/317.js.LICENSE.txt +20 -0
- package/dist/651.js +2 -0
- package/dist/651.js.LICENSE.txt +1 -0
- package/dist/689343b64b60bfb7ffff.png +0 -0
- package/dist/73.js +1 -0
- package/dist/885f9369ea05a8ac0e56.png +0 -0
- package/dist/90f383876a6e93e7c7ca.png +0 -0
- package/dist/9b37584780995fc5df8c.gif +0 -0
- package/dist/annotation.e5cbd3a70b6d42361872.css +1274 -0
- package/dist/annotation.html +1 -0
- package/dist/annotation.js +2 -0
- package/dist/annotation.js.LICENSE.txt +252 -0
- package/dist/assets/browser/images/default1.jpg +0 -0
- package/dist/assets/browser/images/default2.jpg +0 -0
- package/dist/assets/browser/images/default3.jpg +0 -0
- package/dist/assets/browser/images/default4.jpg +0 -0
- package/dist/assets/browser/images/default5.jpg +0 -0
- package/dist/assets/browser/images/default6.jpg +0 -0
- package/dist/assets/browser/images/default7.jpg +0 -0
- package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
- package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
- package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
- package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
- package/dist/assets/browser/videos/default8.mp4 +0 -0
- package/dist/assets/browser/videos/default9.mp4 +0 -0
- package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/dist/assets/electron/images/default1.jpg +0 -0
- package/dist/assets/electron/images/default2.jpg +0 -0
- package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
- package/dist/assets/electron/videos/default8.mp4 +0 -0
- package/dist/assets/fcr_chat_reddot.svg +5 -0
- package/dist/assets/fcr_defaultpage.png +0 -0
- package/dist/assets/fcr_grid_big.svg +3 -0
- package/dist/assets/fcr_leave2.svg +58 -0
- package/dist/assets/fcr_listontop_big.svg +3 -0
- package/dist/assets/full-screen-error-boundary-img.png +0 -0
- package/dist/assets/leave-meeting.png +0 -0
- package/dist/assets/loading.gif +0 -0
- package/dist/assets/login_confirm.png +0 -0
- package/dist/assets/pretest.mp3 +0 -0
- package/dist/assets/state-bar-logo.png +0 -0
- package/dist/assets/step-gradient.svg +10 -0
- package/dist/b74b002687a3a3346bec.png +0 -0
- package/dist/b94869094481702f949b.png +0 -0
- package/dist/ebeace75fd46b90d890e.png +0 -0
- package/dist/electron/app.js +194 -0
- package/dist/electron/bootstrap-dev.js +46 -0
- package/dist/electron/bootstrap-sdk.js +211 -0
- package/dist/electron/default-options.js +25 -0
- package/dist/electron/env.js +13 -0
- package/dist/electron/index.js +20 -0
- package/dist/electron/injections.js +903 -0
- package/dist/electron/ipc/ipc.js +141 -0
- package/dist/electron/ipc/type.js +19 -0
- package/dist/electron/logger.js +65 -0
- package/dist/electron/main.js +94 -0
- package/dist/electron/plugins/devtool-shortcut.js +33 -0
- package/dist/electron/plugins/meeting-state.js +39 -0
- package/dist/electron/plugins/screenshot.js +54 -0
- package/dist/electron/preload.js +108 -0
- package/dist/electron/tools.js +66 -0
- package/dist/electron/window.js +123 -0
- package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm.js +1 -0
- package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
- package/dist/fad688b9135b15d6c405.png +0 -0
- package/dist/index.html +224 -0
- package/dist/main.393a2a91ab7fc05ffce6.css +15403 -0
- package/dist/main.js +2 -0
- package/dist/main.js.LICENSE.txt +272 -0
- package/dist/worker-entry.worker.js.LICENSE.txt +13 -0
- package/lib/creator.d.ts +5 -0
- package/lib/creator.js +106 -17
- package/lib/electron/bootstrap-sdk.js +4 -0
- package/lib/electron/injections.d.ts +4 -0
- package/lib/electron/injections.js +37 -8
- package/lib/electron/ipc/ipc.d.ts +1 -0
- package/lib/electron/ipc/ipc.js +4 -0
- package/lib/electron/main.js +6 -2
- package/lib/electron/plugins/screenshot.js +4 -2
- package/lib/electron/preload.js +7 -2
- package/lib/electron/window.js +4 -3
- package/lib/fragments/annotation/index.d.ts +10 -0
- package/lib/fragments/annotation/index.js +106 -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 +25 -0
- package/lib/fragments/annotation/store.js +485 -0
- package/lib/fragments/annotation/view.d.ts +2 -0
- package/lib/fragments/annotation/view.js +23 -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 +7 -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 +6 -2
- package/lib/modules/action-bar/store.js +15 -9
- 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 +101 -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 +59 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +11 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +59 -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 +17 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +115 -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 +36 -0
- package/lib/modules/annotation/index.js +168 -0
- package/lib/modules/annotation/store.d.ts +85 -0
- package/lib/modules/annotation/store.js +648 -0
- package/lib/modules/annotation/style.css +26 -0
- package/lib/modules/annotation/view.d.ts +2 -0
- package/lib/modules/annotation/view.js +32 -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/icon-buttons/index.d.ts +2 -0
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +6 -2
- 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.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 -2
- package/lib/modules/control-bar/index.js +5 -2
- package/lib/modules/control-bar/store.d.ts +23 -7
- package/lib/modules/control-bar/store.js +112 -77
- package/lib/modules/control-bar/view.js +7 -3
- 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/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 +11 -2
- package/lib/modules/dialog/index.d.ts +2 -0
- package/lib/modules/dialog/index.js +2 -1
- package/lib/modules/dialog/store.d.ts +9 -2
- package/lib/modules/dialog/store.js +46 -6
- 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 +30 -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/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 +45 -28
- package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
- 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 +38 -46
- package/lib/modules/share-screen/store.js +263 -693
- 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.d.ts +2 -0
- package/lib/modules/state-bar/index.js +1 -0
- package/lib/modules/state-bar/store.d.ts +5 -1
- package/lib/modules/state-bar/store.js +9 -1
- package/lib/modules/state-bar/view.js +3 -2
- 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 +8 -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 +9 -2
- package/lib/modules/whiteboard/components/toolbar/store.js +30 -6
- 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 +20 -20
- package/lib/plugins/browser-runtime-plugin.js +10 -1
- package/lib/providers/annotation-provider.d.ts +77 -0
- package/lib/providers/annotation-provider.js +411 -0
- 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 +561 -173
- package/lib/providers/sharing-provider.d.ts +33 -0
- package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +87 -39
- package/lib/runtime.d.ts +6 -1
- package/lib/scenes/main-scene.d.ts +7 -2
- package/lib/scenes/main-scene.js +54 -25
- package/lib/scenes/waiting-scene.d.ts +6 -0
- package/lib/scenes/waiting-scene.js +15 -5
- 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 +270 -0
- package/lib/shared-data-source/screen-share-data.js +389 -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.js +6 -4
- package/lib/type.d.ts +53 -0
- package/lib/ui-manager.d.ts +3 -2
- package/lib/ui-manager.js +6 -4
- package/lib/ui-scene.js +59 -44
- package/lib/utilities/constant.d.ts +8 -1
- package/lib/utilities/constant.js +7 -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/tools.d.ts +18 -1
- package/lib/utilities/tools.js +48 -2
- package/package.json +6 -6
- 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,10 +1,11 @@
|
|
|
1
1
|
import { FcrUIMemberDataImpl } from '../modules/participant/member-list-data-source';
|
|
2
2
|
import { FcrStreamControl, FcrUserRole } from 'fcr-core';
|
|
3
3
|
import { FcrUserControl } from 'fcr-core/lib/room-control/user-control/type';
|
|
4
|
+
import { FcrRemoteVideoStats } from 'fcr-core/lib/room-control/stream-control/type';
|
|
4
5
|
import { FcrLanguage } from 'fcr-core/lib/room-control/interpreter-control/types';
|
|
5
|
-
import { FcrWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control/types';
|
|
6
6
|
import { FcrUserInfo } from 'fcr-core/lib/type';
|
|
7
|
-
import {
|
|
7
|
+
import { FcrWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
|
|
8
|
+
import { FcrUIScreenShareSharedDataSource } from './screen-share-data';
|
|
8
9
|
export interface FcrUIMemberSharedDataSource {
|
|
9
10
|
/**
|
|
10
11
|
* 整个房间的人数。
|
|
@@ -62,6 +63,16 @@ export interface FcrUIMemberSharedDataSource {
|
|
|
62
63
|
* @returns 音频音量映射,类型为 Map<string, number>。
|
|
63
64
|
*/
|
|
64
65
|
get audioVolumeMap(): Map<string, number>;
|
|
66
|
+
/**
|
|
67
|
+
* 获取共享屏幕视频的宽高比。
|
|
68
|
+
* @returns 共享屏幕视频的宽高比,类型为 number。
|
|
69
|
+
*/
|
|
70
|
+
get shareScreenVideoRatio(): number;
|
|
71
|
+
/**
|
|
72
|
+
* 获取共享屏幕视频的宽高。
|
|
73
|
+
* @returns 共享屏幕视频的宽高,类型为 FcrRemoteVideoStats['dimensions'] | null。
|
|
74
|
+
*/
|
|
75
|
+
get shareScreenVideoSize(): FcrRemoteVideoStats['dimensions'] | null;
|
|
65
76
|
/**
|
|
66
77
|
* 根据白板状态更新主房间参与者列表。
|
|
67
78
|
* 此方法用于同步参与者列表与白板状态。
|
|
@@ -76,7 +87,7 @@ export interface FcrUIMemberSharedDataSource {
|
|
|
76
87
|
export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberSharedDataSource {
|
|
77
88
|
private _mainRoomUserControl;
|
|
78
89
|
private _streamControl;
|
|
79
|
-
private
|
|
90
|
+
private _sharedScreenShareSharedDataSource;
|
|
80
91
|
private _whiteBoardControl?;
|
|
81
92
|
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
82
93
|
private _dataSource;
|
|
@@ -88,8 +99,12 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
|
|
|
88
99
|
private accessor _localUser;
|
|
89
100
|
private _userObserver;
|
|
90
101
|
private _streamsObserver;
|
|
102
|
+
private accessor serverPushTotalUserCount;
|
|
103
|
+
private accessor _shareScreenVideoRatio;
|
|
91
104
|
accessor totalUserCount: number;
|
|
92
|
-
|
|
105
|
+
accessor shareScreenVideoSize: FcrRemoteVideoStats['dimensions'] | null;
|
|
106
|
+
get localUserId(): string;
|
|
107
|
+
get shareScreenVideoRatio(): number;
|
|
93
108
|
get hasOwnPstnStream(): boolean;
|
|
94
109
|
get interpreterInputLanguageList(): {
|
|
95
110
|
userId: string;
|
|
@@ -104,7 +119,7 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
|
|
|
104
119
|
get remoteMembersUserInfosList(): FcrUserInfo[];
|
|
105
120
|
get memberList(): FcrUIMemberDataImpl[];
|
|
106
121
|
get memberUserInfoList(): FcrUserInfo[];
|
|
107
|
-
constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl,
|
|
122
|
+
constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _whiteBoardControl?: FcrWhiteboardControl | undefined);
|
|
108
123
|
updateMemberListWithBoardState(): void;
|
|
109
124
|
release(): void;
|
|
110
125
|
private _setIsLocalUserInPstn;
|
|
@@ -115,6 +130,7 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
|
|
|
115
130
|
private _syncParticipants;
|
|
116
131
|
private _onAudioVolumeUpdated;
|
|
117
132
|
private _handleRemoteUserJoined;
|
|
133
|
+
private _handleRemoteVideoStatsUpdated;
|
|
118
134
|
private _handleRemoteUserLeft;
|
|
119
135
|
private _handleStreamsAdded;
|
|
120
136
|
private _handleStreamsUpdated;
|
|
@@ -103,7 +103,7 @@ var _type = require("fcr-core/lib/type");
|
|
|
103
103
|
var _decorator = require("agora-foundation/lib/decorator");
|
|
104
104
|
var _logger = require("../utilities/logger");
|
|
105
105
|
var _FcrUIMemberSharedDataSourceImpl;
|
|
106
|
-
var _initProto, _init__serverPushTotalUserCount, _init__audioVolumeMap, _init__isLocalUserInPstn, _init__interpreterInputLanguageList, _init__localUser, _init_totalUserCount, _updateMemberListWithBoardStateDecs, _setIsLocalUserInPstnDecs, _handleAllUserCountUpdatedDecs, _setTotalUserCountDecs, _handleUserInfoUpdatedDecs, _syncParticipantsDecs, _onAudioVolumeUpdatedDecs, _handleRemoteUserJoinedDecs, _handleRemoteUserLeftDecs, _handleStreamsAddedDecs, _handleStreamsUpdatedDecs, _handleStreamsRemovedDecs, _ref;
|
|
106
|
+
var _initProto, _init__serverPushTotalUserCount, _init__audioVolumeMap, _init__isLocalUserInPstn, _init__interpreterInputLanguageList, _init__localUser, _init_serverPushTotalUserCount, _init__shareScreenVideoRatio, _init_totalUserCount, _init_shareScreenVideoSize, _updateMemberListWithBoardStateDecs, _setIsLocalUserInPstnDecs, _handleAllUserCountUpdatedDecs, _setTotalUserCountDecs, _handleUserInfoUpdatedDecs, _syncParticipantsDecs, _onAudioVolumeUpdatedDecs, _handleRemoteUserJoinedDecs, _handleRemoteVideoStatsUpdatedDecs, _handleRemoteUserLeftDecs, _handleStreamsAddedDecs, _handleStreamsUpdatedDecs, _handleStreamsRemovedDecs, _ref;
|
|
107
107
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
108
108
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
109
109
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
@@ -122,9 +122,12 @@ var _C = /*#__PURE__*/new WeakMap();
|
|
|
122
122
|
var _D = /*#__PURE__*/new WeakMap();
|
|
123
123
|
var _E = /*#__PURE__*/new WeakMap();
|
|
124
124
|
var _F = /*#__PURE__*/new WeakMap();
|
|
125
|
-
|
|
125
|
+
var _G = /*#__PURE__*/new WeakMap();
|
|
126
|
+
var _H = /*#__PURE__*/new WeakMap();
|
|
127
|
+
var _I = /*#__PURE__*/new WeakMap();
|
|
128
|
+
_ref = (_updateMemberListWithBoardStateDecs = [_mobx.action, _mobx.action.bound], _setIsLocalUserInPstnDecs = [_mobx.action, _mobx.action.bound], _handleAllUserCountUpdatedDecs = [_mobx.action, _mobx.action.bound], _setTotalUserCountDecs = [_mobx.action, _mobx.action.bound], _handleUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _syncParticipantsDecs = (0, _decorator.debounced)(800), _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserJoinedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleRemoteUserLeftDecs = [_mobx.action, _mobx.action.bound], _handleStreamsAddedDecs = [_mobx.action, _mobx.action.bound], _handleStreamsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleStreamsRemovedDecs = [_mobx.action, _mobx.action.bound], "logger");
|
|
126
129
|
var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl = /*#__PURE__*/function () {
|
|
127
|
-
function FcrUIMemberSharedDataSourceImpl(_mainRoomUserControl, _streamControl,
|
|
130
|
+
function FcrUIMemberSharedDataSourceImpl(_mainRoomUserControl, _streamControl, _sharedScreenShareSharedDataSource, _whiteBoardControl) {
|
|
128
131
|
var _this = this;
|
|
129
132
|
(0, _classCallCheck2["default"])(this, FcrUIMemberSharedDataSourceImpl);
|
|
130
133
|
(0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
|
|
@@ -147,12 +150,16 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
|
|
|
147
150
|
onStreamsAdded: this._handleStreamsAdded,
|
|
148
151
|
onStreamsUpdated: this._handleStreamsUpdated,
|
|
149
152
|
onStreamVolumeIndicationUpdated: this._onAudioVolumeUpdated,
|
|
150
|
-
onStreamsRemoved: this._handleStreamsRemoved
|
|
153
|
+
onStreamsRemoved: this._handleStreamsRemoved,
|
|
154
|
+
onRemoteVideoStatsUpdated: this._handleRemoteVideoStatsUpdated
|
|
151
155
|
});
|
|
152
|
-
_classPrivateFieldInitSpec(this, _F,
|
|
156
|
+
_classPrivateFieldInitSpec(this, _F, _init_serverPushTotalUserCount(this, 1));
|
|
157
|
+
_classPrivateFieldInitSpec(this, _G, _init__shareScreenVideoRatio(this, 0));
|
|
158
|
+
_classPrivateFieldInitSpec(this, _H, _init_totalUserCount(this, 1));
|
|
159
|
+
_classPrivateFieldInitSpec(this, _I, _init_shareScreenVideoSize(this, null));
|
|
153
160
|
this._mainRoomUserControl = _mainRoomUserControl;
|
|
154
161
|
this._streamControl = _streamControl;
|
|
155
|
-
this.
|
|
162
|
+
this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
|
|
156
163
|
this._whiteBoardControl = _whiteBoardControl;
|
|
157
164
|
this._mainRoomUserControl.addObserver(this._userObserver);
|
|
158
165
|
this._streamControl.addObserver(this._streamsObserver);
|
|
@@ -208,17 +215,46 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
|
|
|
208
215
|
_classPrivateFieldSet(_E, this, v);
|
|
209
216
|
}
|
|
210
217
|
}, {
|
|
211
|
-
key: "
|
|
218
|
+
key: "serverPushTotalUserCount",
|
|
212
219
|
get: function get() {
|
|
213
220
|
return _classPrivateFieldGet(_F, this);
|
|
214
221
|
},
|
|
215
222
|
set: function set(v) {
|
|
216
223
|
_classPrivateFieldSet(_F, this, v);
|
|
217
224
|
}
|
|
225
|
+
}, {
|
|
226
|
+
key: "_shareScreenVideoRatio",
|
|
227
|
+
get: function get() {
|
|
228
|
+
return _classPrivateFieldGet(_G, this);
|
|
229
|
+
},
|
|
230
|
+
set: function set(v) {
|
|
231
|
+
_classPrivateFieldSet(_G, this, v);
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
key: "totalUserCount",
|
|
235
|
+
get: function get() {
|
|
236
|
+
return _classPrivateFieldGet(_H, this);
|
|
237
|
+
},
|
|
238
|
+
set: function set(v) {
|
|
239
|
+
_classPrivateFieldSet(_H, this, v);
|
|
240
|
+
}
|
|
241
|
+
}, {
|
|
242
|
+
key: "shareScreenVideoSize",
|
|
243
|
+
get: function get() {
|
|
244
|
+
return _classPrivateFieldGet(_I, this);
|
|
245
|
+
},
|
|
246
|
+
set: function set(v) {
|
|
247
|
+
_classPrivateFieldSet(_I, this, v);
|
|
248
|
+
}
|
|
218
249
|
}, {
|
|
219
250
|
key: "localUserId",
|
|
220
251
|
get: function get() {
|
|
221
|
-
return this.
|
|
252
|
+
return this._localUser.userId;
|
|
253
|
+
}
|
|
254
|
+
}, {
|
|
255
|
+
key: "shareScreenVideoRatio",
|
|
256
|
+
get: function get() {
|
|
257
|
+
return this._shareScreenVideoRatio;
|
|
222
258
|
}
|
|
223
259
|
}, {
|
|
224
260
|
key: "hasOwnPstnStream",
|
|
@@ -289,9 +325,8 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
|
|
|
289
325
|
var _this3 = this;
|
|
290
326
|
(0, _mobx.runInAction)(function () {
|
|
291
327
|
if (_this3._whiteBoardControl) {
|
|
292
|
-
var
|
|
293
|
-
var
|
|
294
|
-
ownerUserId = boardInfo.ownerUserId;
|
|
328
|
+
var isActive = _this3._whiteBoardControl.getActivity();
|
|
329
|
+
var ownerUserId = _this3._whiteBoardControl.getOwnerId();
|
|
295
330
|
_this3._dataSource.list.forEach(function (user) {
|
|
296
331
|
var isBoardActive = isActive && user.userId === ownerUserId;
|
|
297
332
|
user.setUserInfo(_objectSpread(_objectSpread({}, user.userInfo), {}, {
|
|
@@ -346,16 +381,16 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
|
|
|
346
381
|
}, {
|
|
347
382
|
key: "_handleUserInfoUpdated",
|
|
348
383
|
value: function _handleUserInfoUpdated(roomId, event) {
|
|
349
|
-
var _this$
|
|
384
|
+
var _this$_sharedScreenSh;
|
|
350
385
|
var targetUser = event.modifiedUser;
|
|
351
386
|
if (event.modifiedUser.userId === this.localUserId) {
|
|
352
387
|
this._localUser = this._mainRoomUserControl.getLocalUser();
|
|
353
388
|
}
|
|
354
389
|
this._dataSource.updateUserInfo(targetUser, true);
|
|
355
390
|
// 共享屏幕
|
|
356
|
-
var isModifiySharingScreenUser = this.
|
|
391
|
+
var isModifiySharingScreenUser = this._sharedScreenShareSharedDataSource.isSharingScreen && ((_this$_sharedScreenSh = this._sharedScreenShareSharedDataSource.screenSharingOwner) === null || _this$_sharedScreenSh === void 0 ? void 0 : _this$_sharedScreenSh.userId) === targetUser.userId;
|
|
357
392
|
if (isModifiySharingScreenUser) {
|
|
358
|
-
this.
|
|
393
|
+
this._sharedScreenShareSharedDataSource.setScreenSharingOwner(targetUser);
|
|
359
394
|
}
|
|
360
395
|
this.updateMemberListWithBoardState();
|
|
361
396
|
}
|
|
@@ -402,6 +437,20 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
|
|
|
402
437
|
});
|
|
403
438
|
this.updateMemberListWithBoardState();
|
|
404
439
|
}
|
|
440
|
+
}, {
|
|
441
|
+
key: "_handleRemoteVideoStatsUpdated",
|
|
442
|
+
value: function _handleRemoteVideoStatsUpdated(roomId, streamId, videoStats) {
|
|
443
|
+
var stream = this._streamControl.getStreamByStreamId(streamId);
|
|
444
|
+
if ((stream === null || stream === void 0 ? void 0 : stream.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
|
|
445
|
+
var _videoStats$dimension = videoStats.dimensions,
|
|
446
|
+
width = _videoStats$dimension.width,
|
|
447
|
+
height = _videoStats$dimension.height;
|
|
448
|
+
if (width !== 0 && height !== 0) {
|
|
449
|
+
this._shareScreenVideoRatio = width / height;
|
|
450
|
+
this.shareScreenVideoSize = videoStats.dimensions;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
405
454
|
}, {
|
|
406
455
|
key: "_handleRemoteUserLeft",
|
|
407
456
|
value: function _handleRemoteUserLeft(roomId, events) {
|
|
@@ -451,12 +500,15 @@ var FcrUIMemberSharedDataSourceImpl = exports.FcrUIMemberSharedDataSourceImpl =
|
|
|
451
500
|
}]);
|
|
452
501
|
}();
|
|
453
502
|
_FcrUIMemberSharedDataSourceImpl = FcrUIMemberSharedDataSourceImpl;
|
|
454
|
-
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMemberSharedDataSourceImpl, [[_mobx.observable, 1, "_serverPushTotalUserCount"], [_mobx.observable, 1, "_audioVolumeMap"], [_mobx.observable, 1, "_isLocalUserInPstn"], [_mobx.observable, 1, "_interpreterInputLanguageList"], [_mobx.observable, 1, "_localUser"], [_mobx.observable, 1, "totalUserCount"], [_mobx.computed, 3, "hasOwnPstnStream"], [_mobx.computed, 3, "interpreterInputLanguageList"], [_mobx.computed, 3, "audioVolumeMap"], [_mobx.computed, 3, "isLocalUserHost"], [_mobx.computed, 3, "remoteMembers"], [_mobx.computed, 3, "remoteMembersUserInfosList"], [_mobx.computed, 3, "memberUserInfoList"], [_updateMemberListWithBoardStateDecs, 18, "updateMemberListWithBoardState"], [_setIsLocalUserInPstnDecs, 18, "_setIsLocalUserInPstn"], [_handleAllUserCountUpdatedDecs, 18, "_handleAllUserCountUpdated"], [_setTotalUserCountDecs, 18, "_setTotalUserCount"], [_handleUserInfoUpdatedDecs, 18, "_handleUserInfoUpdated"], [_syncParticipantsDecs, 2, "_syncParticipants"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleRemoteUserJoinedDecs, 18, "_handleRemoteUserJoined"], [_handleRemoteUserLeftDecs, 18, "_handleRemoteUserLeft"], [_handleStreamsAddedDecs, 18, "_handleStreamsAdded"], [_handleStreamsUpdatedDecs, 18, "_handleStreamsUpdated"], [_handleStreamsRemovedDecs, 18, "_handleStreamsRemoved"]], []).e,
|
|
503
|
+
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMemberSharedDataSourceImpl, [[_mobx.observable, 1, "_serverPushTotalUserCount"], [_mobx.observable, 1, "_audioVolumeMap"], [_mobx.observable, 1, "_isLocalUserInPstn"], [_mobx.observable, 1, "_interpreterInputLanguageList"], [_mobx.observable, 1, "_localUser"], [_mobx.observable, 1, "serverPushTotalUserCount"], [_mobx.observable, 1, "_shareScreenVideoRatio"], [_mobx.observable, 1, "totalUserCount"], [_mobx.observable, 1, "shareScreenVideoSize"], [_mobx.computed, 3, "shareScreenVideoRatio"], [_mobx.computed, 3, "hasOwnPstnStream"], [_mobx.computed, 3, "interpreterInputLanguageList"], [_mobx.computed, 3, "audioVolumeMap"], [_mobx.computed, 3, "isLocalUserHost"], [_mobx.computed, 3, "remoteMembers"], [_mobx.computed, 3, "remoteMembersUserInfosList"], [_mobx.computed, 3, "memberUserInfoList"], [_updateMemberListWithBoardStateDecs, 18, "updateMemberListWithBoardState"], [_setIsLocalUserInPstnDecs, 18, "_setIsLocalUserInPstn"], [_handleAllUserCountUpdatedDecs, 18, "_handleAllUserCountUpdated"], [_setTotalUserCountDecs, 18, "_setTotalUserCount"], [_handleUserInfoUpdatedDecs, 18, "_handleUserInfoUpdated"], [_syncParticipantsDecs, 2, "_syncParticipants"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleRemoteUserJoinedDecs, 18, "_handleRemoteUserJoined"], [_handleRemoteVideoStatsUpdatedDecs, 18, "_handleRemoteVideoStatsUpdated"], [_handleRemoteUserLeftDecs, 18, "_handleRemoteUserLeft"], [_handleStreamsAddedDecs, 18, "_handleStreamsAdded"], [_handleStreamsUpdatedDecs, 18, "_handleStreamsUpdated"], [_handleStreamsRemovedDecs, 18, "_handleStreamsRemoved"]], []).e, 10);
|
|
455
504
|
_init__serverPushTotalUserCount = _applyDecs$e[0];
|
|
456
505
|
_init__audioVolumeMap = _applyDecs$e[1];
|
|
457
506
|
_init__isLocalUserInPstn = _applyDecs$e[2];
|
|
458
507
|
_init__interpreterInputLanguageList = _applyDecs$e[3];
|
|
459
508
|
_init__localUser = _applyDecs$e[4];
|
|
460
|
-
|
|
461
|
-
|
|
509
|
+
_init_serverPushTotalUserCount = _applyDecs$e[5];
|
|
510
|
+
_init__shareScreenVideoRatio = _applyDecs$e[6];
|
|
511
|
+
_init_totalUserCount = _applyDecs$e[7];
|
|
512
|
+
_init_shareScreenVideoSize = _applyDecs$e[8];
|
|
513
|
+
_initProto = _applyDecs$e[9];
|
|
462
514
|
(0, _base.registerDependency)('sharedMemberDataSource');
|
|
@@ -0,0 +1,270 @@
|
|
|
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
|
+
get isSeizeStream(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 检查当前是否正在进行屏幕共享
|
|
105
|
+
* @returns 如果有用户正在进行屏幕共享则返回 true,否则返回 false
|
|
106
|
+
*/
|
|
107
|
+
get isSharingScreen(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* 获取当前屏幕共享的所有者信息
|
|
110
|
+
* @returns 当前屏幕共享的所有者用户信息,如果没有正在进行的共享则返回 undefined
|
|
111
|
+
*/
|
|
112
|
+
get screenSharingOwner(): FcrUserInfo | undefined;
|
|
113
|
+
setIsSeizeStream(seize: boolean): void;
|
|
114
|
+
/**
|
|
115
|
+
* 设置当前是否正在进行屏幕共享的状态
|
|
116
|
+
* @param isSharing - 布尔值,表示是否正在进行屏幕共享
|
|
117
|
+
*/
|
|
118
|
+
setIsSharingScreen(isSharing: boolean): void;
|
|
119
|
+
/**
|
|
120
|
+
* 设置当前是否处于替换屏幕共享内容的状态
|
|
121
|
+
* @param isReplace - 布尔值,表示是否正在替换屏幕共享内容
|
|
122
|
+
*/
|
|
123
|
+
setIsReplaceScreen(isReplace: boolean): void;
|
|
124
|
+
/**
|
|
125
|
+
* 设置当前屏幕共享的所有者信息
|
|
126
|
+
* @param owner - 用户信息对象,表示屏幕共享的所有者,传入 undefined 表示停止共享
|
|
127
|
+
*/
|
|
128
|
+
setScreenSharingOwner(owner: FcrUserInfo | undefined): void;
|
|
129
|
+
/**
|
|
130
|
+
* 设置当前屏幕共享的音频轨道
|
|
131
|
+
* @param shareAudioTrack - 音频轨道对象,表示屏幕共享的音频轨道,传入 null 表示不共享音频
|
|
132
|
+
*/
|
|
133
|
+
setShareWithAudioTrack(shareWithAudioTrack: FcrLoopbackTrack | null): void;
|
|
134
|
+
/**
|
|
135
|
+
* 设置当前环路back音频源的标识符
|
|
136
|
+
* @param sourceId - 音频源的唯一标识符
|
|
137
|
+
*/
|
|
138
|
+
setLoopbackAudioSourceId(sourceId: string): void;
|
|
139
|
+
/**
|
|
140
|
+
* 设置当前屏幕共享的媒体轨道
|
|
141
|
+
* @param screenTrack - 屏幕共享的媒体轨道对象,传入 null 表示停止共享屏幕
|
|
142
|
+
*/
|
|
143
|
+
setScreenTrack(screenTrack: FcrScreenTrack | null): void;
|
|
144
|
+
/**
|
|
145
|
+
* 设置当前屏幕共享会话的唯一标识符
|
|
146
|
+
* @param id - 屏幕共享会话的唯一标识符
|
|
147
|
+
*/
|
|
148
|
+
setCurrentShareId(id: string): void;
|
|
149
|
+
/**
|
|
150
|
+
* 设置当前屏幕共享内容的类型
|
|
151
|
+
* @param type - 屏幕共享内容的类型:SCREEN(1) 或 WINDOW(2)
|
|
152
|
+
*/
|
|
153
|
+
setCurrentShareType(type: AgoraRtcScreenCaptureType): void;
|
|
154
|
+
/**
|
|
155
|
+
* 设置当前屏幕共享流的唯一标识符
|
|
156
|
+
* @param streamId - 屏幕共享流的唯一标识符
|
|
157
|
+
*/
|
|
158
|
+
setCurrentShareStreamId(streamId: string): void;
|
|
159
|
+
/**
|
|
160
|
+
* 设置屏幕共享是否包含音频
|
|
161
|
+
* @param status - 布尔值,表示是否在屏幕共享中包含音频
|
|
162
|
+
*/
|
|
163
|
+
setShareWithAudio(status: boolean): void;
|
|
164
|
+
/**
|
|
165
|
+
* 设置当前选中的共享内容标识符
|
|
166
|
+
* @param id - 共享内容的唯一标识符(如窗口ID或屏幕ID)
|
|
167
|
+
*/
|
|
168
|
+
setCurrentSelectionId(id: string): void;
|
|
169
|
+
/**
|
|
170
|
+
* 设置当前选中的共享内容类型
|
|
171
|
+
* @param type - 共享内容的类型:SCREEN(1) 或 WINDOW(2)
|
|
172
|
+
*/
|
|
173
|
+
setCurrentSelectionType(type: AgoraRtcScreenCaptureType): void;
|
|
174
|
+
/**
|
|
175
|
+
* 设置当前选中的共享区域边界信息
|
|
176
|
+
* @param bounds - 共享区域的位置和尺寸信息
|
|
177
|
+
*/
|
|
178
|
+
setCurrentSelectionBounds(bounds: CurrentShareBounds): void;
|
|
179
|
+
/**
|
|
180
|
+
* 一次性设置当前选中的共享内容信息
|
|
181
|
+
* @param id - 共享内容的唯一标识符
|
|
182
|
+
* @param type - 共享内容的类型
|
|
183
|
+
* @param bounds - 共享区域的边界信息
|
|
184
|
+
*/
|
|
185
|
+
setCurrentSelection(id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
|
|
186
|
+
/**
|
|
187
|
+
* 设置当前屏幕共享的完整信息
|
|
188
|
+
* @param id - 共享会话的唯一标识符
|
|
189
|
+
* @param type - 共享内容的类型
|
|
190
|
+
* @param bounds - 共享区域的边界信息
|
|
191
|
+
*/
|
|
192
|
+
setCurrentShareIdInfos(id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
|
|
193
|
+
/**
|
|
194
|
+
* 设置当前屏幕共享的媒体流状态
|
|
195
|
+
* @param state - 屏幕共享的媒体流状态,枚举类型 FcrMediaSourceState
|
|
196
|
+
*/
|
|
197
|
+
setScreenSharingState(state: FcrMediaSourceState): void;
|
|
198
|
+
/**
|
|
199
|
+
* 设置可用的应用窗口捕获源列表
|
|
200
|
+
* @param windowInfos - 应用窗口信息列表
|
|
201
|
+
*/
|
|
202
|
+
setApplicationCaptureSources(windowInfos: AgoraRtcWindowInfo[]): void;
|
|
203
|
+
/**
|
|
204
|
+
* 设置可用的屏幕捕获源列表
|
|
205
|
+
* @param sources - 屏幕捕获源信息列表
|
|
206
|
+
*/
|
|
207
|
+
setScreenCaptureSources(sources: FcrUIDisplayCaptureSource[]): void;
|
|
208
|
+
/**
|
|
209
|
+
* 设置当前屏幕共享的音频处理声道模式
|
|
210
|
+
* @param channel - 音频声道模式:MONO(单声道)或 STEREO(立体声)
|
|
211
|
+
*/
|
|
212
|
+
setCurrentShareAudioProcessingChannel(channel: AudioProcessingChannel): void;
|
|
213
|
+
/**
|
|
214
|
+
* 释放屏幕共享相关资源
|
|
215
|
+
* 清理所有订阅和资源,通常在组件卸载时调用
|
|
216
|
+
*/
|
|
217
|
+
release(): void;
|
|
218
|
+
}
|
|
219
|
+
export declare class FcrUIScreenShareSharedDataSourceImpl implements FcrUIScreenShareSharedDataSource {
|
|
220
|
+
private _connectionProvider;
|
|
221
|
+
private _deviceProvider;
|
|
222
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
223
|
+
private _disposers;
|
|
224
|
+
private _connectionObserver;
|
|
225
|
+
accessor isSharingScreen: boolean;
|
|
226
|
+
accessor screenSharingOwner: FcrUserInfo | undefined;
|
|
227
|
+
accessor screenSharingState: FcrMediaSourceState;
|
|
228
|
+
accessor applicationCaptureSources: AgoraRtcWindowInfo[];
|
|
229
|
+
accessor screenCaptureSources: FcrUIDisplayCaptureSource[];
|
|
230
|
+
accessor currentShareAudioProcessingChannel: AudioProcessingChannel;
|
|
231
|
+
accessor currentSelectionId: string;
|
|
232
|
+
accessor currentSelectionType: AgoraRtcScreenCaptureType;
|
|
233
|
+
accessor shareWithAudio: boolean;
|
|
234
|
+
accessor boardOwnerUser: FcrUserInfo | undefined;
|
|
235
|
+
accessor currentSelectionBounds: CurrentShareBounds;
|
|
236
|
+
accessor connectionState: FcrConnectionState;
|
|
237
|
+
accessor isReplaceScreen: boolean;
|
|
238
|
+
accessor isSeizeStream: boolean;
|
|
239
|
+
screenTrack: FcrScreenTrack | null;
|
|
240
|
+
shareWithAudioTrack: FcrLoopbackTrack | null;
|
|
241
|
+
currentShareId: string;
|
|
242
|
+
currentShareType: AgoraRtcScreenCaptureType;
|
|
243
|
+
currentShareStreamId: string;
|
|
244
|
+
loopbackAudioSourceId: string;
|
|
245
|
+
get appWindowList(): Promise<AgoraRtcWindowInfo[]>;
|
|
246
|
+
get displayList(): Promise<AgoraRtcDisplayInfo[]>;
|
|
247
|
+
constructor(_connectionProvider: FcrUIConnectionProvider, _deviceProvider: FcrUIDeviceProvider);
|
|
248
|
+
setIsSeizeStream(seized: boolean): void;
|
|
249
|
+
setIsReplaceScreen(isReplace: boolean): void;
|
|
250
|
+
setIsSharingScreen(isSharing: boolean): void;
|
|
251
|
+
setScreenSharingOwner(owner: FcrUserInfo | undefined): void;
|
|
252
|
+
setShareWithAudioTrack(shareWithAudioTrack: FcrLoopbackTrack | null): void;
|
|
253
|
+
setLoopbackAudioSourceId(sourceId: string): void;
|
|
254
|
+
setScreenTrack(screenTrack: FcrScreenTrack | null): void;
|
|
255
|
+
setCurrentShareType(type: AgoraRtcScreenCaptureType): void;
|
|
256
|
+
setCurrentShareId(id: string): void;
|
|
257
|
+
setCurrentShareStreamId(streamId: string): void;
|
|
258
|
+
setCurrentShareAudioProcessingChannel(channel: AudioProcessingChannel): void;
|
|
259
|
+
setScreenCaptureSources(sources: FcrUIDisplayCaptureSource[]): void;
|
|
260
|
+
setApplicationCaptureSources(windowInfos: AgoraRtcWindowInfo[]): void;
|
|
261
|
+
setScreenSharingState(state: FcrMediaSourceState): void;
|
|
262
|
+
setCurrentShareIdInfos(currentShareId: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
|
|
263
|
+
setCurrentSelection(id: string, type: AgoraRtcScreenCaptureType, bounds: CurrentShareBounds): void;
|
|
264
|
+
setCurrentSelectionId(id: string): void;
|
|
265
|
+
setCurrentSelectionType(type: AgoraRtcScreenCaptureType): void;
|
|
266
|
+
setCurrentSelectionBounds(bounds: CurrentShareBounds): void;
|
|
267
|
+
setShareWithAudio(withAudio: boolean): void;
|
|
268
|
+
release(): void;
|
|
269
|
+
private _handleOnConnectionStateUpdated;
|
|
270
|
+
}
|