fcr-ui-scene 3.7.5 → 3.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/lib/creator/index.js +3 -1
  2. package/lib/creator/provider-initializer.browser.js +13 -1
  3. package/lib/creator/provider-initializer.electron.js +22 -6
  4. package/lib/electron/bootstrap-sdk.js +39 -5
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/until.d.ts +5 -1
  13. package/lib/electron/until.js +6 -2
  14. package/lib/fragments/annotation/store.js +2 -0
  15. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  16. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  17. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  18. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  19. package/lib/modules/action-bar/components/screen-share/submenu.js +11 -8
  20. package/lib/modules/audio-stream/index.js +4 -2
  21. package/lib/modules/chat/index.css +4 -0
  22. package/lib/modules/chat/view.js +2 -1
  23. package/lib/modules/components/control-bar/index.css +0 -2
  24. package/lib/modules/components/control-bar/index.d.ts +1 -0
  25. package/lib/modules/components/control-bar/index.js +26 -9
  26. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  27. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  28. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  29. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  30. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  31. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  32. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  33. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  34. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  35. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +14 -2
  36. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  37. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  38. package/lib/modules/control-bar/components/cloud-recording-buttons.js +3 -0
  39. package/lib/modules/control-bar/hooks.js +2 -1
  40. package/lib/modules/control-bar/store.d.ts +1 -0
  41. package/lib/modules/control-bar/store.js +10 -1
  42. package/lib/modules/control-bar/view.js +96 -28
  43. package/lib/modules/dialog/components/confirm/index.js +6 -24
  44. package/lib/modules/dialog/components/dialog-container/index.css +7 -0
  45. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  46. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  47. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  48. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  49. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  50. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  51. package/lib/modules/dialog/dialogs/participant/index.js +7 -1
  52. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  53. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  54. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  55. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  56. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  57. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  58. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  59. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  60. package/lib/modules/dialog/index.css +6 -2
  61. package/lib/modules/dialog/level-config.d.ts +1 -0
  62. package/lib/modules/dialog/level-config.js +2 -1
  63. package/lib/modules/dialog/store.base.d.ts +2 -0
  64. package/lib/modules/dialog/store.browser.d.ts +2 -0
  65. package/lib/modules/dialog/store.browser.js +6 -1
  66. package/lib/modules/dialog/store.electron.d.ts +9 -1
  67. package/lib/modules/dialog/store.electron.js +64 -4
  68. package/lib/modules/dialog/type.d.ts +3 -0
  69. package/lib/modules/event-toast/index.css +0 -1
  70. package/lib/modules/event-toast/index.js +1 -0
  71. package/lib/modules/event-toast/store.base.d.ts +2 -0
  72. package/lib/modules/event-toast/store.base.js +40 -21
  73. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  74. package/lib/modules/event-toast/store.electron.js +19 -9
  75. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  76. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  77. package/lib/modules/participant/store.base.d.ts +30 -3
  78. package/lib/modules/participant/store.base.js +249 -96
  79. package/lib/modules/participant/store.browser.js +4 -3
  80. package/lib/modules/participant/store.electron.js +5 -3
  81. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  82. package/lib/modules/secondary-window/store.d.ts +1 -0
  83. package/lib/modules/secondary-window/store.js +5 -0
  84. package/lib/modules/secondary-window/view.js +4 -5
  85. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  86. package/lib/modules/setting/index.css +1 -0
  87. package/lib/modules/setting/index.js +1 -1
  88. package/lib/modules/setting/state/index.js +1 -1
  89. package/lib/modules/setting/store.base.d.ts +5 -2
  90. package/lib/modules/setting/store.base.js +66 -26
  91. package/lib/modules/setting/view.js +3 -0
  92. package/lib/modules/share-screen/components/selection/index.css +4 -0
  93. package/lib/modules/share-screen/store.base.js +17 -4
  94. package/lib/modules/share-screen/store.electron.js +4 -1
  95. package/lib/modules/video-window/popover-watcher.d.ts +3 -11
  96. package/lib/modules/video-window/popover-watcher.js +22 -32
  97. package/lib/modules/video-window/store.d.ts +15 -5
  98. package/lib/modules/video-window/store.js +109 -64
  99. package/lib/modules/video-window/view.js +50 -1
  100. package/lib/modules/whiteboard/index.d.ts +1 -1
  101. package/lib/modules/whiteboard/index.js +1 -1
  102. package/lib/modules/whiteboard/store.d.ts +3 -0
  103. package/lib/modules/whiteboard/store.js +11 -0
  104. package/lib/modules/whiteboard/view.js +10 -1
  105. package/lib/modules/widget/sdk.js +1 -1
  106. package/lib/modules/widget/store.base.d.ts +1 -0
  107. package/lib/modules/widget/store.browser.d.ts +1 -0
  108. package/lib/modules/widget/store.browser.js +60 -4
  109. package/lib/modules/widget/store.electron.d.ts +1 -0
  110. package/lib/modules/widget/store.electron.js +59 -2
  111. package/lib/modules/widget/type.d.ts +3 -2
  112. package/lib/modules/widget/view.js +9 -4
  113. package/lib/modules/widget/web-widget.d.ts +2 -1
  114. package/lib/modules/widget/web-widget.js +7 -5
  115. package/lib/object-manager.d.ts +2 -1
  116. package/lib/object-manager.js +1 -0
  117. package/lib/providers/board-share/provider.base.d.ts +8 -1
  118. package/lib/providers/board-share/provider.base.js +12 -2
  119. package/lib/providers/device-provider.d.ts +16 -2
  120. package/lib/providers/device-provider.js +48 -59
  121. package/lib/providers/dialog/provider.base.d.ts +1 -0
  122. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  123. package/lib/providers/dialog/provider.browser.js +7 -2
  124. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  125. package/lib/providers/dialog/provider.electron.js +88 -2
  126. package/lib/providers/dialog/type.d.ts +7 -0
  127. package/lib/providers/mouse-detect/provider.d.ts +4 -1
  128. package/lib/providers/mouse-detect/provider.js +94 -5
  129. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  130. package/lib/providers/mouse-detect/struct.js +1 -0
  131. package/lib/providers/mouse-detect/type.d.ts +2 -0
  132. package/lib/providers/renderer-provider.d.ts +5 -0
  133. package/lib/providers/renderer-provider.js +5 -0
  134. package/lib/providers/room-provider/room-provider.d.ts +1 -0
  135. package/lib/providers/room-provider/room-provider.js +23 -13
  136. package/lib/providers/screen-share/provider.base.js +3 -11
  137. package/lib/providers/screen-share/provider.browser.js +23 -14
  138. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  139. package/lib/providers/screen-share/provider.electron.js +44 -17
  140. package/lib/providers/screen-share/strategy/browser.js +16 -13
  141. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  142. package/lib/providers/screen-share/strategy/electron.js +15 -10
  143. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  144. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  145. package/lib/providers/screen-share/stream-state-sync.js +7 -4
  146. package/lib/providers/screen-share/struct.d.ts +9 -7
  147. package/lib/providers/screen-share/struct.js +11 -8
  148. package/lib/providers/screen-share/type.d.ts +7 -1
  149. package/lib/providers/widget-provider.d.ts +5 -3
  150. package/lib/providers/widget-provider.js +12 -18
  151. package/lib/providers/window/main-window.js +3 -0
  152. package/lib/providers/window/renderer-window.js +4 -1
  153. package/lib/runtime.d.ts +1 -0
  154. package/lib/runtime.js +2 -1
  155. package/lib/scenes/main-scene.js +7 -0
  156. package/lib/shared-context/board-context.d.ts +2 -0
  157. package/lib/shared-context/board-context.js +2 -0
  158. package/lib/shared-data/member-data.d.ts +0 -8
  159. package/lib/shared-data/member-data.js +26 -78
  160. package/lib/shared-data/widget-data.d.ts +13 -0
  161. package/lib/shared-data/widget-data.js +50 -0
  162. package/lib/translations/enUS.d.ts +0 -2
  163. package/lib/translations/enUS.js +4 -6
  164. package/lib/translations/zhCN.d.ts +0 -2
  165. package/lib/translations/zhCN.js +4 -6
  166. package/lib/type.d.ts +5 -0
  167. package/lib/ui-scene.d.ts +2 -4
  168. package/lib/ui-scene.js +27 -40
  169. package/lib/utilities/constant.d.ts +3 -1
  170. package/lib/utilities/constant.js +5 -2
  171. package/lib/utilities/default-config.d.ts +18 -0
  172. package/lib/utilities/default-config.js +19 -1
  173. package/lib/utilities/focus-helper.js +10 -3
  174. package/lib/utilities/logger.js +3 -1
  175. package/lib/utilities/renderer.d.ts +1 -0
  176. package/lib/utilities/renderer.js +7 -1
  177. package/package.json +5 -5
  178. package/public/index.html +13 -3
  179. package/lib/modules/action-bar/index.d.ts +0 -17
  180. package/lib/modules/action-bar/index.js +0 -63
  181. package/lib/modules/action-bar/store.base.d.ts +0 -15
  182. package/lib/modules/action-bar/store.base.js +0 -117
  183. package/lib/modules/action-bar/view.d.ts +0 -5
  184. package/lib/modules/action-bar/view.js +0 -112
  185. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  186. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  187. package/lib/modules/control-bar/types.d.ts +0 -31
  188. package/lib/modules/control-bar/types.js +0 -6
  189. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  190. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  191. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  192. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  193. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  194. package/lib/modules/event-toast/store.d.ts +0 -23
  195. package/lib/modules/event-toast/store.js +0 -187
  196. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  197. package/lib/modules/setting/common/advance-link.js +0 -27
  198. package/lib/modules/setting/common/index.css +0 -26
  199. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  200. package/lib/modules/setting/common/useNamespace.js +0 -66
  201. package/lib/modules/widget/store.d.ts +0 -17
  202. package/lib/modules/widget/store.js +0 -71
  203. package/lib/providers/board-share/provider.d.ts +0 -66
  204. package/lib/providers/board-share/provider.js +0 -456
  205. package/lib/providers/screen-share/provider.d.ts +0 -69
  206. package/lib/providers/screen-share/provider.js +0 -615
  207. package/lib/providers/whiteboard-provider.d.ts +0 -26
  208. package/lib/providers/whiteboard-provider.js +0 -131
  209. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  210. package/lib/providers/window/browser-window-proxy.js +0 -1
  211. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  212. package/lib/providers/window/ipc-protocol.js +0 -1
  213. package/lib/providers/window/main-process-handler.d.ts +0 -0
  214. package/lib/providers/window/main-process-handler.js +0 -1
  215. package/lib/providers/window/main-process-integration.d.ts +0 -0
  216. package/lib/providers/window/main-process-integration.js +0 -1
  217. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  218. package/lib/shared-data/whiteboard-data.js +0 -342
  219. package/lib/utilities/ipc-protocol.d.ts +0 -91
  220. package/lib/utilities/ipc-protocol.js +0 -61
@@ -57,6 +57,7 @@ var _provider = require("./provider.base");
57
57
  var _browser = require("./strategy/browser");
58
58
  var _struct = require("./struct");
59
59
  var _decorator = require("agora-foundation/lib/decorator");
60
+ var _defaultConfig = require("../../utilities/default-config");
60
61
  var _FcrUIScreenShareProviderImpl;
61
62
  var _initProto;
62
63
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -116,7 +117,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
116
117
  key: "startShare",
117
118
  value: function () {
118
119
  var _startShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref) {
119
- var videoSourceId, _ref$captureType, captureType, _ref$excludeWindows, excludeWindows, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, _t, _t2;
120
+ var videoSourceId, _ref$captureType, captureType, _ref$excludeWindows, excludeWindows, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, encoderConfig, dimensions, frameRate, bitrate, _t, _t2;
120
121
  return _regenerator["default"].wrap(function (_context3) {
121
122
  while (1) switch (_context3.prev = _context3.next) {
122
123
  case 0:
@@ -162,12 +163,24 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
162
163
  if (audioSourceId) {
163
164
  createConfig.audioSourceId = audioSourceId;
164
165
  }
166
+
167
+ // first set screen scenario
168
+ if (this.isSharingInSmoothMode) {
169
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
170
+ } else {
171
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
172
+ }
173
+ encoderConfig = _defaultConfig.screenCaptureHighStreamEncoderConfig;
174
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
165
175
  _context3.prev = 5;
166
176
  _context3.next = 6;
167
177
  return this.strategy.startScreenCapture({
168
178
  sourceId: videoSourceId,
169
179
  captureType: captureType,
170
- excludeWindows: excludeWindows
180
+ excludeWindows: excludeWindows,
181
+ dimensions: dimensions,
182
+ frameRate: frameRate,
183
+ bitrate: bitrate
171
184
  });
172
185
  case 6:
173
186
  _context3.next = 8;
@@ -190,10 +203,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
190
203
  case 10:
191
204
  _context3.prev = 10;
192
205
  _context3.next = 11;
193
- return this._screenStreamSync.startScreenStream(createConfig, {
194
- width: 0,
195
- height: 0
196
- });
206
+ return this._screenStreamSync.startScreenStream(createConfig, encoderConfig);
197
207
  case 11:
198
208
  _context3.next = 13;
199
209
  break;
@@ -203,12 +213,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
203
213
  this.observable.notifyObservers('onScreenShareErrorOccurred', _struct.FcrUIScreenShareErrorCode.CANNOT_CREATE_STREAM);
204
214
  throw new Error("cannot create screen stream, error: ".concat(_t2));
205
215
  case 13:
206
- if (this.isSharingInSmoothMode) {
207
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
208
- } else {
209
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
210
- }
211
- case 14:
212
216
  case "end":
213
217
  return _context3.stop();
214
218
  }
@@ -246,16 +250,21 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
246
250
  key: "replaceShare",
247
251
  value: function () {
248
252
  var _replaceShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref2) {
249
- var videoSourceId, captureType, excludeWindows;
253
+ var videoSourceId, captureType, excludeWindows, encoderConfig, dimensions, frameRate, bitrate;
250
254
  return _regenerator["default"].wrap(function (_context5) {
251
255
  while (1) switch (_context5.prev = _context5.next) {
252
256
  case 0:
253
257
  videoSourceId = _ref2.videoSourceId, captureType = _ref2.captureType, excludeWindows = _ref2.excludeWindows;
258
+ encoderConfig = _defaultConfig.screenCaptureHighStreamEncoderConfig;
259
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
254
260
  _context5.next = 1;
255
261
  return this.strategy.replaceScreenCaptureSource({
256
262
  sourceId: videoSourceId,
257
263
  captureType: captureType,
258
- excludeWindows: excludeWindows
264
+ excludeWindows: excludeWindows,
265
+ dimensions: dimensions,
266
+ frameRate: frameRate,
267
+ bitrate: bitrate
259
268
  });
260
269
  case 1:
261
270
  case "end":
@@ -14,4 +14,5 @@ export declare class FcrUIScreenShareProviderImpl extends FcrUIScreenShareProvid
14
14
  findSharingDisplayBounds(): Electron.Rectangle;
15
15
  createStrategy(): FcrUIScreenShareStrategy;
16
16
  private _getExcludeWindows;
17
+ private _getEncoderConfig;
17
18
  }
@@ -41,6 +41,7 @@ exports.FcrUIScreenShareProviderImpl = void 0;
41
41
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
42
42
  require("core-js/modules/es.error.cause.js");
43
43
  require("core-js/modules/es.error.to-string.js");
44
+ require("core-js/modules/es.array.concat.js");
44
45
  require("core-js/modules/es.array.filter.js");
45
46
  require("core-js/modules/es.array.for-each.js");
46
47
  require("core-js/modules/es.array.includes.js");
@@ -54,6 +55,7 @@ require("core-js/modules/esnext.iterator.for-each.js");
54
55
  require("core-js/modules/esnext.iterator.map.js");
55
56
  require("core-js/modules/web.dom-collections.for-each.js");
56
57
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
58
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
57
59
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
58
60
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
59
61
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -71,6 +73,8 @@ var _struct = require("./struct");
71
73
  var _decorator = require("agora-foundation/lib/decorator");
72
74
  var _misc = require("agora-foundation/lib/utilities/misc");
73
75
  var _tools = require("../../utilities/tools");
76
+ var _constant = require("../../utilities/constant");
77
+ var _defaultConfig = require("../../utilities/default-config");
74
78
  var _FcrUIScreenShareProviderImpl;
75
79
  var _initProto;
76
80
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -135,7 +139,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
135
139
  return this._mediaControl.getWindowList();
136
140
  case 1:
137
141
  this._windowList = _context2.sent.filter(function (item) {
138
- return !['AgoraHighLighter', 'Toast', 'Confirm', 'Annotation tool bar', 'Annotation', 'Video Window', 'Control Bar', _this2._currentWindow.getTitle()].includes(item.title);
142
+ return ![].concat((0, _toConsumableArray2["default"])(_constant.ExcludeWIndows), [_this2._currentWindow.getTitle()]).includes(item.title);
139
143
  }).map(function (item) {
140
144
  return {
141
145
  id: item.id,
@@ -162,7 +166,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
162
166
  key: "startShare",
163
167
  value: function () {
164
168
  var _startShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref) {
165
- var videoSourceId, _ref$captureType, captureType, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, excludeWindows, _t, _t2;
169
+ var videoSourceId, _ref$captureType, captureType, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, encoderConfig, excludeWindows, dimensions, frameRate, bitrate, _t, _t2;
166
170
  return _regenerator["default"].wrap(function (_context3) {
167
171
  while (1) switch (_context3.prev = _context3.next) {
168
172
  case 0:
@@ -210,14 +214,10 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
210
214
  }
211
215
  this._sharingDisplayBounds = this.findSharingDisplayBounds();
212
216
  this.observable.notifyObservers('onPrepreScreenCapture');
213
-
214
- // create screen stream
217
+ encoderConfig = this._getEncoderConfig(); // create screen stream
215
218
  _context3.prev = 5;
216
219
  _context3.next = 6;
217
- return this._screenStreamSync.startScreenStream(createConfig, {
218
- width: 0,
219
- height: 0
220
- });
220
+ return this._screenStreamSync.startScreenStream(createConfig, encoderConfig);
221
221
  case 6:
222
222
  _context3.next = 8;
223
223
  break;
@@ -232,11 +232,15 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
232
232
  return this._getExcludeWindows();
233
233
  case 9:
234
234
  excludeWindows = _context3.sent;
235
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
235
236
  _context3.next = 10;
236
237
  return this.strategy.startScreenCapture({
237
238
  sourceId: videoSourceId,
238
239
  captureType: captureType,
239
- excludeWindows: excludeWindows
240
+ excludeWindows: excludeWindows,
241
+ dimensions: dimensions,
242
+ frameRate: frameRate,
243
+ bitrate: bitrate
240
244
  });
241
245
  case 10:
242
246
  _context3.next = 12;
@@ -254,12 +258,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
254
258
  _context3.next = 13;
255
259
  return this.strategy.startLoopbackCapture({});
256
260
  case 13:
257
- if (this.isSharingInSmoothMode) {
258
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
259
- } else {
260
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
261
- }
262
- case 14:
263
261
  case "end":
264
262
  return _context3.stop();
265
263
  }
@@ -300,7 +298,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
300
298
  key: "replaceShare",
301
299
  value: function () {
302
300
  var _replaceShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref2) {
303
- var videoSourceId, captureType, screenTrack, excludeWindows, _t3;
301
+ var videoSourceId, captureType, screenTrack, excludeWindows, encoderConfig, dimensions, frameRate, bitrate, _t3;
304
302
  return _regenerator["default"].wrap(function (_context5) {
305
303
  while (1) switch (_context5.prev = _context5.next) {
306
304
  case 0:
@@ -325,11 +323,16 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
325
323
  return this._getExcludeWindows();
326
324
  case 3:
327
325
  excludeWindows = _context5.sent;
326
+ encoderConfig = this._getEncoderConfig();
327
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
328
328
  _context5.next = 4;
329
329
  return this.strategy.replaceScreenCaptureSource({
330
330
  sourceId: videoSourceId,
331
331
  captureType: captureType,
332
- excludeWindows: excludeWindows
332
+ excludeWindows: excludeWindows,
333
+ dimensions: dimensions,
334
+ frameRate: frameRate,
335
+ bitrate: bitrate
333
336
  });
334
337
  case 4:
335
338
  if (!this._isSharingWithAudio) {
@@ -416,6 +419,30 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
416
419
  }
417
420
  return _getExcludeWindows;
418
421
  }()
422
+ }, {
423
+ key: "_getEncoderConfig",
424
+ value: function _getEncoderConfig() {
425
+ var dimensions;
426
+ var frameRate;
427
+ var bitrate;
428
+ if (this.isSharingInSmoothMode) {
429
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
430
+ dimensions = _defaultConfig.screenCaptureSmoothConfig.dimensions;
431
+ frameRate = _defaultConfig.screenCaptureSmoothConfig.frameRate;
432
+ bitrate = _defaultConfig.screenCaptureSmoothConfig.bitrate;
433
+ } else {
434
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
435
+ dimensions = _defaultConfig.screenCaptureClearityConfig.dimensions;
436
+ frameRate = _defaultConfig.screenCaptureClearityConfig.frameRate;
437
+ bitrate = _defaultConfig.screenCaptureClearityConfig.bitrate;
438
+ }
439
+ return {
440
+ dimensions: dimensions,
441
+ frameRate: frameRate,
442
+ bitrate: bitrate,
443
+ isMirror: false
444
+ };
445
+ }
419
446
  }]);
420
447
  }(_provider.FcrUIScreenShareProviderBase);
421
448
  _FcrUIScreenShareProviderImpl = FcrUIScreenShareProviderImpl;
@@ -49,20 +49,12 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
49
49
  }
50
50
  if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
51
51
  _this._screenTrack = null;
52
-
53
- // this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
54
-
55
52
  if (!_this._isReplacing) {
56
53
  _this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
57
54
  }
58
55
  }
59
56
  if (state === _fcrCore.FcrMediaSourceState.OPEN) {
60
- // this.observable.notifyObservers('onScreenCaptureStarted', sourceId);
61
-
62
- if (_this._isReplacing) {
63
- _this._isReplacing = false;
64
- _this.observable.notifyObservers('onScreenCaptureReplaced', sourceId);
65
- } else {
57
+ if (!_this._isReplacing) {
66
58
  _this.observable.notifyObservers('onScreenCaptureStarted', sourceId);
67
59
  }
68
60
  }
@@ -95,7 +87,7 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
95
87
  key: "replaceScreenCaptureSource",
96
88
  value: function () {
97
89
  var _replaceScreenCaptureSource = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
98
- var sourceId, screenTrack;
90
+ var sourceId, screenTrack, _t;
99
91
  return _regenerator["default"].wrap(function (_context) {
100
92
  while (1) switch (_context.prev = _context.next) {
101
93
  case 0:
@@ -116,13 +108,24 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
116
108
  return this._stopTrackAndWaitUntilSuccess(screenTrack);
117
109
  case 2:
118
110
  screenTrack = this._mediaControl.getScreenTrack(sourceId);
119
- _context.next = 3;
111
+ _context.prev = 3;
112
+ _context.next = 4;
120
113
  return this._startTrackAndWaitUntilSuccess(screenTrack);
121
- case 3:
114
+ case 4:
115
+ this.observable.notifyObservers('onScreenCaptureReplaced', sourceId);
116
+ _context.next = 6;
117
+ break;
118
+ case 5:
119
+ _context.prev = 5;
120
+ _t = _context["catch"](3);
121
+ this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
122
+ case 6:
123
+ this._isReplacing = false;
124
+ case 7:
122
125
  case "end":
123
126
  return _context.stop();
124
127
  }
125
- }, _callee, this);
128
+ }, _callee, this, [[3, 5]]);
126
129
  }));
127
130
  function replaceScreenCaptureSource(_x) {
128
131
  return _replaceScreenCaptureSource.apply(this, arguments);
@@ -10,13 +10,13 @@ export declare class FcrUIElectronScreenShareStrategy extends FcrUIScreenShareSt
10
10
  private _mediaControl;
11
11
  private _isReplacing;
12
12
  constructor(_objectManager: FcrUIObjectManager);
13
- startScreenCapture({ sourceId, captureType, excludeWindows, }: FcrUIScreenCaptureStartParams): Promise<void>;
13
+ startScreenCapture({ sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, }: FcrUIScreenCaptureStartParams): Promise<void>;
14
14
  stopScreenCapture(): Promise<void>;
15
15
  startLoopbackCapture(params: FcrUIScreenLoopbackCaptureStartParams): Promise<void>;
16
16
  stopLoopbackCapture(): Promise<void>;
17
17
  getScreenTrack(): FcrScreenTrack | null;
18
18
  getLoopbackDeviceId(): string | null;
19
- replaceScreenCaptureSource({ sourceId, captureType, excludeWindows, }: FcrUIScreenCaptureStartParams): Promise<void>;
19
+ replaceScreenCaptureSource({ sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, }: FcrUIScreenCaptureStartParams): Promise<void>;
20
20
  private _startTrackAndWaitUntilSuccess;
21
21
  private _stopTrackAndWaitUntilSuccess;
22
22
  }
@@ -24,7 +24,6 @@ var _logger = require("../../../utilities/logger");
24
24
  var _type = require("./type");
25
25
  var _objectManager2 = require("../../../object-manager");
26
26
  var _fcrCore = require("fcr-core");
27
- var _defaultConfig = require("../../../utilities/default-config");
28
27
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
29
28
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
29
  var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy = /*#__PURE__*/function (_FcrUIScreenShareStra) {
@@ -70,11 +69,11 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
70
69
  key: "startScreenCapture",
71
70
  value: function () {
72
71
  var _startScreenCapture = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
73
- var sourceId, captureType, excludeWindows, screenTrack;
72
+ var sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, screenTrack;
74
73
  return _regenerator["default"].wrap(function (_context) {
75
74
  while (1) switch (_context.prev = _context.next) {
76
75
  case 0:
77
- sourceId = _ref.sourceId, captureType = _ref.captureType, excludeWindows = _ref.excludeWindows;
76
+ sourceId = _ref.sourceId, captureType = _ref.captureType, excludeWindows = _ref.excludeWindows, dimensions = _ref.dimensions, frameRate = _ref.frameRate, bitrate = _ref.bitrate;
78
77
  if (sourceId) {
79
78
  _context.next = 1;
80
79
  break;
@@ -83,7 +82,7 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
83
82
  case 1:
84
83
  screenTrack = this._mediaControl.getScreenTrack(sourceId);
85
84
  _context.next = 2;
86
- return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows);
85
+ return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows, dimensions, frameRate, bitrate);
87
86
  case 2:
88
87
  case "end":
89
88
  return _context.stop();
@@ -162,11 +161,11 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
162
161
  key: "replaceScreenCaptureSource",
163
162
  value: function () {
164
163
  var _replaceScreenCaptureSource = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref2) {
165
- var sourceId, captureType, excludeWindows, screenTrack;
164
+ var sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, screenTrack;
166
165
  return _regenerator["default"].wrap(function (_context3) {
167
166
  while (1) switch (_context3.prev = _context3.next) {
168
167
  case 0:
169
- sourceId = _ref2.sourceId, captureType = _ref2.captureType, excludeWindows = _ref2.excludeWindows;
168
+ sourceId = _ref2.sourceId, captureType = _ref2.captureType, excludeWindows = _ref2.excludeWindows, dimensions = _ref2.dimensions, frameRate = _ref2.frameRate, bitrate = _ref2.bitrate;
170
169
  if (sourceId) {
171
170
  _context3.next = 1;
172
171
  break;
@@ -184,7 +183,7 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
184
183
  case 2:
185
184
  screenTrack = this._mediaControl.getScreenTrack(sourceId);
186
185
  _context3.next = 3;
187
- return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows);
186
+ return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows, dimensions, frameRate, bitrate);
188
187
  case 3:
189
188
  case "end":
190
189
  return _context3.stop();
@@ -202,12 +201,18 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
202
201
  var _startTrackAndWaitUntilSuccess2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(screenTrack, captureType) {
203
202
  var _this2 = this;
204
203
  var excludeWindows,
204
+ dimensions,
205
+ frameRate,
206
+ bitrate,
205
207
  p,
206
208
  _args4 = arguments;
207
209
  return _regenerator["default"].wrap(function (_context4) {
208
210
  while (1) switch (_context4.prev = _context4.next) {
209
211
  case 0:
210
212
  excludeWindows = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : [];
213
+ dimensions = _args4.length > 3 ? _args4[3] : undefined;
214
+ frameRate = _args4.length > 4 ? _args4[4] : undefined;
215
+ bitrate = _args4.length > 5 ? _args4[5] : undefined;
211
216
  this._screenTrack = screenTrack;
212
217
  p = new Promise(function (resolve, reject) {
213
218
  var waitObserver = {
@@ -229,9 +234,9 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
229
234
  screenTrack.addObserver(this._screenTrackObserver);
230
235
  screenTrack.setCaptureParams({
231
236
  withAudio: true,
232
- dimensions: _defaultConfig.screenCaptureHighStreamEncoderConfig.dimensions,
233
- frameRate: _defaultConfig.screenCaptureHighStreamEncoderConfig.frameRate,
234
- bitrate: _defaultConfig.screenCaptureHighStreamEncoderConfig.bitrate
237
+ dimensions: dimensions,
238
+ frameRate: frameRate,
239
+ bitrate: bitrate
235
240
  });
236
241
  screenTrack.start(captureType, excludeWindows);
237
242
  _context4.next = 1;
@@ -28,6 +28,12 @@ export interface FcrUIScreenCaptureStartParams {
28
28
  sourceId: string;
29
29
  captureType: FcrScreenCaptureType;
30
30
  excludeWindows?: string[];
31
+ dimensions: {
32
+ width: number;
33
+ height: number;
34
+ };
35
+ frameRate: number;
36
+ bitrate: number;
31
37
  }
32
38
  export interface FcrUIScreenLoopbackCaptureStartParams {
33
39
  }
@@ -1,5 +1,6 @@
1
1
  import { FcrUIManagedObject, FcrUIObjectManager } from '../../object-manager';
2
- import { FcrScreenStreamCreateConfig, FcrSize } from 'fcr-core/lib/room-control/stream-control/type';
2
+ import { FcrScreenStreamCreateConfig } from 'fcr-core/lib/room-control/stream-control/type';
3
+ import { FcrVideoEncoderConfig } from 'fcr-core/lib/type';
3
4
  import { FcrUIScreenStreamUpdateParams } from './type';
4
5
  export declare class FcrUIScreenStreamSync implements FcrUIManagedObject {
5
6
  protected logger: import("agora-foundation/lib/logger").Logger;
@@ -10,7 +11,7 @@ export declare class FcrUIScreenStreamSync implements FcrUIManagedObject {
10
11
  constructor(objectManager: FcrUIObjectManager);
11
12
  release(): void;
12
13
  checkIfMyScreenShareStreamExists(): string | null;
13
- startScreenStream(createConfig: FcrScreenStreamCreateConfig, size: FcrSize): Promise<void>;
14
+ startScreenStream(createConfig: FcrScreenStreamCreateConfig, encoderConfig: FcrVideoEncoderConfig): Promise<void>;
14
15
  stopScreenStream(): Promise<void>;
15
16
  updateStream({ videoSourceId, audioPublishPrivilege, videoPublishPrivilege, }: FcrUIScreenStreamUpdateParams): Promise<void>;
16
17
  isLocalScreenStreamCreated(): boolean;
@@ -64,12 +64,13 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
64
64
  }, {
65
65
  key: "startScreenStream",
66
66
  value: function () {
67
- var _startScreenStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(createConfig, size) {
68
- var _t;
67
+ var _startScreenStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(createConfig, encoderConfig) {
68
+ var streamId, screenStreamId, _t;
69
69
  return _regenerator["default"].wrap(function (_context) {
70
70
  while (1) switch (_context.prev = _context.next) {
71
71
  case 0:
72
- if (!this._myCurrentScreenShareStreamId) {
72
+ streamId = this._myCurrentScreenShareStreamId;
73
+ if (!streamId) {
73
74
  _context.next = 1;
74
75
  break;
75
76
  }
@@ -77,8 +78,10 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
77
78
  case 1:
78
79
  _context.prev = 1;
79
80
  _context.next = 2;
80
- return this._sharingControl.startScreenSharing(createConfig, size);
81
+ return this._sharingControl.startScreenSharing(createConfig, encoderConfig.dimensions);
81
82
  case 2:
83
+ screenStreamId = _context.sent;
84
+ this._streamControl.setVideoEncoderConfig(screenStreamId, encoderConfig, _type.FcrVideoStreamType.HIGH_STREAM);
82
85
  _context.next = 4;
83
86
  break;
84
87
  case 3:
@@ -15,22 +15,24 @@ export declare enum FcrUIScreenShareErrorCode {
15
15
  * 无法开始屏幕采集
16
16
  */
17
17
  CANNOT_START_SCREEN_CAPTURE = 4,
18
- /**
19
- * 无法开始声卡采集
20
- */
21
- CANNOT_START_LOOPBACK_CAPTURE = 5,
22
18
  /**
23
19
  * 无发流权限
24
20
  */
25
- NO_PUBLISH_PRIVILIGE = 6,
21
+ NO_PUBLISH_PRIVILIGE = 5,
26
22
  /**
27
23
  * 无屏幕采集权限
28
24
  */
29
- NO_SCREEN_RECORDING_PERMISSION = 7,
25
+ NO_SCREEN_RECORDING_PERMISSION = 6,
30
26
  /**
31
27
  * 网络未连接
32
28
  */
33
- NETWORK_DISCONNECTED = 8
29
+ NETWORK_DISCONNECTED = 7
30
+ }
31
+ export declare enum FcrUIAudioShareErrorCode {
32
+ /**
33
+ * 无法更新音频流
34
+ */
35
+ CANNOT_UPDATE_STREAM = 0
34
36
  }
35
37
  export declare enum FcrUIScreenShareStopReason {
36
38
  /**
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.FcrUIScreenShareStopReason = exports.FcrUIScreenShareErrorCode = void 0;
7
+ exports.FcrUIScreenShareStopReason = exports.FcrUIScreenShareErrorCode = exports.FcrUIAudioShareErrorCode = void 0;
8
8
  var FcrUIScreenShareErrorCode = exports.FcrUIScreenShareErrorCode = /*#__PURE__*/function (FcrUIScreenShareErrorCode) {
9
9
  /**
10
10
  * 当前已经在共享了,不能开启共享
@@ -22,24 +22,27 @@ var FcrUIScreenShareErrorCode = exports.FcrUIScreenShareErrorCode = /*#__PURE__*
22
22
  * 无法开始屏幕采集
23
23
  */
24
24
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_START_SCREEN_CAPTURE"] = 4] = "CANNOT_START_SCREEN_CAPTURE";
25
- /**
26
- * 无法开始声卡采集
27
- */
28
- FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_START_LOOPBACK_CAPTURE"] = 5] = "CANNOT_START_LOOPBACK_CAPTURE";
29
25
  /**
30
26
  * 无发流权限
31
27
  */
32
- FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_PUBLISH_PRIVILIGE"] = 6] = "NO_PUBLISH_PRIVILIGE";
28
+ FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_PUBLISH_PRIVILIGE"] = 5] = "NO_PUBLISH_PRIVILIGE";
33
29
  /**
34
30
  * 无屏幕采集权限
35
31
  */
36
- FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_SCREEN_RECORDING_PERMISSION"] = 7] = "NO_SCREEN_RECORDING_PERMISSION";
32
+ FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_SCREEN_RECORDING_PERMISSION"] = 6] = "NO_SCREEN_RECORDING_PERMISSION";
37
33
  /**
38
34
  * 网络未连接
39
35
  */
40
- FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NETWORK_DISCONNECTED"] = 8] = "NETWORK_DISCONNECTED";
36
+ FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NETWORK_DISCONNECTED"] = 7] = "NETWORK_DISCONNECTED";
41
37
  return FcrUIScreenShareErrorCode;
42
38
  }({});
39
+ var FcrUIAudioShareErrorCode = exports.FcrUIAudioShareErrorCode = /*#__PURE__*/function (FcrUIAudioShareErrorCode) {
40
+ /**
41
+ * 无法更新音频流
42
+ */
43
+ FcrUIAudioShareErrorCode[FcrUIAudioShareErrorCode["CANNOT_UPDATE_STREAM"] = 0] = "CANNOT_UPDATE_STREAM";
44
+ return FcrUIAudioShareErrorCode;
45
+ }({});
43
46
  var FcrUIScreenShareStopReason = exports.FcrUIScreenShareStopReason = /*#__PURE__*/function (FcrUIScreenShareStopReason) {
44
47
  /**
45
48
  * 正常停止
@@ -1,6 +1,6 @@
1
1
  import { FcrStreamPrivilegeOperation } from 'fcr-core';
2
2
  import { FcrScreenCaptureType, FcrUserInfo } from 'fcr-core/lib/type';
3
- import { FcrUIScreenShareErrorCode, FcrUIScreenShareStopReason } from './struct';
3
+ import { FcrUIAudioShareErrorCode, FcrUIScreenShareErrorCode, FcrUIScreenShareStopReason } from './struct';
4
4
  import { FcrScreenTrack } from 'fcr-core/lib/media-control/type';
5
5
  export interface FcrUIScreenShareWindowInfo {
6
6
  id: string;
@@ -56,6 +56,12 @@ export interface FcrUIScreenShareObserver {
56
56
  * @returns
57
57
  */
58
58
  onScreenShareErrorOccurred?: (code: FcrUIScreenShareErrorCode) => void;
59
+ /**
60
+ * 音频共享错误发生
61
+ * @param code
62
+ * @returns
63
+ */
64
+ onAudioShareErrorOccurred?: (code: FcrUIAudioShareErrorCode) => void;
59
65
  }
60
66
  export interface FcrUIScreenShareProvider {
61
67
  /**
@@ -3,6 +3,7 @@ import { FcrRegisteredWidgetConfigs, FcrUIWebWidget, ID } from '../modules/widge
3
3
  import { FcrUIWebWidgetConfig } from '../type';
4
4
  import { FcrUIManagedObject } from '../object-manager';
5
5
  import { FcrUIDialogProvider } from './dialog/type';
6
+ import { FcrUISharedWidgetDataSource } from '../shared-data/widget-data';
6
7
  export interface FcrUIWidgetObserver {
7
8
  onWidgetClicked(widgetId: string): void;
8
9
  }
@@ -60,11 +61,12 @@ export declare class FcrUIWidgetProviderImpl implements FcrUIWidgetProvider, Fcr
60
61
  private _dialogProvider;
61
62
  private _dialogProviderObserver;
62
63
  private _observable;
64
+ private _sharedWidgetDataSource;
63
65
  accessor dialogIds: Map<ID, string>;
64
- accessor registeredWidgetConfigs: FcrRegisteredWidgetConfigs;
65
66
  accessor openedWidgets: Map<ID, FcrUIWebWidget>;
66
- constructor({ registeredWidgetConfigs, roomProvider, dialogProvider, }: {
67
- registeredWidgetConfigs: FcrRegisteredWidgetConfigs;
67
+ get registeredWidgetConfigs(): FcrRegisteredWidgetConfigs;
68
+ constructor({ sharedWidgetDataSource, roomProvider, dialogProvider, }: {
69
+ sharedWidgetDataSource: FcrUISharedWidgetDataSource;
68
70
  roomProvider: FcrUIRoomProvider;
69
71
  dialogProvider: FcrUIDialogProvider;
70
72
  });