fcr-ui-scene 3.5.1 → 3.6.1

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 (395) hide show
  1. package/lib/creator.d.ts +14 -0
  2. package/lib/creator.js +239 -14
  3. package/lib/electron/app.js +0 -21
  4. package/lib/electron/bootstrap-sdk.js +145 -7
  5. package/lib/electron/injections.d.ts +19 -7
  6. package/lib/electron/injections.js +206 -77
  7. package/lib/electron/ipc/ipc.d.ts +26 -0
  8. package/lib/electron/ipc/ipc.js +137 -0
  9. package/lib/electron/ipc/type.d.ts +11 -0
  10. package/lib/electron/ipc/type.js +19 -0
  11. package/lib/electron/logger.js +1 -1
  12. package/lib/electron/main.js +1 -1
  13. package/lib/electron/plugins/meeting-state.d.ts +1 -0
  14. package/lib/electron/plugins/meeting-state.js +3 -3
  15. package/lib/electron/plugins/screenshot.js +2 -2
  16. package/lib/electron/preload.js +67 -5
  17. package/lib/electron/window.js +0 -2
  18. package/lib/global.css +39 -0
  19. package/lib/modules/action-bar/components/apps/index.js +1 -0
  20. package/lib/modules/action-bar/components/apps/useWidgetList.js +1 -1
  21. package/lib/modules/action-bar/components/board/index.js +0 -2
  22. package/lib/modules/action-bar/components/breakout-room/index.js +0 -2
  23. package/lib/modules/action-bar/components/item/index.d.ts +2 -0
  24. package/lib/modules/action-bar/components/item/index.js +4 -2
  25. package/lib/modules/action-bar/components/leave/index.js +2 -12
  26. package/lib/modules/action-bar/components/more/index.js +1 -0
  27. package/lib/modules/action-bar/components/more/poppover-content.js +6 -9
  28. package/lib/modules/action-bar/components/participants/index.js +1 -9
  29. package/lib/modules/action-bar/components/record/index.js +43 -106
  30. package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
  31. package/lib/modules/action-bar/components/record/popover.js +57 -0
  32. package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
  33. package/lib/modules/action-bar/components/screen-share/index.js +11 -3
  34. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  35. package/lib/modules/action-bar/components/security/index.js +2 -1
  36. package/lib/modules/action-bar/components/smaller/index.js +1 -1
  37. package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
  39. package/lib/modules/action-bar/index.css +3 -2
  40. package/lib/modules/action-bar/index.js +2 -1
  41. package/lib/modules/action-bar/store.d.ts +5 -2
  42. package/lib/modules/action-bar/store.js +34 -22
  43. package/lib/modules/action-bar/types.d.ts +1 -0
  44. package/lib/modules/action-bar/view.js +1 -1
  45. package/lib/modules/audio-stream/index.js +4 -4
  46. package/lib/modules/chat/chat-room-store.js +4 -5
  47. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  48. package/lib/modules/chat/components/chat-bar/index.js +5 -3
  49. package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
  50. package/lib/modules/chat/components/message-list/index.js +1 -2
  51. package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
  52. package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
  53. package/lib/modules/chat/index.css +24 -0
  54. package/lib/modules/chat/view.js +13 -3
  55. package/lib/modules/components/device-control/components/carmera/index.js +4 -5
  56. package/lib/modules/components/device-control/components/microphone/index.js +4 -5
  57. package/lib/modules/components/device-control/index.css +6 -3
  58. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
  59. package/lib/modules/components/leave-meeting/components/index.css +35 -0
  60. package/lib/modules/components/leave-meeting/index.js +1 -0
  61. package/lib/modules/components/leave-meeting/store.js +25 -67
  62. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
  63. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -2
  64. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  66. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
  67. package/lib/modules/components/member-window/components/member-actions/index.js +2 -4
  68. package/lib/modules/components/member-window/components/member-actions/libs/index.js +0 -1
  69. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -1
  70. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +4 -16
  71. package/lib/modules/components/member-window/index.css +19 -7
  72. package/lib/modules/components/member-window/index.js +0 -1
  73. package/lib/modules/components/member-window/types.d.ts +1 -1
  74. package/lib/modules/components/security-menu/index.css +2 -2
  75. package/lib/modules/components/security-menu/index.js +80 -28
  76. package/lib/modules/components/tab-frame/index.css +1 -1
  77. package/lib/modules/connection-gateway/components/phone/index.js +1 -1
  78. package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
  79. package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
  80. package/lib/modules/control-bar/components/more-actions/index.js +3 -21
  81. package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
  82. package/lib/modules/control-bar/index.d.ts +2 -0
  83. package/lib/modules/control-bar/index.js +3 -1
  84. package/lib/modules/control-bar/store.d.ts +12 -3
  85. package/lib/modules/control-bar/store.js +106 -98
  86. package/lib/modules/control-bar/view.js +1 -6
  87. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  88. package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
  89. package/lib/modules/dialog/components/chat/index.js +24 -17
  90. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
  91. package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
  92. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
  93. package/lib/modules/dialog/components/control-bar/index.js +5 -17
  94. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  95. package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
  96. package/lib/modules/dialog/components/dialog-container/index.css +18 -1
  97. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  98. package/lib/modules/dialog/components/dialog-container/index.js +3 -1
  99. package/lib/modules/dialog/components/participant/index.d.ts +0 -1
  100. package/lib/modules/dialog/components/participant/index.js +15 -24
  101. package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
  102. package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
  103. package/lib/modules/dialog/components/pre-setting/index.css +26 -0
  104. package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
  105. package/lib/modules/dialog/components/pre-setting/index.js +38 -0
  106. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
  107. package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
  108. package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
  109. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
  110. package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
  111. package/lib/modules/dialog/components/rename/index.d.ts +4 -0
  112. package/lib/modules/dialog/components/rename/index.js +72 -0
  113. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -2
  114. package/lib/modules/dialog/components/video-window/index.js +18 -16
  115. package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
  116. package/lib/modules/dialog/components/widget/electron.js +3 -2
  117. package/lib/modules/dialog/components/widget/index.d.ts +2 -1
  118. package/lib/modules/dialog/components/widget/index.js +4 -6
  119. package/lib/modules/dialog/dialogs.d.ts +1 -0
  120. package/lib/modules/dialog/dialogs.js +3 -2
  121. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
  122. package/lib/modules/dialog/hooks/useElectron.js +22 -101
  123. package/lib/modules/dialog/index.d.ts +2 -0
  124. package/lib/modules/dialog/index.js +2 -2
  125. package/lib/modules/dialog/store.d.ts +8 -3
  126. package/lib/modules/dialog/store.js +38 -26
  127. package/lib/modules/dialog/type.d.ts +1 -0
  128. package/lib/modules/dialog/view.js +2 -1
  129. package/lib/modules/event-confirm/index.d.ts +2 -0
  130. package/lib/modules/event-confirm/index.js +2 -1
  131. package/lib/modules/event-confirm/store.d.ts +9 -1
  132. package/lib/modules/event-confirm/store.js +100 -8
  133. package/lib/modules/event-confirm/view.js +55 -46
  134. package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
  135. package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
  136. package/lib/modules/event-toast/store.js +6 -1
  137. package/lib/modules/interpreter/dialog-content/index.js +4 -1
  138. package/lib/modules/interpreter/index.d.ts +2 -0
  139. package/lib/modules/interpreter/index.js +2 -1
  140. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
  141. package/lib/modules/interpreter/store.d.ts +2 -2
  142. package/lib/modules/interpreter/store.js +30 -24
  143. package/lib/modules/interpreter/type.d.ts +2 -0
  144. package/lib/modules/invite/components/pstn-invite.js +2 -25
  145. package/lib/modules/invite/components/voip-invite.css +26 -0
  146. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  147. package/lib/modules/invite/components/voip-invite.js +8 -11
  148. package/lib/modules/invite/index.css +16 -3
  149. package/lib/modules/invite/index.d.ts +2 -1
  150. package/lib/modules/invite/index.js +2 -1
  151. package/lib/modules/invite/store.d.ts +5 -1
  152. package/lib/modules/invite/store.js +8 -1
  153. package/lib/modules/layout/components/Aside.js +0 -1
  154. package/lib/modules/layout/components/Carousel.d.ts +1 -1
  155. package/lib/modules/layout/components/Carousel.js +16 -118
  156. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
  157. package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
  158. package/lib/modules/layout/components/Gallery.d.ts +1 -0
  159. package/lib/modules/layout/components/Gallery.js +62 -205
  160. package/lib/modules/layout/components/index.css +17 -34
  161. package/lib/modules/layout/index.d.ts +2 -0
  162. package/lib/modules/layout/index.js +2 -1
  163. package/lib/modules/layout/store.d.ts +5 -2
  164. package/lib/modules/layout/store.js +53 -39
  165. package/lib/modules/layout/type.d.ts +4 -0
  166. package/lib/modules/layout/type.js +6 -1
  167. package/lib/modules/live-streaming/store.d.ts +1 -0
  168. package/lib/modules/live-streaming/store.js +19 -8
  169. package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
  170. package/lib/modules/participant/components/confirm-input/index.js +74 -6
  171. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
  172. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
  173. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -4
  174. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
  175. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
  176. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
  177. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
  178. package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
  179. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
  180. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
  181. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
  182. package/lib/modules/participant/index.css +6 -0
  183. package/lib/modules/participant/index.d.ts +1 -0
  184. package/lib/modules/participant/index.js +9 -0
  185. package/lib/modules/participant/store.d.ts +6 -0
  186. package/lib/modules/participant/store.js +130 -96
  187. package/lib/modules/pc-audio-connect/store.js +3 -2
  188. package/lib/modules/phone-audio-connect/index.d.ts +2 -0
  189. package/lib/modules/phone-audio-connect/index.js +2 -1
  190. package/lib/modules/phone-audio-connect/store.d.ts +4 -1
  191. package/lib/modules/phone-audio-connect/store.js +4 -2
  192. package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
  193. package/lib/modules/setting/audio-settings/index.css +23 -6
  194. package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
  195. package/lib/modules/setting/general-settings/general-settings.js +111 -37
  196. package/lib/modules/setting/general-settings/index.css +15 -0
  197. package/lib/modules/setting/index.d.ts +4 -1
  198. package/lib/modules/setting/index.js +7 -4
  199. package/lib/modules/setting/state/index.js +1 -1
  200. package/lib/modules/setting/store.d.ts +24 -11
  201. package/lib/modules/setting/store.js +203 -142
  202. package/lib/modules/setting/video-settings/index.css +13 -2
  203. package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
  204. package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
  205. package/lib/modules/setting/video-settings/video-settings.js +3 -2
  206. package/lib/modules/setting/view.d.ts +11 -2
  207. package/lib/modules/setting/view.js +93 -71
  208. package/lib/modules/share-screen/components/selection/index.js +6 -2
  209. package/lib/modules/share-screen/index.d.ts +4 -1
  210. package/lib/modules/share-screen/index.js +3 -1
  211. package/lib/modules/share-screen/store.d.ts +15 -5
  212. package/lib/modules/share-screen/store.js +105 -59
  213. package/lib/modules/share-screen/view.js +1 -1
  214. package/lib/modules/state-bar/index.css +4 -2
  215. package/lib/modules/state-bar/index.d.ts +2 -0
  216. package/lib/modules/state-bar/index.js +2 -1
  217. package/lib/modules/state-bar/layout-config.js +1 -0
  218. package/lib/modules/state-bar/live-streaming-state.js +1 -0
  219. package/lib/modules/state-bar/meeting-detail.css +10 -1
  220. package/lib/modules/state-bar/meeting-details.js +35 -25
  221. package/lib/modules/state-bar/meeting-network-state.css +8 -0
  222. package/lib/modules/state-bar/meeting-time.js +9 -20
  223. package/lib/modules/state-bar/store.d.ts +5 -1
  224. package/lib/modules/state-bar/store.js +10 -3
  225. package/lib/modules/state-bar/view.js +17 -6
  226. package/lib/modules/video-window/components/members/index.js +0 -3
  227. package/lib/modules/waiting-room-layout/index.css +13 -0
  228. package/lib/modules/waiting-room-layout/index.d.ts +2 -1
  229. package/lib/modules/waiting-room-layout/index.js +2 -1
  230. package/lib/modules/waiting-room-layout/store.d.ts +12 -1
  231. package/lib/modules/waiting-room-layout/store.js +42 -6
  232. package/lib/modules/waiting-room-layout/view.js +22 -5
  233. package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
  234. package/lib/modules/whiteboard/components/control-bar/index.js +0 -2
  235. package/lib/modules/whiteboard/components/scene-pagination.js +0 -2
  236. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
  237. package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
  238. package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
  239. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +1 -2
  240. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
  241. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
  242. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
  243. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
  244. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
  245. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
  246. package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
  247. package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
  248. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
  249. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
  250. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
  251. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
  252. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
  253. package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
  254. package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
  255. package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
  256. package/lib/modules/whiteboard/context.d.ts +1 -2
  257. package/lib/modules/whiteboard/index.d.ts +1 -14
  258. package/lib/modules/whiteboard/index.js +131 -426
  259. package/lib/modules/whiteboard/view.js +12 -10
  260. package/lib/modules/widget/sdk.js +2 -2
  261. package/lib/object-manager.d.ts +8 -0
  262. package/lib/object-manager.js +75 -0
  263. package/lib/plugins/browser-runtime-plugin.js +19 -14
  264. package/lib/providers/ability-provider.d.ts +8 -0
  265. package/lib/providers/ability-provider.js +14 -0
  266. package/lib/providers/device-privilege-provider.d.ts +1 -0
  267. package/lib/providers/device-privilege-provider.js +53 -75
  268. package/lib/providers/device-provider.d.ts +18 -8
  269. package/lib/providers/device-provider.js +378 -206
  270. package/lib/providers/device-stream-provider.js +0 -4
  271. package/lib/providers/dialog-provider.d.ts +1 -0
  272. package/lib/providers/dialog-provider.js +4 -18
  273. package/lib/providers/event-provider.js +45 -2
  274. package/lib/providers/interpreter-provider.d.ts +4 -0
  275. package/lib/providers/interpreter-provider.js +166 -137
  276. package/lib/providers/message-provider.js +44 -2
  277. package/lib/providers/privilege-provider.d.ts +33 -0
  278. package/lib/providers/privilege-provider.js +120 -45
  279. package/lib/providers/room-provider.d.ts +12 -10
  280. package/lib/providers/room-provider.js +162 -262
  281. package/lib/providers/screen-share-provider.d.ts +4 -0
  282. package/lib/providers/screen-share-provider.js +3 -6
  283. package/lib/providers/widget-provider.js +6 -4
  284. package/lib/runtime.d.ts +20 -8
  285. package/lib/scenes/main-scene.d.ts +2 -0
  286. package/lib/scenes/main-scene.js +95 -37
  287. package/lib/scenes/waiting-scene.js +16 -13
  288. package/lib/schema.d.ts +55 -32
  289. package/lib/schema.js +23 -9
  290. package/lib/shared-data-source/config.d.ts +6 -2
  291. package/lib/shared-data-source/config.js +81 -10
  292. package/lib/shared-data-source/meeting-time.js +2 -2
  293. package/lib/shared-data-source/member-data.d.ts +16 -20
  294. package/lib/shared-data-source/member-data.js +121 -110
  295. package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
  296. package/lib/shared-data-source/screen-share-data-source.js +134 -0
  297. package/lib/shared-data-source/security-data.d.ts +1 -0
  298. package/lib/shared-data-source/security-data.js +3 -5
  299. package/lib/shared-data-source/setting.d.ts +1 -0
  300. package/lib/shared-data-source/setting.js +33 -17
  301. package/lib/shared-data-source/video-window.d.ts +3 -4
  302. package/lib/shared-data-source/video-window.js +58 -48
  303. package/lib/translations/enUS.d.ts +48 -1
  304. package/lib/translations/enUS.js +101 -17
  305. package/lib/translations/zhCN.d.ts +48 -1
  306. package/lib/translations/zhCN.js +88 -4
  307. package/lib/type.d.ts +40 -20
  308. package/lib/type.js +14 -1
  309. package/lib/ui-manager.d.ts +11 -9
  310. package/lib/ui-manager.js +118 -29
  311. package/lib/ui-scene.d.ts +7 -4
  312. package/lib/ui-scene.js +111 -130
  313. package/lib/utilities/constant.d.ts +3 -1
  314. package/lib/utilities/constant.js +2 -0
  315. package/lib/utilities/copyText.js +15 -11
  316. package/lib/utilities/default-config.d.ts +2 -0
  317. package/lib/utilities/default-config.js +11 -5
  318. package/lib/utilities/i18n-common-data.d.ts +2 -0
  319. package/lib/utilities/i18n-common-data.js +15 -0
  320. package/lib/utilities/logger.d.ts +0 -1
  321. package/lib/utilities/logger.js +3 -4
  322. package/lib/utilities/renderer.d.ts +0 -9
  323. package/lib/utilities/renderer.js +1 -70
  324. package/lib/utilities/screen.js +3 -1
  325. package/lib/utilities/setting-config-storage.d.ts +6 -1
  326. package/lib/utilities/setting-config-storage.js +21 -4
  327. package/lib/utilities/tools.d.ts +30 -6
  328. package/lib/utilities/tools.js +74 -44
  329. package/lib/utilities/ui-resources.d.ts +6 -0
  330. package/lib/utilities/ui-resources.js +47 -9
  331. package/lib/waiting-room-control-manager.d.ts +4 -4
  332. package/lib/waiting-room-control-manager.js +29 -9
  333. package/package.json +6 -6
  334. package/public/assets/browser/images/default1.jpg +0 -0
  335. package/public/assets/browser/images/default2.jpg +0 -0
  336. package/public/assets/browser/images/default3.jpg +0 -0
  337. package/public/assets/browser/images/default4.jpg +0 -0
  338. package/public/assets/browser/images/default5.jpg +0 -0
  339. package/public/assets/browser/images/default6.jpg +0 -0
  340. package/public/assets/browser/images/default7.jpg +0 -0
  341. package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
  342. package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
  343. package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  344. package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  345. package/public/assets/browser/videos/default8.mp4 +0 -0
  346. package/public/assets/browser/videos/default9.mp4 +0 -0
  347. package/public/assets/electron/images/default1.jpg +0 -0
  348. package/public/assets/electron/images/default2.jpg +0 -0
  349. package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
  350. package/public/assets/electron/videos/default8.mp4 +0 -0
  351. package/public/index.html +103 -82
  352. package/lib/hooks/meeting-time.d.ts +0 -15
  353. package/lib/hooks/meeting-time.js +0 -92
  354. package/lib/login-confirm-dialog.d.ts +0 -13
  355. package/lib/login-confirm-dialog.js +0 -85
  356. package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
  357. package/lib/modules/action-bar/components/apps/appitems.js +0 -45
  358. package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
  359. package/lib/modules/components/member-window/components/member-board.js +0 -63
  360. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  361. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  362. package/lib/modules/dialog/types/index.d.ts +0 -70
  363. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
  364. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
  365. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
  366. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
  367. package/lib/modules/participant/components/attendee/index.css +0 -69
  368. package/lib/modules/participant/components/attendee/index.d.ts +0 -4
  369. package/lib/modules/participant/components/attendee/index.js +0 -337
  370. package/lib/modules/participant/components/drop-menu/index.css +0 -60
  371. package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
  372. package/lib/modules/participant/components/drop-menu/index.js +0 -189
  373. package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
  374. package/lib/modules/participant/components/footer/buttons.js +0 -52
  375. package/lib/modules/participant/components/footer/index.d.ts +0 -4
  376. package/lib/modules/participant/components/footer/index.js +0 -37
  377. package/lib/modules/participant/components/merge/index.d.ts +0 -11
  378. package/lib/modules/participant/components/merge/index.js +0 -49
  379. package/lib/modules/participant/components/rename/index.d.ts +0 -4
  380. package/lib/modules/participant/components/rename/index.js +0 -45
  381. package/lib/modules/participant/components/user-action/index.d.ts +0 -17
  382. package/lib/modules/participant/components/user-action/index.js +0 -169
  383. package/lib/modules/video-window/deviceState/index.d.ts +0 -16
  384. package/lib/modules/video-window/deviceState/index.js +0 -75
  385. package/lib/modules/video-window/members/index.css +0 -51
  386. package/lib/modules/video-window/members/index.d.ts +0 -2
  387. package/lib/modules/video-window/members/index.js +0 -157
  388. package/lib/modules/video-window/speaking/index.css +0 -69
  389. package/lib/modules/video-window/speaking/index.d.ts +0 -3
  390. package/lib/modules/video-window/speaking/index.js +0 -57
  391. package/lib/modules/video-window/topControl/index.css +0 -35
  392. package/lib/modules/video-window/topControl/index.d.ts +0 -3
  393. package/lib/modules/video-window/topControl/index.js +0 -92
  394. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
  395. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.js +0 -0
@@ -28,6 +28,7 @@ require("core-js/modules/es.array.for-each.js");
28
28
  require("core-js/modules/es.array.iterator.js");
29
29
  require("core-js/modules/es.array.map.js");
30
30
  require("core-js/modules/es.array.push.js");
31
+ require("core-js/modules/es.array.slice.js");
31
32
  require("core-js/modules/es.array.some.js");
32
33
  require("core-js/modules/es.array.sort.js");
33
34
  require("core-js/modules/es.array.unshift.js");
@@ -94,8 +95,13 @@ require("core-js/modules/esnext.weak-map.emplace.js");
94
95
  require("core-js/modules/web.dom-collections.for-each.js");
95
96
  require("core-js/modules/web.dom-collections.iterator.js");
96
97
  require("core-js/modules/web.timers.js");
98
+ require("core-js/modules/web.url.js");
99
+ require("core-js/modules/web.url.to-json.js");
100
+ require("core-js/modules/web.url-search-params.js");
101
+ require("core-js/modules/web.url-search-params.delete.js");
102
+ require("core-js/modules/web.url-search-params.has.js");
103
+ require("core-js/modules/web.url-search-params.size.js");
97
104
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
98
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
99
105
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
100
106
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
101
107
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -111,9 +117,10 @@ var _mobx = require("mobx");
111
117
  var _virtualBackdoundResources = require("../modules/device-pretest/assets/virtual-backdound-resources");
112
118
  var _type2 = require("../type");
113
119
  var _tools = require("../utilities/tools");
120
+ var _store = require("../modules/setting/store");
114
121
  var _logger = require("../utilities/logger");
115
122
  var _FcrUIDeviceProviderImpl;
116
- var _initProto, _init__microphoneDeviceId, _init__speakerDeviceId, _init_currentIsMirror, _init_showForceOpenEffectDialog, _init_cameraId, _init_microphoneId, _init_speakerId, _init_cameraEnabled, _init_showCameraPreview, _init_microphoneEnabled, _init_cameraList, _init_microphoneList, _init_microphoneVolumeLevel, _init_speakerList, _init_isLocalMirrorEnabled, _init_isLocalEditBeautyOptions, _init_speakerVolumeLevel, _init_speakerVolume, _init_microphoneVolume, _init_virtualBackgroundName, _init_enableBeauty, _init_beautyKey, _init_beautyOptions, _init_virtualBackgroundList, _init_soundEffectList, _init_microphoneDetecting, _init_speakerDetecting, _init_connectType, _init_isMainRoomAudioOff, _startPlayLocalVideoDecs, _stopPlayLocalVideoDecs, _startSpeakerTestDecs, _stopSpeakerTestDecs, _setCurrentIsMirrorDecs, _toggleLocalMirrorPreviewDecs, _setBeautyOptionsDecs, _handleCancelForceOpenVideoEffectDecs, _handleForceOpenVideoEffectDecs, _setCameraEnabledDecs, _setMicrophoneEnabledDecs, _toggleLocalMirrorDecs, _resetMirrorDecs, _startMicrophoneTestDecs, _stopMicrophoneTestDecs, _enableVirtualBackgroundDecs, _setEditBeautyKeyDecs, _enableBeautyEffectDecs, _setCameraIdDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setSpeakerVolumeDecs, _setMicrophoneVolumeDecs, _downloadUiResourcesDecs, _setConnectTypeDecs, _updateVirtualBackgroundListDecs, _handleSpeakerTestVolumeIndicationUpdatedDecs, _handleSpeakerVolumeUpdatedDecs, _handleMicrophoneVolumeIndicationUpdatedDecs, _handleSpeakerAddedDecs, _handleSpeakerRemovedDecs, _handleSpeakerListUpdatedDecs, _setMainRoomAudioOffDecs, _ref;
123
+ var _initProto, _init__microphoneDeviceId, _init__speakerDeviceId, _init_currentIsMirror, _init_showForceOpenEffectDialog, _init_cameraId, _init_microphoneId, _init_speakerId, _init_cameraEnabled, _init_showCameraPreview, _init_microphoneEnabled, _init_cameraList, _init_microphoneList, _init_microphoneVolumeLevel, _init_speakerList, _init_isLocalMirrorEnabled, _init_isLocalEditBeautyOptions, _init_speakerVolumeLevel, _init_speakerVolume, _init_microphoneVolume, _init_virtualBackgroundName, _init_enableBeauty, _init_beautyKey, _init_beautyOptions, _init_virtualBackgroundList, _init_soundEffectList, _init_microphoneDetecting, _init_speakerDetecting, _init_connectType, _init_isMainRoomAudioOff, _startPlayLocalVideoDecs, _stopPlayLocalVideoDecs, _startSpeakerTestDecs, _stopSpeakerTestDecs, _setCurrentIsMirrorDecs, _toggleLocalMirrorPreviewDecs, _setBeautyOptionsDecs, _handleCancelForceOpenVideoEffectDecs, _handleForceOpenVideoEffectDecs, _setCameraEnabledDecs, _setMicrophoneEnabledDecs, _toggleLocalMirrorDecs, _resetMirrorDecs, _startMicrophoneTestDecs, _stopMicrophoneTestDecs, _enableVirtualBackgroundDecs, _setEditBeautyKeyDecs, _enableBeautyEffectDecs, _setCameraIdDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setSpeakerVolumeDecs, _setMicrophoneVolumeDecs, _loadUiResourcesDecs, _setConnectTypeDecs, _updateVirtualBackgroundListDecs, _handleSpeakerTestVolumeIndicationUpdatedDecs, _handleSpeakerVolumeUpdatedDecs, _handleMicrophoneVolumeIndicationUpdatedDecs, _handleSpeakerAddedDecs, _handleSpeakerRemovedDecs, _handleSpeakerListUpdatedDecs, _setMainRoomAudioOffDecs, _ref;
117
124
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
118
125
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
119
126
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -155,9 +162,9 @@ var _Z = /*#__PURE__*/new WeakMap();
155
162
  var _a = /*#__PURE__*/new WeakMap();
156
163
  var _b = /*#__PURE__*/new WeakMap();
157
164
  var _c = /*#__PURE__*/new WeakMap();
158
- _ref = (_startPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _stopPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _startSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _stopSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _setCurrentIsMirrorDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorPreviewDecs = [_mobx.action, _mobx.action.bound], _setBeautyOptionsDecs = [_mobx.action, _mobx.action.bound], _handleCancelForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _handleForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraEnabledDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneEnabledDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorDecs = [_mobx.action, _mobx.action.bound], _resetMirrorDecs = [_mobx.action, _mobx.action.bound], _startMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _enableVirtualBackgroundDecs = [_mobx.action, _mobx.action.bound], _setEditBeautyKeyDecs = [_mobx.action, _mobx.action.bound], _enableBeautyEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerVolumeDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneVolumeDecs = [_mobx.action, _mobx.action.bound], _downloadUiResourcesDecs = [_mobx.action, _mobx.action.bound], _setConnectTypeDecs = [_mobx.action, _mobx.action.bound], _updateVirtualBackgroundListDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerAddedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerRemovedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerListUpdatedDecs = [_mobx.action, _mobx.action.bound], _setMainRoomAudioOffDecs = [_mobx.action, _mobx.action.bound], "logger");
165
+ _ref = (_startPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _stopPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _startSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _stopSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _setCurrentIsMirrorDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorPreviewDecs = [_mobx.action, _mobx.action.bound], _setBeautyOptionsDecs = [_mobx.action, _mobx.action.bound], _handleCancelForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _handleForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraEnabledDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneEnabledDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorDecs = [_mobx.action, _mobx.action.bound], _resetMirrorDecs = [_mobx.action, _mobx.action.bound], _startMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _enableVirtualBackgroundDecs = [_mobx.action, _mobx.action.bound], _setEditBeautyKeyDecs = [_mobx.action, _mobx.action.bound], _enableBeautyEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerVolumeDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneVolumeDecs = [_mobx.action, _mobx.action.bound], _loadUiResourcesDecs = [_mobx.action, _mobx.action.bound], _setConnectTypeDecs = [_mobx.action, _mobx.action.bound], _updateVirtualBackgroundListDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerAddedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerRemovedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerListUpdatedDecs = [_mobx.action, _mobx.action.bound], _setMainRoomAudioOffDecs = [_mobx.action, _mobx.action.bound], "logger");
159
166
  var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
160
- function FcrUIDeviceProviderImpl(_eventProvider, _mediaControl, _mediaConfig) {
167
+ function FcrUIDeviceProviderImpl(_eventProvider, _mediaControl, _mediaConfig, _localStorageProvider) {
161
168
  var _this = this;
162
169
  (0, _classCallCheck2["default"])(this, FcrUIDeviceProviderImpl);
163
170
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
@@ -227,6 +234,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
227
234
  this._eventProvider = _eventProvider;
228
235
  this._mediaControl = _mediaControl;
229
236
  this._mediaConfig = _mediaConfig;
237
+ this._localStorageProvider = _localStorageProvider;
230
238
  this._listeners.push((0, _mobx.reaction)(function () {
231
239
  return _this.cameraId;
232
240
  }, this._handleCameraChanged));
@@ -625,6 +633,11 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
625
633
  get: function get() {
626
634
  return this._isAudioConnected;
627
635
  }
636
+ }, {
637
+ key: "shouldEnableMicBeforeSession",
638
+ get: function get() {
639
+ return !this._mediaConfig.microphoneExpectedOff && this._mediaConfig.autoConnectAudio;
640
+ }
628
641
  }, {
629
642
  key: "getScreenTrack",
630
643
  value: function getScreenTrack(id) {
@@ -665,35 +678,73 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
665
678
  get: function get() {
666
679
  return this._mediaControl.getMicrophoneTrack(this._microphoneDeviceId);
667
680
  }
681
+ }, {
682
+ key: "_initLocalSetting",
683
+ value: function _initLocalSetting() {
684
+ var value = this._localStorageProvider.read(_store.SETTING_KEY);
685
+ if (value) {
686
+ var _value$microphoneVolu, _value$isLocalMirrorE, _value$editBeautyKey;
687
+ var _microphoneVolume = (_value$microphoneVolu = value.microphoneVolume) !== null && _value$microphoneVolu !== void 0 ? _value$microphoneVolu : this.microphoneVolume;
688
+ var _isLocalMirrorEnabled = (_value$isLocalMirrorE = value.isLocalMirrorEnabled) !== null && _value$isLocalMirrorE !== void 0 ? _value$isLocalMirrorE : this.isLocalMirrorEnabled;
689
+ var editBeautyKey = (_value$editBeautyKey = value.editBeautyKey) !== null && _value$editBeautyKey !== void 0 ? _value$editBeautyKey : this.beautyKey;
690
+ this.setEditBeautyKey(editBeautyKey);
691
+ this.toggleLocalMirror(_isLocalMirrorEnabled);
692
+ this.setMicrophoneVolume(_microphoneVolume);
693
+ }
694
+ }
668
695
  }, {
669
696
  key: "init",
670
697
  value: function () {
671
698
  var _init = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
672
699
  var _this2 = this;
700
+ var res;
673
701
  return _regenerator["default"].wrap(function _callee5$(_context5) {
674
702
  while (1) switch (_context5.prev = _context5.next) {
675
703
  case 0:
676
- return _context5.abrupt("return", Promise.allSettled([this._mediaControl.getCameraList().then(function (list) {
704
+ _context5.next = 2;
705
+ return Promise.allSettled([this._mediaControl.getCameraList().then(function (list) {
677
706
  (0, _mobx.runInAction)(function () {
678
707
  _this2.logger.info('[FcrDeviceStore] init camera list:', list);
679
708
  _this2.cameraList = list;
680
709
  if (_this2.cameraList.length > 0) {
681
710
  var _cameraId = _this2.cameraList[0].deviceId;
682
- _this2.logger.info('[FcrDeviceStore] select default camera id:', _cameraId);
683
- _this2.setCameraId(_cameraId);
711
+ var defaultCameraDeviceId = _this2._getDefaultDeviceId({
712
+ initValue: _cameraId,
713
+ localKey: 'cameraDeviceId',
714
+ list: _this2.cameraList
715
+ });
716
+ _this2.logger.info('[FcrDeviceStore] select default camera id:', defaultCameraDeviceId);
717
+ _this2.setCameraId(defaultCameraDeviceId);
718
+ var localSetting = _this2._localStorageProvider.read(_store.SETTING_KEY);
719
+ if (localSetting) {
720
+ var _localSetting$enableB, _localSetting$beautyO;
721
+ if (localSetting.enable) {
722
+ _this2.enableVirtualBackground(localSetting.enable, localSetting.source);
723
+ }
724
+ var _enableBeauty = (_localSetting$enableB = localSetting.enableBeauty) !== null && _localSetting$enableB !== void 0 ? _localSetting$enableB : _this2.enableBeauty;
725
+ var _beautyOptions = (_localSetting$beautyO = localSetting.beautyOptions) !== null && _localSetting$beautyO !== void 0 ? _localSetting$beautyO : _this2.beautyOptions;
726
+ _this2.enableBeautyEffect(_enableBeauty);
727
+ _this2.setBeautyOptions(_beautyOptions);
728
+ }
684
729
  }
685
730
  });
686
731
  }), this._getMicrophoneList().then(/*#__PURE__*/function () {
687
732
  var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(microphoneList) {
733
+ var defaultMicrophoneDeviceId;
688
734
  return _regenerator["default"].wrap(function _callee3$(_context3) {
689
735
  while (1) switch (_context3.prev = _context3.next) {
690
736
  case 0:
691
737
  _this2.microphoneList = microphoneList;
692
738
  _this2.logger.info('[FcrDeviceStore] init microphone list:', microphoneList);
693
739
  // 默认跟随系统
694
- _context3.next = 4;
695
- return _this2.setMicrophoneId(DEFAULT_DEVICE_ID);
696
- case 4:
740
+ defaultMicrophoneDeviceId = _this2._getDefaultDeviceId({
741
+ initValue: DEFAULT_DEVICE_ID,
742
+ localKey: 'microphoneDeviceId',
743
+ list: _this2.microphoneList
744
+ });
745
+ _context3.next = 5;
746
+ return _this2.setMicrophoneId(defaultMicrophoneDeviceId);
747
+ case 5:
697
748
  case "end":
698
749
  return _context3.stop();
699
750
  }
@@ -704,15 +755,21 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
704
755
  };
705
756
  }()), this._getSpeakerList().then(/*#__PURE__*/function () {
706
757
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(speakerList) {
758
+ var defaultSpeakerDeviceId;
707
759
  return _regenerator["default"].wrap(function _callee4$(_context4) {
708
760
  while (1) switch (_context4.prev = _context4.next) {
709
761
  case 0:
710
762
  _this2.speakerList = speakerList;
711
763
  _this2.logger.info('[FcrDeviceStore] init speaker list:', speakerList);
712
764
  // 默认跟随系统
713
- _context4.next = 4;
714
- return _this2.setSpeakerId(DEFAULT_DEVICE_ID);
715
- case 4:
765
+ defaultSpeakerDeviceId = _this2._getDefaultDeviceId({
766
+ initValue: DEFAULT_DEVICE_ID,
767
+ localKey: 'speakerDeviceId',
768
+ list: _this2.speakerList
769
+ });
770
+ _context4.next = 5;
771
+ return _this2.setSpeakerId(defaultSpeakerDeviceId);
772
+ case 5:
716
773
  case "end":
717
774
  return _context4.stop();
718
775
  }
@@ -721,8 +778,12 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
721
778
  return function (_x2) {
722
779
  return _ref3.apply(this, arguments);
723
780
  };
724
- }())]));
725
- case 1:
781
+ }())]);
782
+ case 2:
783
+ res = _context5.sent;
784
+ this._initLocalSetting();
785
+ return _context5.abrupt("return", res);
786
+ case 5:
726
787
  case "end":
727
788
  return _context5.stop();
728
789
  }
@@ -1029,8 +1090,12 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1029
1090
  value: function setNoiseLevel(level) {
1030
1091
  if (!this._microphoneDeviceId) return;
1031
1092
  var microphoneAudioTrack = this._mediaControl.getMicrophoneTrack(this._microphoneDeviceId);
1032
- microphoneAudioTrack.getAudioEffectEnhancer().enableAiDenoiser();
1033
- microphoneAudioTrack.getAudioEffectEnhancer().setAiDenoiseLevel(level);
1093
+ if (level === _type2.FcrUIAiDenoiseLevel.CLOSE) {
1094
+ microphoneAudioTrack.getAudioEffectEnhancer().disableAiDenoiser();
1095
+ } else {
1096
+ microphoneAudioTrack.getAudioEffectEnhancer().enableAiDenoiser();
1097
+ microphoneAudioTrack.getAudioEffectEnhancer().setAiDenoiseLevel(level);
1098
+ }
1034
1099
  }
1035
1100
  }, {
1036
1101
  key: "setCameraId",
@@ -1208,83 +1273,164 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1208
1273
  this.showCameraPreview = enable;
1209
1274
  }
1210
1275
  }, {
1211
- key: "downloadUiResources",
1276
+ key: "loadUiResources",
1212
1277
  value: function () {
1213
- var _downloadUiResources = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(uiResource) {
1214
- var _uiResource$virtualBa,
1215
- _this8 = this,
1216
- _uiResource$virtualBa2,
1217
- _uiResource$soundEffe;
1278
+ var _loadUiResources = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(uiResource) {
1279
+ var _this8 = this;
1280
+ var _uiResource$virtualBa, _uiResource$virtualBa2, _uiResource$soundEffe, images, videos, soundEffects, newList, imageInfoList, videoInfoList, _uiResource$virtualBa3, _uiResource$virtualBa4, _uiResource$soundEffe2, _images, _videos, _soundEffects, handleResourceReady;
1218
1281
  return _regenerator["default"].wrap(function _callee8$(_context8) {
1219
1282
  while (1) switch (_context8.prev = _context8.next) {
1220
1283
  case 0:
1221
- Promise.all([// images
1222
- uiResource === null || uiResource === void 0 || (_uiResource$virtualBa = uiResource.virtualBackgroundImages) === null || _uiResource$virtualBa === void 0 ? void 0 : _uiResource$virtualBa.map(function (url) {
1223
- if ((0, _tools.isPngOrJpg)(url) && !(0, _env.isElectron)()) {
1224
- (0, _mobx.runInAction)(function () {
1225
- _this8.virtualBackgroundList.push({
1226
- url: url,
1227
- name: (0, _tools.getFileNameWithoutExtension)(url),
1228
- path: url,
1229
- type: _virtualBackdoundResources.VirtualOption.IMG
1230
- });
1231
- _this8._updateVirtualBackgroundList(_this8.virtualBackgroundList);
1232
- });
1233
- } else if ((0, _tools.isResourceZipUrl)(url) && (0, _env.isElectron)()) {
1234
- return _this8._fetchZipAndUnzip(url, 'image');
1235
- }
1236
- return Promise.resolve();
1237
- }), // videos
1238
- uiResource === null || uiResource === void 0 || (_uiResource$virtualBa2 = uiResource.virtualBackgroundVideos) === null || _uiResource$virtualBa2 === void 0 ? void 0 : _uiResource$virtualBa2.map(function (url) {
1239
- if ((0, _tools.isMp4)(url) && !(0, _env.isElectron)()) {
1240
- (0, _mobx.runInAction)(function () {
1241
- _this8.virtualBackgroundList.push({
1242
- url: url,
1243
- name: (0, _tools.getFileNameWithoutExtension)(url),
1244
- path: url,
1245
- type: _virtualBackdoundResources.VirtualOption.VIDEO
1246
- });
1247
- _this8._updateVirtualBackgroundList(_this8.virtualBackgroundList);
1284
+ if ((0, _env.isElectron)()) {
1285
+ _context8.next = 12;
1286
+ break;
1287
+ }
1288
+ images = (uiResource === null || uiResource === void 0 || (_uiResource$virtualBa = uiResource.virtualBackgroundImages) === null || _uiResource$virtualBa === void 0 ? void 0 : _uiResource$virtualBa.filter(function (url) {
1289
+ return (0, _tools.isPngOrJpg)(url);
1290
+ })) || [];
1291
+ videos = (uiResource === null || uiResource === void 0 || (_uiResource$virtualBa2 = uiResource.virtualBackgroundVideos) === null || _uiResource$virtualBa2 === void 0 ? void 0 : _uiResource$virtualBa2.filter(function (url) {
1292
+ return (0, _tools.isMp4)(url);
1293
+ })) || [];
1294
+ soundEffects = (uiResource === null || uiResource === void 0 || (_uiResource$soundEffe = uiResource.soundEffectAudios) === null || _uiResource$soundEffe === void 0 ? void 0 : _uiResource$soundEffe.filter(function (url) {
1295
+ return (0, _tools.isMp3OrWav)(url);
1296
+ })) || [];
1297
+ newList = this.virtualBackgroundList.slice();
1298
+ imageInfoList = images.map(function (url) {
1299
+ return {
1300
+ url: url,
1301
+ name: (0, _tools.getFileNameWithoutExtension)(url),
1302
+ path: url,
1303
+ type: _virtualBackdoundResources.VirtualOption.IMG
1304
+ };
1305
+ }) || [];
1306
+ newList = newList.concat(imageInfoList);
1307
+ videoInfoList = videos.map(function (url) {
1308
+ return {
1309
+ url: url,
1310
+ name: (0, _tools.getFileNameWithoutExtension)(url),
1311
+ path: url,
1312
+ type: _virtualBackdoundResources.VirtualOption.VIDEO
1313
+ };
1314
+ }) || [];
1315
+ newList = newList.concat(videoInfoList);
1316
+ (0, _mobx.runInAction)(function () {
1317
+ _this8._updateVirtualBackgroundList(newList);
1318
+ var soundEffectInfoList = soundEffects.map(function (url) {
1319
+ return {
1320
+ url: url,
1321
+ md5Url: (0, _imports.md5)(url)
1322
+ };
1323
+ }) || [];
1324
+ soundEffectInfoList.forEach(function (item) {
1325
+ _this8.soundEffectList.set((0, _tools.getFileNameWithoutExtension)(item.url), item);
1326
+ });
1327
+ });
1328
+ _context8.next = 21;
1329
+ break;
1330
+ case 12:
1331
+ _context8.next = 14;
1332
+ return this._loadBuiltinResources();
1333
+ case 14:
1334
+ _images = (uiResource === null || uiResource === void 0 || (_uiResource$virtualBa3 = uiResource.virtualBackgroundImages) === null || _uiResource$virtualBa3 === void 0 ? void 0 : _uiResource$virtualBa3.filter(function (url) {
1335
+ return (0, _tools.isZipUrl)(url);
1336
+ })) || [];
1337
+ _videos = (uiResource === null || uiResource === void 0 || (_uiResource$virtualBa4 = uiResource.virtualBackgroundVideos) === null || _uiResource$virtualBa4 === void 0 ? void 0 : _uiResource$virtualBa4.filter(function (url) {
1338
+ return (0, _tools.isZipUrl)(url);
1339
+ })) || [];
1340
+ _soundEffects = (uiResource === null || uiResource === void 0 || (_uiResource$soundEffe2 = uiResource.soundEffectAudios) === null || _uiResource$soundEffe2 === void 0 ? void 0 : _uiResource$soundEffe2.filter(function (url) {
1341
+ return (0, _tools.isZipUrl)(url);
1342
+ })) || [];
1343
+ handleResourceReady = function handleResourceReady(filePathList, type) {
1344
+ if (type === 'image' || type === 'video') {
1345
+ var list = _this8.virtualBackgroundList.slice();
1346
+ var resourceType = type === 'image' ? _virtualBackdoundResources.VirtualOption.IMG : _virtualBackdoundResources.VirtualOption.VIDEO;
1347
+ list = filePathList.map(function (resource) {
1348
+ return {
1349
+ name: (0, _tools.getFileNameWithoutExtension)(resource),
1350
+ path: resource,
1351
+ type: resourceType,
1352
+ url: URL.createObjectURL(window.runtime.fileToBlob(resource, type))
1353
+ };
1248
1354
  });
1249
- } else if ((0, _tools.isResourceZipUrl)(url) && (0, _env.isElectron)()) {
1250
- return _this8._fetchZipAndUnzip(url, 'video');
1251
- }
1252
- return Promise.resolve();
1253
- }), // sound effect audios
1254
- uiResource === null || uiResource === void 0 || (_uiResource$soundEffe = uiResource.soundEffectAudios) === null || _uiResource$soundEffe === void 0 ? void 0 : _uiResource$soundEffe.map(function (url) {
1255
- if ((0, _tools.isMp3OrWav)(url) && !(0, _env.isElectron)()) {
1256
- (0, _mobx.runInAction)(function () {
1257
- _this8.soundEffectList.set((0, _tools.getFileNameWithoutExtension)(url), {
1258
- url: url,
1259
- md5Url: (0, _imports.md5)(url)
1355
+ var _newList = _this8.virtualBackgroundList.concat(list);
1356
+ _this8._updateVirtualBackgroundList(_newList);
1357
+ } else if (type === 'audio') {
1358
+ filePathList.forEach(function (resource) {
1359
+ var key = (0, _tools.getFileNameWithoutExtension)(resource);
1360
+ _this8.soundEffectList.set(key, {
1361
+ md5Url: resource,
1362
+ url: URL.createObjectURL(window.runtime.fileToBlob(resource, type))
1260
1363
  });
1261
1364
  });
1262
- } else if ((0, _tools.isResourceZipUrl)(url) && (0, _env.isElectron)()) {
1263
- return _this8._fetchZipAndUnzip(url, 'audio');
1264
1365
  }
1265
- return Promise.resolve();
1266
- })]);
1267
- case 1:
1366
+ };
1367
+ this.loadZipResources(_images, 'image', handleResourceReady);
1368
+ this.loadZipResources(_videos, 'video', handleResourceReady);
1369
+ this.loadZipResources(_soundEffects, 'audio', handleResourceReady);
1370
+ case 21:
1268
1371
  case "end":
1269
1372
  return _context8.stop();
1270
1373
  }
1271
- }, _callee8);
1374
+ }, _callee8, this);
1375
+ }));
1376
+ function loadUiResources(_x5) {
1377
+ return _loadUiResources.apply(this, arguments);
1378
+ }
1379
+ return loadUiResources;
1380
+ }()
1381
+ }, {
1382
+ key: "loadZipResources",
1383
+ value: function () {
1384
+ var _loadZipResources = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(zipUrls, type, callback) {
1385
+ var _this9 = this;
1386
+ var ps;
1387
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
1388
+ while (1) switch (_context10.prev = _context10.next) {
1389
+ case 0:
1390
+ ps = zipUrls.map(/*#__PURE__*/function () {
1391
+ var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(url) {
1392
+ var filePathList;
1393
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
1394
+ while (1) switch (_context9.prev = _context9.next) {
1395
+ case 0:
1396
+ _context9.next = 2;
1397
+ return _this9._fetchZipAndUnzip(url, type);
1398
+ case 2:
1399
+ filePathList = _context9.sent;
1400
+ callback(filePathList, type);
1401
+ case 4:
1402
+ case "end":
1403
+ return _context9.stop();
1404
+ }
1405
+ }, _callee9);
1406
+ }));
1407
+ return function (_x9) {
1408
+ return _ref4.apply(this, arguments);
1409
+ };
1410
+ }());
1411
+ _context10.next = 3;
1412
+ return Promise.allSettled(ps);
1413
+ case 3:
1414
+ case "end":
1415
+ return _context10.stop();
1416
+ }
1417
+ }, _callee10);
1272
1418
  }));
1273
- function downloadUiResources(_x5) {
1274
- return _downloadUiResources.apply(this, arguments);
1419
+ function loadZipResources(_x6, _x7, _x8) {
1420
+ return _loadZipResources.apply(this, arguments);
1275
1421
  }
1276
- return downloadUiResources;
1422
+ return loadZipResources;
1277
1423
  }()
1278
1424
  }, {
1279
1425
  key: "release",
1280
1426
  value: function release() {
1281
- var _this9 = this,
1427
+ var _this10 = this,
1282
1428
  _this$_cameraVideoTra3,
1283
1429
  _this$_microphoneAudi8;
1284
1430
  if (this._localVideoViewSet.size > 0) {
1285
1431
  this._localVideoViewSet.forEach(function (view) {
1286
- var _this9$_cameraVideoTr;
1287
- (_this9$_cameraVideoTr = _this9._cameraVideoTrack) === null || _this9$_cameraVideoTr === void 0 || _this9$_cameraVideoTr.stopPreview(view);
1432
+ var _this10$_cameraVideoT;
1433
+ (_this10$_cameraVideoT = _this10._cameraVideoTrack) === null || _this10$_cameraVideoT === void 0 || _this10$_cameraVideoT.stopPreview(view);
1288
1434
  });
1289
1435
  this._localVideoViewSet.clear();
1290
1436
  }
@@ -1293,44 +1439,6 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1293
1439
  (_this$_microphoneAudi8 = this._microphoneAudioTrack) === null || _this$_microphoneAudi8 === void 0 || _this$_microphoneAudi8.stop();
1294
1440
  this._microphoneAudioTrack = undefined;
1295
1441
  }
1296
- }, {
1297
- key: "_fileToUiData",
1298
- value: function () {
1299
- var _fileToUiData2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(resource, type) {
1300
- return _regenerator["default"].wrap(function _callee9$(_context9) {
1301
- while (1) switch (_context9.prev = _context9.next) {
1302
- case 0:
1303
- if (!(typeof resource !== 'string')) {
1304
- _context9.next = 2;
1305
- break;
1306
- }
1307
- return _context9.abrupt("return");
1308
- case 2:
1309
- if (type === 'image' && (0, _tools.isPngOrJpg)(resource) || type === 'video' && (0, _tools.isMp4)(resource)) {
1310
- this._updateVirtualBackgroundList([].concat((0, _toConsumableArray2["default"])(this.virtualBackgroundList), [{
1311
- name: (0, _tools.getFileNameWithoutExtension)(resource),
1312
- path: resource,
1313
- type: type === 'image' ? _virtualBackdoundResources.VirtualOption.IMG : _virtualBackdoundResources.VirtualOption.VIDEO,
1314
- url: window.runtime.fileToBase64(resource, type)
1315
- }]));
1316
- }
1317
- if (type === 'audio' && (0, _tools.isMp3OrWav)(resource)) {
1318
- this.soundEffectList.set((0, _tools.getFileNameWithoutExtension)(resource), {
1319
- url: window.runtime.fileToBase64(resource, type),
1320
- md5Url: resource
1321
- });
1322
- }
1323
- case 4:
1324
- case "end":
1325
- return _context9.stop();
1326
- }
1327
- }, _callee9, this);
1328
- }));
1329
- function _fileToUiData(_x6, _x7) {
1330
- return _fileToUiData2.apply(this, arguments);
1331
- }
1332
- return _fileToUiData;
1333
- }()
1334
1442
  }, {
1335
1443
  key: "setConnectType",
1336
1444
  value: function setConnectType(connectType) {
@@ -1339,34 +1447,20 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1339
1447
  }, {
1340
1448
  key: "_fetchZipAndUnzip",
1341
1449
  value: function () {
1342
- var _fetchZipAndUnzip2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(url, type) {
1343
- var _this10 = this;
1344
- var md5Url, resource;
1345
- return _regenerator["default"].wrap(function _callee10$(_context10) {
1346
- while (1) switch (_context10.prev = _context10.next) {
1450
+ var _fetchZipAndUnzip2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11(url, type) {
1451
+ var md5Url;
1452
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
1453
+ while (1) switch (_context11.prev = _context11.next) {
1347
1454
  case 0:
1348
- if ((0, _tools.isResourceZipUrl)(url)) {
1349
- _context10.next = 2;
1350
- break;
1351
- }
1352
- return _context10.abrupt("return", []);
1353
- case 2:
1354
1455
  md5Url = (0, _imports.md5)(url);
1355
- _context10.next = 5;
1356
- return window.runtime.getResourceByFileType(url, md5Url, type);
1357
- case 5:
1358
- resource = _context10.sent;
1359
- resource.forEach(function (item) {
1360
- _this10._fileToUiData(item, type);
1361
- });
1362
- return _context10.abrupt("return", []);
1363
- case 8:
1456
+ return _context11.abrupt("return", window.runtime.getResourceByFileType(url, md5Url, type));
1457
+ case 2:
1364
1458
  case "end":
1365
- return _context10.stop();
1459
+ return _context11.stop();
1366
1460
  }
1367
- }, _callee10);
1461
+ }, _callee11);
1368
1462
  }));
1369
- function _fetchZipAndUnzip(_x8, _x9) {
1463
+ function _fetchZipAndUnzip(_x10, _x11) {
1370
1464
  return _fetchZipAndUnzip2.apply(this, arguments);
1371
1465
  }
1372
1466
  return _fetchZipAndUnzip;
@@ -1429,23 +1523,23 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1429
1523
  }, {
1430
1524
  key: "_handleCameraListUpdated",
1431
1525
  value: function () {
1432
- var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
1526
+ var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
1433
1527
  var _this12 = this;
1434
1528
  var cameraList, currentDeviceExist, _cameraEnabled, deviceId, _deviceId;
1435
- return _regenerator["default"].wrap(function _callee11$(_context11) {
1436
- while (1) switch (_context11.prev = _context11.next) {
1529
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
1530
+ while (1) switch (_context12.prev = _context12.next) {
1437
1531
  case 0:
1438
- _context11.next = 2;
1532
+ _context12.next = 2;
1439
1533
  return this._mediaControl.getCameraList();
1440
1534
  case 2:
1441
- cameraList = _context11.sent;
1535
+ cameraList = _context12.sent;
1442
1536
  (0, _mobx.runInAction)(function () {
1443
1537
  _this12.cameraList = cameraList;
1444
1538
  });
1445
1539
  currentDeviceExist = false;
1446
1540
  if (this.cameraId) {
1447
- currentDeviceExist = this.cameraList.some(function (_ref4) {
1448
- var deviceId = _ref4.deviceId;
1541
+ currentDeviceExist = this.cameraList.some(function (_ref5) {
1542
+ var deviceId = _ref5.deviceId;
1449
1543
  return _this12.cameraId === deviceId;
1450
1544
  });
1451
1545
  _cameraEnabled = this.cameraEnabled;
@@ -1473,9 +1567,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1473
1567
  this._observable.notifyObservers('onCameraListUpdated', this.cameraList);
1474
1568
  case 8:
1475
1569
  case "end":
1476
- return _context11.stop();
1570
+ return _context12.stop();
1477
1571
  }
1478
- }, _callee11, this);
1572
+ }, _callee12, this);
1479
1573
  }));
1480
1574
  function _handleCameraListUpdated() {
1481
1575
  return _handleCameraListUpdated2.apply(this, arguments);
@@ -1485,19 +1579,19 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1485
1579
  }, {
1486
1580
  key: "_handleMicrophoneAdded",
1487
1581
  value: function () {
1488
- var _handleMicrophoneAdded2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
1489
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1490
- while (1) switch (_context12.prev = _context12.next) {
1582
+ var _handleMicrophoneAdded2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1583
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
1584
+ while (1) switch (_context13.prev = _context13.next) {
1491
1585
  case 0:
1492
- _context12.next = 2;
1586
+ _context13.next = 2;
1493
1587
  return this._handleMicrophoneListUpdated();
1494
1588
  case 2:
1495
1589
  this._observable.notifyObservers('onMicrophoneListUpdated', this.microphoneList);
1496
1590
  case 3:
1497
1591
  case "end":
1498
- return _context12.stop();
1592
+ return _context13.stop();
1499
1593
  }
1500
- }, _callee12, this);
1594
+ }, _callee13, this);
1501
1595
  }));
1502
1596
  function _handleMicrophoneAdded() {
1503
1597
  return _handleMicrophoneAdded2.apply(this, arguments);
@@ -1507,13 +1601,13 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1507
1601
  }, {
1508
1602
  key: "_handleMicrophoneRemoved",
1509
1603
  value: function () {
1510
- var _handleMicrophoneRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1604
+ var _handleMicrophoneRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1511
1605
  var _this13 = this;
1512
1606
  var currentDeviceExist;
1513
- return _regenerator["default"].wrap(function _callee13$(_context13) {
1514
- while (1) switch (_context13.prev = _context13.next) {
1607
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
1608
+ while (1) switch (_context14.prev = _context14.next) {
1515
1609
  case 0:
1516
- _context13.next = 2;
1610
+ _context14.next = 2;
1517
1611
  return this._handleMicrophoneListUpdated();
1518
1612
  case 2:
1519
1613
  // 如何设备移除了,应该切到跟随系统
@@ -1521,19 +1615,19 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1521
1615
  return item.deviceId === _this13._microphoneDeviceId;
1522
1616
  });
1523
1617
  if (currentDeviceExist) {
1524
- _context13.next = 7;
1618
+ _context14.next = 7;
1525
1619
  break;
1526
1620
  }
1527
1621
  this.logger.info('[FcrDeviceStore] current microphone does not exist in microphone list, switch to follow system');
1528
- _context13.next = 7;
1622
+ _context14.next = 7;
1529
1623
  return this.setMicrophoneId(DEFAULT_DEVICE_ID);
1530
1624
  case 7:
1531
1625
  this._observable.notifyObservers('onMicrophoneListUpdated', this.microphoneList);
1532
1626
  case 8:
1533
1627
  case "end":
1534
- return _context13.stop();
1628
+ return _context14.stop();
1535
1629
  }
1536
- }, _callee13, this);
1630
+ }, _callee14, this);
1537
1631
  }));
1538
1632
  function _handleMicrophoneRemoved() {
1539
1633
  return _handleMicrophoneRemoved2.apply(this, arguments);
@@ -1543,16 +1637,16 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1543
1637
  }, {
1544
1638
  key: "_handleMicrophoneListUpdated",
1545
1639
  value: function () {
1546
- var _handleMicrophoneListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1640
+ var _handleMicrophoneListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1547
1641
  var _this14 = this;
1548
1642
  var microphoneList;
1549
- return _regenerator["default"].wrap(function _callee14$(_context14) {
1550
- while (1) switch (_context14.prev = _context14.next) {
1643
+ return _regenerator["default"].wrap(function _callee15$(_context15) {
1644
+ while (1) switch (_context15.prev = _context15.next) {
1551
1645
  case 0:
1552
- _context14.next = 2;
1646
+ _context15.next = 2;
1553
1647
  return this._getMicrophoneList();
1554
1648
  case 2:
1555
- microphoneList = _context14.sent;
1649
+ microphoneList = _context15.sent;
1556
1650
  // 如果选择了跟随系统,浏览器下设备变更时需要更新 track 以保证当前设备 track 正确
1557
1651
  if (this.followSystemMicrophoneDevice) {
1558
1652
  this._refreshMicrophoneTrack();
@@ -1562,9 +1656,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1562
1656
  });
1563
1657
  case 5:
1564
1658
  case "end":
1565
- return _context14.stop();
1659
+ return _context15.stop();
1566
1660
  }
1567
- }, _callee14, this);
1661
+ }, _callee15, this);
1568
1662
  }));
1569
1663
  function _handleMicrophoneListUpdated() {
1570
1664
  return _handleMicrophoneListUpdated2.apply(this, arguments);
@@ -1593,19 +1687,19 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1593
1687
  }, {
1594
1688
  key: "_handleSpeakerAdded",
1595
1689
  value: function () {
1596
- var _handleSpeakerAdded2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1597
- return _regenerator["default"].wrap(function _callee15$(_context15) {
1598
- while (1) switch (_context15.prev = _context15.next) {
1690
+ var _handleSpeakerAdded2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee16() {
1691
+ return _regenerator["default"].wrap(function _callee16$(_context16) {
1692
+ while (1) switch (_context16.prev = _context16.next) {
1599
1693
  case 0:
1600
- _context15.next = 2;
1694
+ _context16.next = 2;
1601
1695
  return this._handleSpeakerListUpdated();
1602
1696
  case 2:
1603
1697
  this._observable.notifyObservers('onSpeakerListUpdated', this.speakerList);
1604
1698
  case 3:
1605
1699
  case "end":
1606
- return _context15.stop();
1700
+ return _context16.stop();
1607
1701
  }
1608
- }, _callee15, this);
1702
+ }, _callee16, this);
1609
1703
  }));
1610
1704
  function _handleSpeakerAdded() {
1611
1705
  return _handleSpeakerAdded2.apply(this, arguments);
@@ -1615,13 +1709,13 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1615
1709
  }, {
1616
1710
  key: "_handleSpeakerRemoved",
1617
1711
  value: function () {
1618
- var _handleSpeakerRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee16() {
1712
+ var _handleSpeakerRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee17() {
1619
1713
  var _this15 = this;
1620
1714
  var currentDeviceExist;
1621
- return _regenerator["default"].wrap(function _callee16$(_context16) {
1622
- while (1) switch (_context16.prev = _context16.next) {
1715
+ return _regenerator["default"].wrap(function _callee17$(_context17) {
1716
+ while (1) switch (_context17.prev = _context17.next) {
1623
1717
  case 0:
1624
- _context16.next = 2;
1718
+ _context17.next = 2;
1625
1719
  return this._handleSpeakerListUpdated();
1626
1720
  case 2:
1627
1721
  // 如何设备移除了,应该切到跟随系统
@@ -1629,19 +1723,19 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1629
1723
  return item.deviceId === _this15._speakerDeviceId;
1630
1724
  });
1631
1725
  if (currentDeviceExist) {
1632
- _context16.next = 7;
1726
+ _context17.next = 7;
1633
1727
  break;
1634
1728
  }
1635
1729
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
1636
- _context16.next = 7;
1730
+ _context17.next = 7;
1637
1731
  return this.setSpeakerId(DEFAULT_DEVICE_ID);
1638
1732
  case 7:
1639
1733
  this._observable.notifyObservers('onSpeakerListUpdated', this.speakerList);
1640
1734
  case 8:
1641
1735
  case "end":
1642
- return _context16.stop();
1736
+ return _context17.stop();
1643
1737
  }
1644
- }, _callee16, this);
1738
+ }, _callee17, this);
1645
1739
  }));
1646
1740
  function _handleSpeakerRemoved() {
1647
1741
  return _handleSpeakerRemoved2.apply(this, arguments);
@@ -1651,24 +1745,24 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1651
1745
  }, {
1652
1746
  key: "_handleSpeakerListUpdated",
1653
1747
  value: function () {
1654
- var _handleSpeakerListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee17() {
1748
+ var _handleSpeakerListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee18() {
1655
1749
  var _this16 = this;
1656
1750
  var speakerList;
1657
- return _regenerator["default"].wrap(function _callee17$(_context17) {
1658
- while (1) switch (_context17.prev = _context17.next) {
1751
+ return _regenerator["default"].wrap(function _callee18$(_context18) {
1752
+ while (1) switch (_context18.prev = _context18.next) {
1659
1753
  case 0:
1660
- _context17.next = 2;
1754
+ _context18.next = 2;
1661
1755
  return this._getSpeakerList();
1662
1756
  case 2:
1663
- speakerList = _context17.sent;
1757
+ speakerList = _context18.sent;
1664
1758
  (0, _mobx.runInAction)(function () {
1665
1759
  _this16.speakerList = speakerList;
1666
1760
  });
1667
1761
  case 4:
1668
1762
  case "end":
1669
- return _context17.stop();
1763
+ return _context18.stop();
1670
1764
  }
1671
- }, _callee17, this);
1765
+ }, _callee18, this);
1672
1766
  }));
1673
1767
  function _handleSpeakerListUpdated() {
1674
1768
  return _handleSpeakerListUpdated2.apply(this, arguments);
@@ -1678,19 +1772,19 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1678
1772
  }, {
1679
1773
  key: "_getMicrophoneList",
1680
1774
  value: function () {
1681
- var _getMicrophoneList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee18() {
1775
+ var _getMicrophoneList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee19() {
1682
1776
  var defaultDevice, list, defaultIdDevice;
1683
- return _regenerator["default"].wrap(function _callee18$(_context18) {
1684
- while (1) switch (_context18.prev = _context18.next) {
1777
+ return _regenerator["default"].wrap(function _callee19$(_context19) {
1778
+ while (1) switch (_context19.prev = _context19.next) {
1685
1779
  case 0:
1686
- _context18.next = 2;
1780
+ _context19.next = 2;
1687
1781
  return this._mediaControl.getSystemSelectedMicrophone();
1688
1782
  case 2:
1689
- defaultDevice = _context18.sent;
1690
- _context18.next = 5;
1783
+ defaultDevice = _context19.sent;
1784
+ _context19.next = 5;
1691
1785
  return this._mediaControl.getMicrophoneList();
1692
1786
  case 5:
1693
- list = _context18.sent;
1787
+ list = _context19.sent;
1694
1788
  list.forEach(function (item) {
1695
1789
  var results = /^default \((.*)\)$/.exec(item.deviceName);
1696
1790
  if (results && results.length > 1) {
@@ -1721,12 +1815,12 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1721
1815
  reason1: (0, _i18n.transI18n)('fmt_device_label_speaker_default')
1722
1816
  });
1723
1817
  }
1724
- return _context18.abrupt("return", list);
1818
+ return _context19.abrupt("return", list);
1725
1819
  case 12:
1726
1820
  case "end":
1727
- return _context18.stop();
1821
+ return _context19.stop();
1728
1822
  }
1729
- }, _callee18, this);
1823
+ }, _callee19, this);
1730
1824
  }));
1731
1825
  function _getMicrophoneList() {
1732
1826
  return _getMicrophoneList2.apply(this, arguments);
@@ -1736,19 +1830,19 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1736
1830
  }, {
1737
1831
  key: "_getSpeakerList",
1738
1832
  value: function () {
1739
- var _getSpeakerList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee19() {
1833
+ var _getSpeakerList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee20() {
1740
1834
  var defaultDevice, list, defaultIdDevice;
1741
- return _regenerator["default"].wrap(function _callee19$(_context19) {
1742
- while (1) switch (_context19.prev = _context19.next) {
1835
+ return _regenerator["default"].wrap(function _callee20$(_context20) {
1836
+ while (1) switch (_context20.prev = _context20.next) {
1743
1837
  case 0:
1744
- _context19.next = 2;
1838
+ _context20.next = 2;
1745
1839
  return this._mediaControl.getSystemSelectedSpeaker();
1746
1840
  case 2:
1747
- defaultDevice = _context19.sent;
1748
- _context19.next = 5;
1841
+ defaultDevice = _context20.sent;
1842
+ _context20.next = 5;
1749
1843
  return this._mediaControl.getSpeakerList();
1750
1844
  case 5:
1751
- list = _context19.sent;
1845
+ list = _context20.sent;
1752
1846
  list.forEach(function (item) {
1753
1847
  var results = /^default \((.*)\)$/.exec(item.deviceName);
1754
1848
  if (results && results.length > 1) {
@@ -1778,12 +1872,12 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1778
1872
  reason1: (0, _i18n.transI18n)('fmt_device_label_speaker_default')
1779
1873
  });
1780
1874
  }
1781
- return _context19.abrupt("return", list);
1875
+ return _context20.abrupt("return", list);
1782
1876
  case 12:
1783
1877
  case "end":
1784
- return _context19.stop();
1878
+ return _context20.stop();
1785
1879
  }
1786
- }, _callee19, this);
1880
+ }, _callee20, this);
1787
1881
  }));
1788
1882
  function _getSpeakerList() {
1789
1883
  return _getSpeakerList2.apply(this, arguments);
@@ -1795,10 +1889,88 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1795
1889
  value: function setMainRoomAudioOff(enable) {
1796
1890
  this.isMainRoomAudioOff = enable;
1797
1891
  }
1892
+ }, {
1893
+ key: "_getDefaultDeviceId",
1894
+ value: function _getDefaultDeviceId(_ref6) {
1895
+ var initValue = _ref6.initValue,
1896
+ localKey = _ref6.localKey,
1897
+ list = _ref6.list;
1898
+ var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
1899
+ var defaultValue = initValue;
1900
+ if (localSetting && localSetting[localKey]) {
1901
+ var _list$find$deviceId, _list$find;
1902
+ defaultValue = (_list$find$deviceId = (_list$find = list.find(function (item) {
1903
+ return item.deviceId === localSetting[localKey];
1904
+ })) === null || _list$find === void 0 ? void 0 : _list$find.deviceId) !== null && _list$find$deviceId !== void 0 ? _list$find$deviceId : defaultValue;
1905
+ }
1906
+ return defaultValue;
1907
+ }
1908
+ }, {
1909
+ key: "_loadBuiltinResources",
1910
+ value: function () {
1911
+ var _loadBuiltinResources2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee21() {
1912
+ var _window$runtime,
1913
+ _this17 = this;
1914
+ var _yield$window$runtime, virtualBackgroundImages, virtualBackgroundVideos, soundEffects, newVirtualBackgroundList, images, videos, sounds;
1915
+ return _regenerator["default"].wrap(function _callee21$(_context21) {
1916
+ while (1) switch (_context21.prev = _context21.next) {
1917
+ case 0:
1918
+ _context21.next = 2;
1919
+ return (_window$runtime = window.runtime) === null || _window$runtime === void 0 ? void 0 : _window$runtime.loadBuiltinResources();
1920
+ case 2:
1921
+ _yield$window$runtime = _context21.sent;
1922
+ virtualBackgroundImages = _yield$window$runtime.virtualBackgroundImages;
1923
+ virtualBackgroundVideos = _yield$window$runtime.virtualBackgroundVideos;
1924
+ soundEffects = _yield$window$runtime.soundEffects;
1925
+ newVirtualBackgroundList = this.virtualBackgroundList.slice();
1926
+ images = virtualBackgroundImages.map(function (item) {
1927
+ return {
1928
+ name: (0, _tools.getFileNameWithoutExtension)(item),
1929
+ path: item,
1930
+ type: _virtualBackdoundResources.VirtualOption.IMG,
1931
+ url: URL.createObjectURL(window.runtime.fileToBlob(item, 'image'))
1932
+ };
1933
+ });
1934
+ videos = virtualBackgroundVideos.map(function (item) {
1935
+ return {
1936
+ name: (0, _tools.getFileNameWithoutExtension)(item),
1937
+ path: item,
1938
+ type: _virtualBackdoundResources.VirtualOption.VIDEO,
1939
+ url: URL.createObjectURL(window.runtime.fileToBlob(item, 'video'))
1940
+ };
1941
+ });
1942
+ sounds = soundEffects.map(function (item) {
1943
+ return {
1944
+ url: URL.createObjectURL(window.runtime.fileToBlob(item, 'audio')),
1945
+ md5Url: item
1946
+ };
1947
+ });
1948
+ this.logger.info('load builtin image ui resources:', (0, _imports.jsonstring)(images));
1949
+ this.logger.info('load builtin video ui resources:', (0, _imports.jsonstring)(videos));
1950
+ this.logger.info('load builtin sound ui resources:', (0, _imports.jsonstring)(sounds));
1951
+ newVirtualBackgroundList = newVirtualBackgroundList.concat(images);
1952
+ newVirtualBackgroundList = newVirtualBackgroundList.concat(videos);
1953
+ (0, _mobx.runInAction)(function () {
1954
+ _this17._updateVirtualBackgroundList(newVirtualBackgroundList);
1955
+ sounds.forEach(function (item) {
1956
+ _this17.soundEffectList.set((0, _tools.getFileNameWithoutExtension)(item.url), item);
1957
+ });
1958
+ });
1959
+ case 16:
1960
+ case "end":
1961
+ return _context21.stop();
1962
+ }
1963
+ }, _callee21, this);
1964
+ }));
1965
+ function _loadBuiltinResources() {
1966
+ return _loadBuiltinResources2.apply(this, arguments);
1967
+ }
1968
+ return _loadBuiltinResources;
1969
+ }()
1798
1970
  }]);
1799
1971
  }();
1800
1972
  _FcrUIDeviceProviderImpl = FcrUIDeviceProviderImpl;
1801
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIDeviceProviderImpl, [[_mobx.observable, 1, "_microphoneDeviceId"], [_mobx.observable, 1, "_speakerDeviceId"], [_mobx.observable, 1, "currentIsMirror"], [_mobx.observable, 1, "showForceOpenEffectDialog"], [_mobx.observable, 1, "cameraId"], [_mobx.observable, 1, "microphoneId"], [_mobx.observable, 1, "speakerId"], [_mobx.observable, 1, "cameraEnabled"], [_mobx.observable, 1, "showCameraPreview"], [_mobx.observable, 1, "microphoneEnabled"], [_mobx.observable, 1, "cameraList"], [_mobx.observable, 1, "microphoneList"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "speakerList"], [_mobx.observable, 1, "isLocalMirrorEnabled"], [_mobx.observable, 1, "isLocalEditBeautyOptions"], [_mobx.observable, 1, "speakerVolumeLevel"], [_mobx.observable, 1, "speakerVolume"], [_mobx.observable, 1, "microphoneVolume"], [_mobx.observable, 1, "virtualBackgroundName"], [_mobx.observable, 1, "enableBeauty"], [_mobx.observable, 1, "beautyKey"], [_mobx.observable, 1, "beautyOptions"], [_mobx.observable, 1, "virtualBackgroundList"], [_mobx.observable, 1, "soundEffectList"], [_mobx.observable, 1, "microphoneDetecting"], [_mobx.observable, 1, "speakerDetecting"], [_mobx.observable, 1, "connectType"], [_mobx.observable, 1, "isMainRoomAudioOff"], [_imports.bound, 2, "connectAudio"], [_imports.bound, 2, "disconnectAudio"], [_startPlayLocalVideoDecs, 18, "startPlayLocalVideo"], [_stopPlayLocalVideoDecs, 18, "stopPlayLocalVideo"], [_startSpeakerTestDecs, 18, "startSpeakerTest"], [_stopSpeakerTestDecs, 18, "stopSpeakerTest"], [_setCurrentIsMirrorDecs, 18, "setCurrentIsMirror"], [_toggleLocalMirrorPreviewDecs, 18, "toggleLocalMirrorPreview"], [_setBeautyOptionsDecs, 18, "setBeautyOptions"], [_handleCancelForceOpenVideoEffectDecs, 18, "handleCancelForceOpenVideoEffect"], [_handleForceOpenVideoEffectDecs, 18, "handleForceOpenVideoEffect"], [_imports.bound, 2, "setVideoOrientation"], [_setCameraEnabledDecs, 18, "setCameraEnabled"], [_setMicrophoneEnabledDecs, 18, "setMicrophoneEnabled"], [_toggleLocalMirrorDecs, 18, "toggleLocalMirror"], [_resetMirrorDecs, 18, "resetMirror"], [_startMicrophoneTestDecs, 18, "startMicrophoneTest"], [_stopMicrophoneTestDecs, 18, "stopMicrophoneTest"], [_enableVirtualBackgroundDecs, 18, "enableVirtualBackground"], [_setEditBeautyKeyDecs, 18, "setEditBeautyKey"], [_enableBeautyEffectDecs, 18, "enableBeautyEffect"], [_setCameraIdDecs, 18, "setCameraId"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setSpeakerVolumeDecs, 18, "setSpeakerVolume"], [_setMicrophoneVolumeDecs, 18, "setMicrophoneVolume"], [_downloadUiResourcesDecs, 18, "downloadUiResources"], [_setConnectTypeDecs, 18, "setConnectType"], [_updateVirtualBackgroundListDecs, 18, "_updateVirtualBackgroundList"], [_handleSpeakerTestVolumeIndicationUpdatedDecs, 18, "_handleSpeakerTestVolumeIndicationUpdated"], [_handleSpeakerVolumeUpdatedDecs, 18, "_handleSpeakerVolumeUpdated"], [_handleMicrophoneVolumeIndicationUpdatedDecs, 18, "_handleMicrophoneVolumeIndicationUpdated"], [_imports.bound, 2, "_handleCameraChanged"], [_imports.bound, 2, "toggleLocalCameraPreview"], [_imports.bound, 2, "_handleCameraListUpdated"], [_imports.bound, 2, "_handleMicrophoneAdded"], [_imports.bound, 2, "_handleMicrophoneRemoved"], [_imports.bound, 2, "_handleMicrophoneListUpdated"], [_handleSpeakerAddedDecs, 18, "_handleSpeakerAdded"], [_handleSpeakerRemovedDecs, 18, "_handleSpeakerRemoved"], [_handleSpeakerListUpdatedDecs, 18, "_handleSpeakerListUpdated"], [_setMainRoomAudioOffDecs, 18, "setMainRoomAudioOff"]], []).e, 30);
1973
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIDeviceProviderImpl, [[_mobx.observable, 1, "_microphoneDeviceId"], [_mobx.observable, 1, "_speakerDeviceId"], [_mobx.observable, 1, "currentIsMirror"], [_mobx.observable, 1, "showForceOpenEffectDialog"], [_mobx.observable, 1, "cameraId"], [_mobx.observable, 1, "microphoneId"], [_mobx.observable, 1, "speakerId"], [_mobx.observable, 1, "cameraEnabled"], [_mobx.observable, 1, "showCameraPreview"], [_mobx.observable, 1, "microphoneEnabled"], [_mobx.observable, 1, "cameraList"], [_mobx.observable, 1, "microphoneList"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "speakerList"], [_mobx.observable, 1, "isLocalMirrorEnabled"], [_mobx.observable, 1, "isLocalEditBeautyOptions"], [_mobx.observable, 1, "speakerVolumeLevel"], [_mobx.observable, 1, "speakerVolume"], [_mobx.observable, 1, "microphoneVolume"], [_mobx.observable, 1, "virtualBackgroundName"], [_mobx.observable, 1, "enableBeauty"], [_mobx.observable, 1, "beautyKey"], [_mobx.observable, 1, "beautyOptions"], [_mobx.observable, 1, "virtualBackgroundList"], [_mobx.observable, 1, "soundEffectList"], [_mobx.observable, 1, "microphoneDetecting"], [_mobx.observable, 1, "speakerDetecting"], [_mobx.observable, 1, "connectType"], [_mobx.observable, 1, "isMainRoomAudioOff"], [_imports.bound, 2, "connectAudio"], [_imports.bound, 2, "disconnectAudio"], [_startPlayLocalVideoDecs, 18, "startPlayLocalVideo"], [_stopPlayLocalVideoDecs, 18, "stopPlayLocalVideo"], [_startSpeakerTestDecs, 18, "startSpeakerTest"], [_stopSpeakerTestDecs, 18, "stopSpeakerTest"], [_setCurrentIsMirrorDecs, 18, "setCurrentIsMirror"], [_toggleLocalMirrorPreviewDecs, 18, "toggleLocalMirrorPreview"], [_setBeautyOptionsDecs, 18, "setBeautyOptions"], [_handleCancelForceOpenVideoEffectDecs, 18, "handleCancelForceOpenVideoEffect"], [_handleForceOpenVideoEffectDecs, 18, "handleForceOpenVideoEffect"], [_imports.bound, 2, "setVideoOrientation"], [_setCameraEnabledDecs, 18, "setCameraEnabled"], [_setMicrophoneEnabledDecs, 18, "setMicrophoneEnabled"], [_toggleLocalMirrorDecs, 18, "toggleLocalMirror"], [_resetMirrorDecs, 18, "resetMirror"], [_startMicrophoneTestDecs, 18, "startMicrophoneTest"], [_stopMicrophoneTestDecs, 18, "stopMicrophoneTest"], [_enableVirtualBackgroundDecs, 18, "enableVirtualBackground"], [_setEditBeautyKeyDecs, 18, "setEditBeautyKey"], [_enableBeautyEffectDecs, 18, "enableBeautyEffect"], [_setCameraIdDecs, 18, "setCameraId"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setSpeakerVolumeDecs, 18, "setSpeakerVolume"], [_setMicrophoneVolumeDecs, 18, "setMicrophoneVolume"], [_loadUiResourcesDecs, 18, "loadUiResources"], [_setConnectTypeDecs, 18, "setConnectType"], [_updateVirtualBackgroundListDecs, 18, "_updateVirtualBackgroundList"], [_handleSpeakerTestVolumeIndicationUpdatedDecs, 18, "_handleSpeakerTestVolumeIndicationUpdated"], [_handleSpeakerVolumeUpdatedDecs, 18, "_handleSpeakerVolumeUpdated"], [_handleMicrophoneVolumeIndicationUpdatedDecs, 18, "_handleMicrophoneVolumeIndicationUpdated"], [_imports.bound, 2, "_handleCameraChanged"], [_imports.bound, 2, "toggleLocalCameraPreview"], [_imports.bound, 2, "_handleCameraListUpdated"], [_imports.bound, 2, "_handleMicrophoneAdded"], [_imports.bound, 2, "_handleMicrophoneRemoved"], [_imports.bound, 2, "_handleMicrophoneListUpdated"], [_handleSpeakerAddedDecs, 18, "_handleSpeakerAdded"], [_handleSpeakerRemovedDecs, 18, "_handleSpeakerRemoved"], [_handleSpeakerListUpdatedDecs, 18, "_handleSpeakerListUpdated"], [_setMainRoomAudioOffDecs, 18, "setMainRoomAudioOff"]], []).e, 30);
1802
1974
  _init__microphoneDeviceId = _applyDecs$e[0];
1803
1975
  _init__speakerDeviceId = _applyDecs$e[1];
1804
1976
  _init_currentIsMirror = _applyDecs$e[2];