@hysc/meeting 6.0.0 → 6.1.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.
- package/esm/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +428 -0
- package/esm/boom-meeting/src/BMChat/BMChatVM.d.ts +26 -0
- package/esm/boom-meeting/src/BMRoom/BMRoomVM.d.ts +317 -0
- package/esm/boom-meeting/src/BMRoom/RoomEvent.d.ts +1 -0
- package/esm/boom-meeting/src/BMStream/BMStreamModel.d.ts +305 -0
- package/esm/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +260 -0
- package/esm/boom-meeting/src/BMUser/BMUser.d.ts +156 -0
- package/esm/boom-meeting/src/BMUser/BMUserVM.d.ts +177 -0
- package/esm/boom-meeting/src/audioPlay/AudioPlay.d.ts +31 -0
- package/esm/boom-meeting/src/bjy-common/function/debounce.d.ts +9 -0
- package/esm/boom-meeting/src/bjy-common/function/getErrorMessage.d.ts +1 -0
- package/esm/boom-meeting/src/bjy-common/function/isDef.d.ts +1 -0
- package/esm/boom-meeting/src/bjy-common/function/isUndef.d.ts +1 -0
- package/esm/boom-meeting/src/bjy-common/function/throttling.d.ts +9 -0
- package/esm/boom-meeting/src/bjy-common/function/toNumber.d.ts +1 -0
- package/esm/boom-meeting/src/bjy-common/type/api.d.ts +66 -0
- package/esm/boom-meeting/src/bjy-common/type/options.d.ts +7 -0
- package/esm/boom-meeting/src/bjy-common/type/type.d.ts +90 -0
- package/esm/boom-meeting/src/bjy-common/util/CustomEvent.d.ts +30 -0
- package/esm/boom-meeting/src/bjy-common/util/Emitter.d.ts +57 -0
- package/esm/boom-meeting/src/bjy-common/util/NextTask.d.ts +28 -0
- package/esm/boom-meeting/src/bjy-common/util/Sleep.d.ts +14 -0
- package/esm/boom-meeting/src/bjy-common/util/Timer.d.ts +13 -0
- package/esm/boom-meeting/src/bjy-common/util/array.d.ts +96 -0
- package/esm/boom-meeting/src/bjy-common/util/browser.d.ts +6 -0
- package/esm/boom-meeting/src/bjy-common/util/holder.d.ts +6 -0
- package/esm/boom-meeting/src/bjy-common/util/keypath.d.ts +41 -0
- package/esm/boom-meeting/src/bjy-common/util/logger.d.ts +42 -0
- package/esm/boom-meeting/src/bjy-common/util/network.d.ts +4 -0
- package/esm/boom-meeting/src/bjy-common/util/object.d.ts +83 -0
- package/esm/boom-meeting/src/bjy-common/util/os.d.ts +14 -0
- package/esm/boom-meeting/src/error/errorMap.d.ts +70 -0
- package/esm/boom-meeting/src/handleEvent/attachEvents.d.ts +48 -0
- package/esm/boom-meeting/src/handleEvent/brtcNetEvent.d.ts +9 -0
- package/esm/boom-meeting/src/handleEvent/customMessageEvent.d.ts +2 -0
- package/esm/boom-meeting/src/handleEvent/handleParticipantEvent.d.ts +24 -0
- package/esm/boom-meeting/src/handleEvent/handleRoomEvent.d.ts +20 -0
- package/esm/boom-meeting/src/handleEvent/messageEvent.d.ts +5 -0
- package/esm/boom-meeting/src/handleEvent/pullUser.d.ts +7 -0
- package/esm/boom-meeting/src/handleEvent/roomErrEvent.d.ts +9 -0
- package/esm/boom-meeting/src/handleEvent/streamEvent.d.ts +22 -0
- package/esm/boom-meeting/src/type/customStats.d.ts +123 -0
- package/esm/boom-meeting/src/type/index.d.ts +9 -0
- package/esm/boom-meeting/src/type/stream.d.ts +15 -0
- package/esm/boom-meeting/src/type/user.d.ts +9 -0
- package/esm/boom-meeting/src/util/PackLoss.d.ts +7 -0
- package/esm/boom-meeting/src/util/Privileges.d.ts +20 -0
- package/esm/boom-meeting/src/util/ReportCollector.d.ts +22 -0
- package/esm/boom-meeting/src/util/Stutter.d.ts +19 -0
- package/esm/boom-meeting/src/util/base64.d.ts +4 -0
- package/esm/boom-meeting/src/util/checkPermissions.d.ts +1 -0
- package/esm/boom-meeting/src/util/checkSystemRequirements.d.ts +1 -0
- package/esm/boom-meeting/src/util/devices.d.ts +2 -0
- package/esm/boom-meeting/src/util/formatUserId.d.ts +2 -0
- package/esm/boom-meeting/src/util/is.d.ts +70 -0
- package/esm/boom-meeting/src/util/peerToPeerProbe.d.ts +9 -0
- package/esm/boom-meeting/src/util/request.d.ts +45 -0
- package/esm/boom-meeting/src/util/roomUtils.d.ts +9 -0
- package/esm/index.js +29 -0
- package/esm/index.js.map +7 -0
- package/esm/src/BMChat/BMChatVM.d.ts +26 -0
- package/esm/src/BMChat/BMMessageInfo.d.ts +31 -0
- package/esm/src/BMRoom/BMLiveVM.d.ts +35 -0
- package/esm/src/BMRoom/BMRoom.d.ts +705 -0
- package/esm/src/BMRoom/BMRoomInfo.d.ts +215 -0
- package/esm/src/BMRoom/BMRoomVM.d.ts +317 -0
- package/esm/src/BMRoom/RoomEvent.d.ts +1 -0
- package/esm/src/BMStream/BMSpeaker.d.ts +26 -0
- package/esm/src/BMStream/BMStreamModel.d.ts +305 -0
- package/esm/src/BMStream/BMStreamModelVM.d.ts +260 -0
- package/esm/src/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
- package/esm/src/BMStream/sortStream.d.ts +30 -0
- package/esm/src/BMUser/BMUser.d.ts +156 -0
- package/esm/src/BMUser/BMUserVM.d.ts +177 -0
- package/esm/src/SingletonQueue/SingletonQueue.d.ts +26 -0
- package/esm/src/audioPlay/AudioPlay.d.ts +31 -0
- package/esm/src/bjy-common/function/debounce.d.ts +9 -0
- package/esm/src/bjy-common/function/execute.d.ts +9 -0
- package/esm/src/bjy-common/function/getErrorMessage.d.ts +1 -0
- package/esm/src/bjy-common/function/isDef.d.ts +1 -0
- package/esm/src/bjy-common/function/isNative.d.ts +1 -0
- package/esm/src/bjy-common/function/isUndef.d.ts +1 -0
- package/esm/src/bjy-common/function/nextTick.d.ts +2 -0
- package/esm/src/bjy-common/function/throttling.d.ts +9 -0
- package/esm/src/bjy-common/function/toNumber.d.ts +1 -0
- package/esm/src/bjy-common/function/toString.d.ts +1 -0
- package/esm/src/bjy-common/type/api.d.ts +66 -0
- package/esm/src/bjy-common/type/options.d.ts +7 -0
- package/esm/src/bjy-common/type/type.d.ts +90 -0
- package/esm/src/bjy-common/util/CustomEvent.d.ts +30 -0
- package/esm/src/bjy-common/util/Emitter.d.ts +57 -0
- package/esm/src/bjy-common/util/NextTask.d.ts +28 -0
- package/esm/src/bjy-common/util/Sleep.d.ts +14 -0
- package/esm/src/bjy-common/util/Timer.d.ts +13 -0
- package/esm/src/bjy-common/util/array.d.ts +96 -0
- package/esm/src/bjy-common/util/browser.d.ts +6 -0
- package/esm/src/bjy-common/util/constant.d.ts +50 -0
- package/esm/src/bjy-common/util/holder.d.ts +6 -0
- package/esm/src/bjy-common/util/is.d.ts +49 -0
- package/esm/src/bjy-common/util/keypath.d.ts +41 -0
- package/esm/src/bjy-common/util/logger.d.ts +42 -0
- package/esm/src/bjy-common/util/network.d.ts +4 -0
- package/esm/src/bjy-common/util/object.d.ts +83 -0
- package/esm/src/bjy-common/util/os.d.ts +14 -0
- package/esm/src/bjy-common/util/string.d.ts +102 -0
- package/esm/src/constants.d.ts +129 -0
- package/esm/src/error/RTCError.d.ts +20 -0
- package/esm/src/error/errorMap.d.ts +70 -0
- package/esm/src/error/errorType.d.ts +96 -0
- package/esm/src/handleEvent/attachEvents.d.ts +48 -0
- package/esm/src/handleEvent/brtcNetEvent.d.ts +9 -0
- package/esm/src/handleEvent/customMessageEvent.d.ts +2 -0
- package/esm/src/handleEvent/handleParticipantEvent.d.ts +24 -0
- package/esm/src/handleEvent/handleRoomEvent.d.ts +20 -0
- package/esm/src/handleEvent/messageEvent.d.ts +5 -0
- package/esm/src/handleEvent/pullUser.d.ts +7 -0
- package/esm/src/handleEvent/roomErrEvent.d.ts +9 -0
- package/esm/src/handleEvent/streamEvent.d.ts +22 -0
- package/esm/src/index.d.ts +2 -0
- package/esm/src/logger/logger.d.ts +86 -0
- package/esm/src/type/customStats.d.ts +123 -0
- package/esm/src/type/index.d.ts +9 -0
- package/esm/src/type/stream.d.ts +15 -0
- package/esm/src/type/user.d.ts +9 -0
- package/esm/src/util/PackLoss.d.ts +7 -0
- package/esm/src/util/Pqueue.d.ts +62 -0
- package/esm/src/util/Privileges.d.ts +20 -0
- package/esm/src/util/ReportCollector.d.ts +22 -0
- package/esm/src/util/Stutter.d.ts +19 -0
- package/esm/src/util/Thread.d.ts +12 -0
- package/esm/src/util/base64.d.ts +4 -0
- package/esm/src/util/checkPermissions.d.ts +1 -0
- package/esm/src/util/checkSystemRequirements.d.ts +1 -0
- package/esm/src/util/constant.d.ts +67 -0
- package/esm/src/util/devices.d.ts +2 -0
- package/esm/src/util/emitter.d.ts +43 -0
- package/esm/src/util/formatUserId.d.ts +2 -0
- package/esm/src/util/is.d.ts +70 -0
- package/esm/src/util/peerToPeerProbe.d.ts +9 -0
- package/esm/src/util/request.d.ts +45 -0
- package/esm/src/util/roomUtils.d.ts +9 -0
- package/esm/src/util/sortUtils.d.ts +10 -0
- package/esm/src/util/util.d.ts +78 -0
- package/esm/utils/BoomError.d.ts +19 -0
- package/esm/utils/ErrorTypes.d.ts +139 -0
- package/esm/utils/index.d.ts +9 -0
- package/package.json +16 -12
- package/umd/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +428 -0
- package/umd/boom-meeting/src/BMChat/BMChatVM.d.ts +26 -0
- package/umd/boom-meeting/src/BMRoom/BMRoomVM.d.ts +317 -0
- package/umd/boom-meeting/src/BMRoom/RoomEvent.d.ts +1 -0
- package/umd/boom-meeting/src/BMStream/BMStreamModel.d.ts +305 -0
- package/umd/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +260 -0
- package/umd/boom-meeting/src/BMUser/BMUser.d.ts +156 -0
- package/umd/boom-meeting/src/BMUser/BMUserVM.d.ts +177 -0
- package/umd/boom-meeting/src/audioPlay/AudioPlay.d.ts +31 -0
- package/umd/boom-meeting/src/bjy-common/function/debounce.d.ts +9 -0
- package/umd/boom-meeting/src/bjy-common/function/getErrorMessage.d.ts +1 -0
- package/umd/boom-meeting/src/bjy-common/function/isDef.d.ts +1 -0
- package/umd/boom-meeting/src/bjy-common/function/isUndef.d.ts +1 -0
- package/umd/boom-meeting/src/bjy-common/function/throttling.d.ts +9 -0
- package/umd/boom-meeting/src/bjy-common/function/toNumber.d.ts +1 -0
- package/umd/boom-meeting/src/bjy-common/type/api.d.ts +66 -0
- package/umd/boom-meeting/src/bjy-common/type/options.d.ts +7 -0
- package/umd/boom-meeting/src/bjy-common/type/type.d.ts +90 -0
- package/umd/boom-meeting/src/bjy-common/util/CustomEvent.d.ts +30 -0
- package/umd/boom-meeting/src/bjy-common/util/Emitter.d.ts +57 -0
- package/umd/boom-meeting/src/bjy-common/util/NextTask.d.ts +28 -0
- package/umd/boom-meeting/src/bjy-common/util/Sleep.d.ts +14 -0
- package/umd/boom-meeting/src/bjy-common/util/Timer.d.ts +13 -0
- package/umd/boom-meeting/src/bjy-common/util/array.d.ts +96 -0
- package/umd/boom-meeting/src/bjy-common/util/browser.d.ts +6 -0
- package/umd/boom-meeting/src/bjy-common/util/holder.d.ts +6 -0
- package/umd/boom-meeting/src/bjy-common/util/keypath.d.ts +41 -0
- package/umd/boom-meeting/src/bjy-common/util/logger.d.ts +42 -0
- package/umd/boom-meeting/src/bjy-common/util/network.d.ts +4 -0
- package/umd/boom-meeting/src/bjy-common/util/object.d.ts +83 -0
- package/umd/boom-meeting/src/bjy-common/util/os.d.ts +14 -0
- package/umd/boom-meeting/src/error/errorMap.d.ts +70 -0
- package/umd/boom-meeting/src/handleEvent/attachEvents.d.ts +48 -0
- package/umd/boom-meeting/src/handleEvent/brtcNetEvent.d.ts +9 -0
- package/umd/boom-meeting/src/handleEvent/customMessageEvent.d.ts +2 -0
- package/umd/boom-meeting/src/handleEvent/handleParticipantEvent.d.ts +24 -0
- package/umd/boom-meeting/src/handleEvent/handleRoomEvent.d.ts +20 -0
- package/umd/boom-meeting/src/handleEvent/messageEvent.d.ts +5 -0
- package/umd/boom-meeting/src/handleEvent/pullUser.d.ts +7 -0
- package/umd/boom-meeting/src/handleEvent/roomErrEvent.d.ts +9 -0
- package/umd/boom-meeting/src/handleEvent/streamEvent.d.ts +22 -0
- package/umd/boom-meeting/src/type/customStats.d.ts +123 -0
- package/umd/boom-meeting/src/type/index.d.ts +9 -0
- package/umd/boom-meeting/src/type/stream.d.ts +15 -0
- package/umd/boom-meeting/src/type/user.d.ts +9 -0
- package/umd/boom-meeting/src/util/PackLoss.d.ts +7 -0
- package/umd/boom-meeting/src/util/Privileges.d.ts +20 -0
- package/umd/boom-meeting/src/util/ReportCollector.d.ts +22 -0
- package/umd/boom-meeting/src/util/Stutter.d.ts +19 -0
- package/umd/boom-meeting/src/util/base64.d.ts +4 -0
- package/umd/boom-meeting/src/util/checkPermissions.d.ts +1 -0
- package/umd/boom-meeting/src/util/checkSystemRequirements.d.ts +1 -0
- package/umd/boom-meeting/src/util/devices.d.ts +2 -0
- package/umd/boom-meeting/src/util/formatUserId.d.ts +2 -0
- package/umd/boom-meeting/src/util/is.d.ts +70 -0
- package/umd/boom-meeting/src/util/peerToPeerProbe.d.ts +9 -0
- package/umd/boom-meeting/src/util/request.d.ts +45 -0
- package/umd/boom-meeting/src/util/roomUtils.d.ts +9 -0
- package/umd/index.js +29 -0
- package/umd/src/BMChat/BMChatVM.d.ts +26 -0
- package/umd/src/BMChat/BMMessageInfo.d.ts +31 -0
- package/umd/src/BMRoom/BMLiveVM.d.ts +35 -0
- package/umd/src/BMRoom/BMRoom.d.ts +705 -0
- package/umd/src/BMRoom/BMRoomInfo.d.ts +215 -0
- package/umd/src/BMRoom/BMRoomVM.d.ts +317 -0
- package/umd/src/BMRoom/RoomEvent.d.ts +1 -0
- package/umd/src/BMStream/BMSpeaker.d.ts +26 -0
- package/umd/src/BMStream/BMStreamModel.d.ts +306 -0
- package/umd/src/BMStream/BMStreamModelVM.d.ts +259 -0
- package/umd/src/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
- package/umd/src/BMStream/sortStream.d.ts +30 -0
- package/umd/src/BMUser/BMUser.d.ts +156 -0
- package/umd/src/BMUser/BMUserVM.d.ts +177 -0
- package/umd/src/SingletonQueue/SingletonQueue.d.ts +26 -0
- package/umd/src/audioPlay/AudioPlay.d.ts +31 -0
- package/umd/src/bjy-common/function/debounce.d.ts +9 -0
- package/umd/src/bjy-common/function/execute.d.ts +9 -0
- package/umd/src/bjy-common/function/getErrorMessage.d.ts +1 -0
- package/umd/src/bjy-common/function/isDef.d.ts +1 -0
- package/umd/src/bjy-common/function/isNative.d.ts +1 -0
- package/umd/src/bjy-common/function/isUndef.d.ts +1 -0
- package/umd/src/bjy-common/function/nextTick.d.ts +2 -0
- package/umd/src/bjy-common/function/throttling.d.ts +9 -0
- package/umd/src/bjy-common/function/toNumber.d.ts +1 -0
- package/umd/src/bjy-common/function/toString.d.ts +1 -0
- package/umd/src/bjy-common/type/api.d.ts +66 -0
- package/umd/src/bjy-common/type/options.d.ts +7 -0
- package/umd/src/bjy-common/type/type.d.ts +90 -0
- package/umd/src/bjy-common/util/CustomEvent.d.ts +30 -0
- package/umd/src/bjy-common/util/Emitter.d.ts +57 -0
- package/umd/src/bjy-common/util/NextTask.d.ts +28 -0
- package/umd/src/bjy-common/util/Sleep.d.ts +14 -0
- package/umd/src/bjy-common/util/Timer.d.ts +13 -0
- package/umd/src/bjy-common/util/array.d.ts +96 -0
- package/umd/src/bjy-common/util/browser.d.ts +6 -0
- package/umd/src/bjy-common/util/constant.d.ts +50 -0
- package/umd/src/bjy-common/util/holder.d.ts +6 -0
- package/umd/src/bjy-common/util/is.d.ts +49 -0
- package/umd/src/bjy-common/util/keypath.d.ts +41 -0
- package/umd/src/bjy-common/util/logger.d.ts +42 -0
- package/umd/src/bjy-common/util/network.d.ts +4 -0
- package/umd/src/bjy-common/util/object.d.ts +83 -0
- package/umd/src/bjy-common/util/os.d.ts +14 -0
- package/umd/src/bjy-common/util/string.d.ts +102 -0
- package/umd/src/constants.d.ts +129 -0
- package/umd/src/error/RTCError.d.ts +20 -0
- package/umd/src/error/errorMap.d.ts +70 -0
- package/umd/src/error/errorType.d.ts +96 -0
- package/umd/src/handleEvent/attachEvents.d.ts +47 -0
- package/umd/src/handleEvent/brtcNetEvent.d.ts +9 -0
- package/umd/src/handleEvent/customMessageEvent.d.ts +2 -0
- package/umd/src/handleEvent/handleParticipantEvent.d.ts +24 -0
- package/umd/src/handleEvent/handleRoomEvent.d.ts +20 -0
- package/umd/src/handleEvent/messageEvent.d.ts +5 -0
- package/umd/src/handleEvent/pullUser.d.ts +7 -0
- package/umd/src/handleEvent/roomErrEvent.d.ts +9 -0
- package/umd/src/handleEvent/streamEvent.d.ts +22 -0
- package/umd/src/index.d.ts +2 -0
- package/umd/src/logger/logger.d.ts +86 -0
- package/umd/src/type/customStats.d.ts +123 -0
- package/umd/src/type/index.d.ts +9 -0
- package/umd/src/type/stream.d.ts +12 -0
- package/umd/src/type/user.d.ts +9 -0
- package/umd/src/util/PackLoss.d.ts +7 -0
- package/umd/src/util/Pqueue.d.ts +62 -0
- package/umd/src/util/Privileges.d.ts +20 -0
- package/umd/src/util/ReportCollector.d.ts +22 -0
- package/umd/src/util/Stutter.d.ts +19 -0
- package/umd/src/util/Thread.d.ts +12 -0
- package/umd/src/util/base64.d.ts +4 -0
- package/umd/src/util/checkPermissions.d.ts +1 -0
- package/umd/src/util/checkSystemRequirements.d.ts +1 -0
- package/umd/src/util/constant.d.ts +67 -0
- package/umd/src/util/devices.d.ts +2 -0
- package/umd/src/util/emitter.d.ts +43 -0
- package/umd/src/util/formatUserId.d.ts +2 -0
- package/umd/src/util/is.d.ts +70 -0
- package/umd/src/util/peerToPeerProbe.d.ts +9 -0
- package/umd/src/util/request.d.ts +45 -0
- package/umd/src/util/roomUtils.d.ts +9 -0
- package/umd/src/util/sortUtils.d.ts +10 -0
- package/umd/src/util/util.d.ts +78 -0
- package/umd/utils/BoomError.d.ts +19 -0
- package/umd/utils/ErrorTypes.d.ts +139 -0
- package/umd/utils/index.d.ts +9 -0
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/index.d.mts +0 -4099
- package/dist/index.d.ts +0 -4099
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name: BMStreamModelVM
|
|
3
|
+
* @author: yangliye
|
|
4
|
+
* @date: 2022-04-27 15:25
|
|
5
|
+
* @description:BMStreamModelVM
|
|
6
|
+
* @update: 2022-04-27 15:25
|
|
7
|
+
* @description
|
|
8
|
+
* 这个模块的功能是去管理展示窗口的处理逻辑,主要包括创建streamModel,更新streamModel(主要是流相关信息的更新,和用户更新)
|
|
9
|
+
* 创建streamModel的操作:
|
|
10
|
+
* 初始化整个流程是根据bloud的用户来创建的
|
|
11
|
+
* 然后在根据brtc里面流的信息来更新对应的streamModel
|
|
12
|
+
* bloud的用户和brtc的流信息是根据uid来进行关联。
|
|
13
|
+
*
|
|
14
|
+
* 共享屏幕用户做了特殊处理,因为web端共享屏幕和移动端共享屏幕处理逻辑不一样
|
|
15
|
+
*/
|
|
16
|
+
/// <reference types="node" />
|
|
17
|
+
import BMStreamModel, { NoPlayerContainer } from "./BMStreamModel";
|
|
18
|
+
import BMUser from "../BMUser/BMUser";
|
|
19
|
+
import { SingleLocalStream, SingleRemoteStream, SingleStream } from "../type";
|
|
20
|
+
import BMRoom from "../BMRoom/BMRoom";
|
|
21
|
+
import { BehaviorSubject, Subject } from "rxjs";
|
|
22
|
+
import { BoomError } from "@hysc/utils";
|
|
23
|
+
import { Device } from "@hysc/core/esm/BoomAdapter/type/value";
|
|
24
|
+
import BMSpeaker from "./BMSpeaker";
|
|
25
|
+
import { ShareMediaOptions } from "@hysc/core/esm/BoomCore/BCClient/BCClient";
|
|
26
|
+
import { getHTMLMediaStreamOptions, getMediaStreamInfo, Result } from "./getHTMLMediaStreamOptions";
|
|
27
|
+
import { BloudStream } from "@hysc/core";
|
|
28
|
+
import type { StreamCustomInfo } from '@hysc/bloud';
|
|
29
|
+
import { BloudStreamEventState } from "../handleEvent/attachEvents";
|
|
30
|
+
export declare function transShareScreen2User(userId: string): string;
|
|
31
|
+
export default class BMStreamModelVM {
|
|
32
|
+
streamModels: Map<string, BMStreamModel>;
|
|
33
|
+
/**
|
|
34
|
+
* 因为投屏码用户进来以后,他是不在小窗口展示的,所以要把投屏的用户过滤掉给业务的展示
|
|
35
|
+
*/
|
|
36
|
+
streamModelsWatcher: BehaviorSubject<BMStreamModel[]>;
|
|
37
|
+
shareStreamModels: Map<string, BMStreamModel>;
|
|
38
|
+
shareStreamModelsWatcher: BehaviorSubject<BMStreamModel[]>;
|
|
39
|
+
localStreamErrorWatcher: Subject<string>;
|
|
40
|
+
localModel: BMStreamModel | null;
|
|
41
|
+
room: BMRoom | null;
|
|
42
|
+
bloudStream: BloudStream | null;
|
|
43
|
+
brtcStream: SingleLocalStream | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* 后面打开摄像头存储的流,主要是关闭摄像头的时候得把它清除掉
|
|
46
|
+
*/
|
|
47
|
+
videoStream: SingleLocalStream | null;
|
|
48
|
+
audioStream: SingleLocalStream | null;
|
|
49
|
+
audioStats: boolean;
|
|
50
|
+
videoStats: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* 本地是否在屏幕共享
|
|
53
|
+
*/
|
|
54
|
+
localIsShare: boolean;
|
|
55
|
+
isShareWatcher: Subject<boolean>;
|
|
56
|
+
_speaker_enable: boolean;
|
|
57
|
+
speakerEnableWatcher: BehaviorSubject<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* 混流
|
|
60
|
+
*/
|
|
61
|
+
mixStreamModelWatcher: BehaviorSubject<BMStreamModel | null>;
|
|
62
|
+
canvasTimer: NodeJS.Timeout | null;
|
|
63
|
+
private _recorder;
|
|
64
|
+
private _isRecording;
|
|
65
|
+
private _slicingRecord;
|
|
66
|
+
isRecordingWatcher: BehaviorSubject<boolean>;
|
|
67
|
+
private _speaker;
|
|
68
|
+
private _speakerDetector;
|
|
69
|
+
private _speakers;
|
|
70
|
+
speakerWatcher: BehaviorSubject<BMUser | null>;
|
|
71
|
+
/**
|
|
72
|
+
* 窗口没有播放容器的错误处理
|
|
73
|
+
*/
|
|
74
|
+
noContainerWatcher: Subject<BMStreamModel>;
|
|
75
|
+
/**
|
|
76
|
+
* 窗口没有大窗口播放容器的错误处理
|
|
77
|
+
*/
|
|
78
|
+
noBigContainerWatcher: Subject<BMStreamModel>;
|
|
79
|
+
localStreamConnectErrorWatcher: Subject<BoomError>;
|
|
80
|
+
/**
|
|
81
|
+
* 共享屏幕相关错误
|
|
82
|
+
* 包括,共享客户端错误
|
|
83
|
+
* 共享屏幕流错误
|
|
84
|
+
*/
|
|
85
|
+
localShareError: Subject<BoomError>;
|
|
86
|
+
/**
|
|
87
|
+
* 共享屏幕流是单独处理的逻辑,不是先创建streamModel然后在去查流,而是先去查流,在创建streamModel
|
|
88
|
+
*/
|
|
89
|
+
shareBloudStateMap: Map<string, BloudStreamEventState>;
|
|
90
|
+
constructor();
|
|
91
|
+
private static filterStreamModels;
|
|
92
|
+
initWithRoom(room: BMRoom): this;
|
|
93
|
+
/**
|
|
94
|
+
* 设置扬声器是否打开
|
|
95
|
+
* @param enable
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
private setSpeakerEnable;
|
|
99
|
+
getStreamModels(): Array<BMStreamModel>;
|
|
100
|
+
/**
|
|
101
|
+
* 获取streamModel
|
|
102
|
+
* @param userId 用户Id
|
|
103
|
+
* @returns
|
|
104
|
+
*/
|
|
105
|
+
getStreamModelByUId(userId: string): BMStreamModel | undefined;
|
|
106
|
+
getShareStreamModelByUId(userId: string): BMStreamModel | undefined;
|
|
107
|
+
getLocalStreamModel(): BMStreamModel | null;
|
|
108
|
+
createStreamModel(user: BMUser, stream?: SingleStream): BMStreamModel;
|
|
109
|
+
addStreamModel(streamModel: BMStreamModel): void;
|
|
110
|
+
addShareStreamModel(streamModel: BMStreamModel): void;
|
|
111
|
+
removeStreamModel(streamModel: BMStreamModel): void;
|
|
112
|
+
removeShareStreamModelByUId(uid: string): void;
|
|
113
|
+
removeShareStreamModel(streamModel: BMStreamModel): void;
|
|
114
|
+
/**`
|
|
115
|
+
* 通过用户id删除streamModel
|
|
116
|
+
* @param userId
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
removeStreamModelByUId(userId: string): BMStreamModel | undefined;
|
|
120
|
+
remoteStreamPublished(stream: SingleRemoteStream): void;
|
|
121
|
+
/**
|
|
122
|
+
* 有人取消流触发,有人取消流之后brtc底层会把流销毁掉,除了流Id和userId,其他的信息都不稳定能取到
|
|
123
|
+
* @param stream
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
126
|
+
remoteStreamUnpublished(stream: SingleRemoteStream): BMStreamModel | undefined;
|
|
127
|
+
sortStreamModels(): BMStreamModel[];
|
|
128
|
+
updateStreamModel(streamModel: BMStreamModel, stream: SingleStream): void;
|
|
129
|
+
updateShareStreamModel(streamModel: BMStreamModel, stream: SingleStream): void;
|
|
130
|
+
/**
|
|
131
|
+
* 开关本地摄像头
|
|
132
|
+
* @param status true:开,false:关
|
|
133
|
+
* @param videoTrack 开启美颜之后,需要传递这个参数,携带美颜之后的videoTrack
|
|
134
|
+
*/
|
|
135
|
+
setLocalVideoEnable(status: boolean, videoTrack?: MediaStreamTrack): Promise<undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* brtc流更新状态失败,这个时候重新推流
|
|
138
|
+
*/
|
|
139
|
+
handleStreamUpdateFailed(): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* 开关本地麦克风
|
|
142
|
+
* @param status true:开,false:关
|
|
143
|
+
*/
|
|
144
|
+
setLocalAudioEnable(status: boolean): Promise<undefined>;
|
|
145
|
+
/**
|
|
146
|
+
* 该方法只是在入会的时候,同时开启音频和视频的时候使用,其他时候禁止使用该方法
|
|
147
|
+
* 切换音频和视频状态请使用 setLocalAudioEnable 和 setLocalVideoEnable
|
|
148
|
+
* @param audio
|
|
149
|
+
* @param video
|
|
150
|
+
*/
|
|
151
|
+
joinWithAudioAndAudio(audio: boolean, video: boolean): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* 切换扬声器
|
|
154
|
+
* @param device
|
|
155
|
+
* @param force
|
|
156
|
+
*/
|
|
157
|
+
changeSpeaker(device: Device, force?: boolean): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* 设置单个流的扬声器
|
|
160
|
+
* @param streamModel
|
|
161
|
+
*/
|
|
162
|
+
changeSingleStreamSpeaker(streamModel: BMStreamModel): Promise<void>;
|
|
163
|
+
changeAudioInput(device: Device): Promise<boolean | undefined>;
|
|
164
|
+
changeVideoInput(device: Device): Promise<boolean | undefined>;
|
|
165
|
+
/**
|
|
166
|
+
* 是否静音扬声器
|
|
167
|
+
* @param enable
|
|
168
|
+
*/
|
|
169
|
+
muteSpeaker(enable: boolean): Promise<undefined>;
|
|
170
|
+
/**
|
|
171
|
+
* 创建本地音频流
|
|
172
|
+
*/
|
|
173
|
+
createLocalAudioStream(): Promise<void>;
|
|
174
|
+
/**
|
|
175
|
+
* 创建流并且发布
|
|
176
|
+
* @param audio 是否发布音频流
|
|
177
|
+
* @param video 是否发布视频流
|
|
178
|
+
* @param localModel 本地的streamModel
|
|
179
|
+
* @param videoTrack
|
|
180
|
+
* @private
|
|
181
|
+
*/
|
|
182
|
+
private createStreamAndPublish;
|
|
183
|
+
publishBloudStream(audio: boolean, video: boolean): Promise<void>;
|
|
184
|
+
muteHandler(type: 'video' | 'audio'): void;
|
|
185
|
+
unpublishStream(): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* 更改音视频状态或者取消发布
|
|
188
|
+
* @param type 更改类型
|
|
189
|
+
* @param mute 是否取消发布
|
|
190
|
+
* @param localModel 本地的streamModel
|
|
191
|
+
* @private
|
|
192
|
+
*/
|
|
193
|
+
private muteOrUnpublishStream;
|
|
194
|
+
toggleShareScreen(enable: boolean, opts: any, customShare?: Result): Promise<boolean>;
|
|
195
|
+
setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): void;
|
|
196
|
+
updateModelSort: any;
|
|
197
|
+
handleNoContainer: (info: NoPlayerContainer) => void;
|
|
198
|
+
/**
|
|
199
|
+
* 创建canvas,目的是为了捕获空track流,给brtc使用
|
|
200
|
+
*/
|
|
201
|
+
createCanvas(): void;
|
|
202
|
+
private canvasDisplay;
|
|
203
|
+
private static getCanvasStream;
|
|
204
|
+
private createVideoStream;
|
|
205
|
+
/**
|
|
206
|
+
* 启动录制
|
|
207
|
+
* @param {String} opts.filename - 录制文件名
|
|
208
|
+
* @param {Object} opts.capture - 采集属性
|
|
209
|
+
* @param {Number} opts.capture.width - 宽度
|
|
210
|
+
* @param {Number} opts.capture.height - 高度
|
|
211
|
+
* @param {Number} opts.capture.fps - 帧率
|
|
212
|
+
* @param {Number} opts.record - 编码属性
|
|
213
|
+
* @param {Number} opts.record.bitrate - 编码码率
|
|
214
|
+
* @param {String|undefined} opts.record.format - 编码格式
|
|
215
|
+
* @return {boolean}
|
|
216
|
+
*/
|
|
217
|
+
startRecord(opts: any): Promise<boolean | undefined>;
|
|
218
|
+
/**
|
|
219
|
+
* 添加流对象到录制器,用于音频轨道录制
|
|
220
|
+
* @param stream
|
|
221
|
+
*/
|
|
222
|
+
addToRecorder(stream: SingleStream): void;
|
|
223
|
+
/**
|
|
224
|
+
* 从录制器中删除流对象
|
|
225
|
+
* @param stream
|
|
226
|
+
*/
|
|
227
|
+
removeFromRecorder(stream: any): void;
|
|
228
|
+
/**
|
|
229
|
+
* 停止录制
|
|
230
|
+
*/
|
|
231
|
+
stopRecord(): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* 启用下一个录制分片
|
|
234
|
+
* @param filename - 下一分片文件名
|
|
235
|
+
*/
|
|
236
|
+
sliceRecord(filename: string): Promise<boolean | undefined>;
|
|
237
|
+
/**
|
|
238
|
+
* 启动说话人检测器
|
|
239
|
+
*/
|
|
240
|
+
startSpeakerDetector(): void;
|
|
241
|
+
addToDetector(speaker: BMSpeaker): void;
|
|
242
|
+
removeFromDetector(speakerId: string): void;
|
|
243
|
+
clearDetector(): void;
|
|
244
|
+
shareCustomMedia(enable: boolean, shareOptions: ShareMediaOptions): Promise<undefined>;
|
|
245
|
+
/**
|
|
246
|
+
* 根据videoElement 获取内部流数据
|
|
247
|
+
*/
|
|
248
|
+
getHTMLMediaStream: typeof getHTMLMediaStreamOptions;
|
|
249
|
+
getMediaStream: typeof getMediaStreamInfo;
|
|
250
|
+
/**
|
|
251
|
+
* 更新流信息 会给服务端发送updateStream信令,会收到updateStream的广播
|
|
252
|
+
*/
|
|
253
|
+
updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<any> | undefined;
|
|
254
|
+
/**
|
|
255
|
+
* 布局发生变化之后去调用一下这个方法去检测所有流的播放状态
|
|
256
|
+
* @param {string} status tag 用于区分是什么状态下调用的
|
|
257
|
+
*/
|
|
258
|
+
checkStreamStats(status: string): void;
|
|
259
|
+
clearCache(): void;
|
|
260
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import BMStreamModel from '../BMStream/BMStreamModel';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import BCUser from '@hysc/core/esm/BoomAdapter/User/User';
|
|
4
|
+
import BMRoom from '../BMRoom/BMRoom';
|
|
5
|
+
export declare type Operation = 'none' | 'getMaster' | 'getManager' | 'removeMaster' | 'getGuest' | 'removeGuest' | 'removeManager' | 'changeNickName' | 'speakerEnable' | 'changeShare' | 'updateUser' | 'raiseHandsVideo' | 'raiseHandsAudio' | 'audienceEnableSpeaking' | 'inBackground' | 'raiseHand';
|
|
6
|
+
interface IUserActionWatcher {
|
|
7
|
+
operation: Operation;
|
|
8
|
+
user: BMUser;
|
|
9
|
+
}
|
|
10
|
+
interface UserInfo {
|
|
11
|
+
avatar: string;
|
|
12
|
+
jointime: number;
|
|
13
|
+
nickname: string;
|
|
14
|
+
pos: string;
|
|
15
|
+
userId: string;
|
|
16
|
+
status?: {
|
|
17
|
+
audioRaiseHands: boolean;
|
|
18
|
+
videoRaiseHands: boolean;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface RaiseHandInfo {
|
|
22
|
+
status: 'raiseHandsAudio' | 'raiseHandsVideo' | 'raiseHand';
|
|
23
|
+
user: BMUser;
|
|
24
|
+
}
|
|
25
|
+
export default class BMUser {
|
|
26
|
+
/**
|
|
27
|
+
* 用户id
|
|
28
|
+
*/
|
|
29
|
+
userId: string;
|
|
30
|
+
/**
|
|
31
|
+
* 用户信息
|
|
32
|
+
*/
|
|
33
|
+
userInfo: UserInfo;
|
|
34
|
+
nickName: string;
|
|
35
|
+
isMaster: boolean;
|
|
36
|
+
isManager: boolean;
|
|
37
|
+
mirror: boolean;
|
|
38
|
+
isLocal: boolean;
|
|
39
|
+
isToupingma: boolean;
|
|
40
|
+
hasMultiple: boolean;
|
|
41
|
+
isCreate: boolean;
|
|
42
|
+
hasShare: boolean;
|
|
43
|
+
audienceEnableSpeaking: boolean;
|
|
44
|
+
/** 头像 */
|
|
45
|
+
avatar: string;
|
|
46
|
+
private streamModels;
|
|
47
|
+
permission: any;
|
|
48
|
+
/**
|
|
49
|
+
* 监听器, 监听返回对象属性
|
|
50
|
+
* @property {string} operation
|
|
51
|
+
* 'getManager':获得管理员权限/成为联席主持人
|
|
52
|
+
* 'getMaster':成为主持人
|
|
53
|
+
* 'removeManager':取消管理员权限/取消联席主持人
|
|
54
|
+
* 'removeMaster':取消主持人
|
|
55
|
+
* 'changeNickName':改变昵称
|
|
56
|
+
* 'speakerEnable':扬声器开关状态改变
|
|
57
|
+
* 'changeShare': 是否在屏幕共享
|
|
58
|
+
* 'raiseHandsVideo': 是否视频举手
|
|
59
|
+
* 'raiseHandsAudio': 是否音频举手
|
|
60
|
+
* 'raiseHand':单纯的举手
|
|
61
|
+
* @property {BMUser} user
|
|
62
|
+
*/
|
|
63
|
+
watcher: BehaviorSubject<IUserActionWatcher>;
|
|
64
|
+
/**
|
|
65
|
+
* 排序
|
|
66
|
+
*/
|
|
67
|
+
sortNum: number;
|
|
68
|
+
/**
|
|
69
|
+
* 举手相关
|
|
70
|
+
*/
|
|
71
|
+
raiseVideoHands: boolean;
|
|
72
|
+
raiseAudioHands: boolean;
|
|
73
|
+
raiseHand: boolean;
|
|
74
|
+
isAudience: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* 是不是普通参会者
|
|
77
|
+
*/
|
|
78
|
+
isCommonUser: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* 如果改用户是移动端, 该值用于判断这个用户是否在后台
|
|
81
|
+
*/
|
|
82
|
+
inBackground: boolean;
|
|
83
|
+
raiseHandTime: number;
|
|
84
|
+
/**
|
|
85
|
+
* 是不是web端入会
|
|
86
|
+
*/
|
|
87
|
+
get isWeb(): boolean;
|
|
88
|
+
constructor(user: any, isLocal?: boolean);
|
|
89
|
+
setup(userId: string, userinfo: UserInfo, nickname: string): void;
|
|
90
|
+
getMainStreamModel(): BMStreamModel | undefined;
|
|
91
|
+
get nickname(): string;
|
|
92
|
+
getShareStreamModel(): BMStreamModel | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* 获取用户麦克风开启状态
|
|
95
|
+
*/
|
|
96
|
+
get audioEnable(): boolean;
|
|
97
|
+
get isMixer(): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* 获取用户视频开启状态
|
|
100
|
+
*/
|
|
101
|
+
get videoEnable(): boolean;
|
|
102
|
+
get isSharing(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 是否是信号源
|
|
105
|
+
*/
|
|
106
|
+
get isSignal(): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* 检测当前用户是否有主持人权限
|
|
109
|
+
*/
|
|
110
|
+
checkLocalHasMaster(): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* 给用户添加流
|
|
113
|
+
* @param streamId
|
|
114
|
+
* @param stream 流
|
|
115
|
+
*/
|
|
116
|
+
addStream(streamId: string, stream: BMStreamModel): void;
|
|
117
|
+
/**
|
|
118
|
+
* 删除流
|
|
119
|
+
* @param streamId
|
|
120
|
+
*/
|
|
121
|
+
removeStream(streamId: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* 获取用户id
|
|
124
|
+
*/
|
|
125
|
+
getID(): string;
|
|
126
|
+
/**
|
|
127
|
+
* 获取用户昵称
|
|
128
|
+
*/
|
|
129
|
+
getNickName(): string;
|
|
130
|
+
/**
|
|
131
|
+
* 获取用户信息
|
|
132
|
+
*/
|
|
133
|
+
getUserInfo(): UserInfo;
|
|
134
|
+
/**
|
|
135
|
+
* 获取用户流信息
|
|
136
|
+
*/
|
|
137
|
+
getStreams(): Map<string, BMStreamModel>;
|
|
138
|
+
/**
|
|
139
|
+
* updateUserInfo更新用户信息(除了isMaster,isMaster是通过change-master事件改变的)
|
|
140
|
+
* @param bcUser
|
|
141
|
+
* @param participant
|
|
142
|
+
* @param bmRoom
|
|
143
|
+
* @returns
|
|
144
|
+
*/
|
|
145
|
+
updateUserInfo(bcUser: BCUser, participant: any, bmRoom: BMRoom): void;
|
|
146
|
+
/** 是否有管理权限, 是主持人或联席主持人之一 */
|
|
147
|
+
hasManager(): boolean;
|
|
148
|
+
/** 获取用户后面的身份标识 */
|
|
149
|
+
getNicknameSuffix(): string;
|
|
150
|
+
/**
|
|
151
|
+
* 更新当前用户的排序
|
|
152
|
+
*/
|
|
153
|
+
updateSortNum(force?: boolean, shouldDelay?: boolean): void;
|
|
154
|
+
setSortNum(sortNum: number, force: boolean, shouldDelay: boolean): void;
|
|
155
|
+
}
|
|
156
|
+
export {};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import BoomCore from '@hysc/core/esm';
|
|
2
|
+
import BMUser from "./BMUser";
|
|
3
|
+
import BCUser from '@hysc/core/esm/BoomAdapter/User/User';
|
|
4
|
+
import BMRoom from '../BMRoom/BMRoom';
|
|
5
|
+
import { BehaviorSubject } from "rxjs";
|
|
6
|
+
import { UpdateMasterType } from '../type';
|
|
7
|
+
import { UserSortType } from "../util/emitter";
|
|
8
|
+
/**
|
|
9
|
+
* 往业务端返回的时候,需要把这些用户过滤掉
|
|
10
|
+
*/
|
|
11
|
+
export declare const ignoreUserId: string[];
|
|
12
|
+
export interface ChangeIsGuest {
|
|
13
|
+
user: BMUser;
|
|
14
|
+
preIsGuest: boolean;
|
|
15
|
+
isGuest: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* bloud 一页用户拉取数量
|
|
19
|
+
*/
|
|
20
|
+
export declare const BLOUD_PAGE_SIZE = 500;
|
|
21
|
+
/**
|
|
22
|
+
* 嘉宾及以上身份用户
|
|
23
|
+
*/
|
|
24
|
+
export declare const PERMISSION_NOT_COMMON = "RWPSAVMO,RWPSAVM,RWPSAV";
|
|
25
|
+
export default class BMUserVM {
|
|
26
|
+
userList: Map<string, BMUser>;
|
|
27
|
+
audiencesList: Map<string, BMUser>;
|
|
28
|
+
signalList: Map<string, BMUser>;
|
|
29
|
+
commonUserList: Map<string, BMUser>;
|
|
30
|
+
boomCore: BoomCore;
|
|
31
|
+
room: BMRoom;
|
|
32
|
+
userListWatcher: BehaviorSubject<BMUser[]>;
|
|
33
|
+
audiencesListWatcher: BehaviorSubject<BMUser[]>;
|
|
34
|
+
commonUserListWatcher: BehaviorSubject<BMUser[]>;
|
|
35
|
+
signalListWatcher: BehaviorSubject<BMUser[]>;
|
|
36
|
+
masterUserWatcher: BehaviorSubject<BMUser | null>;
|
|
37
|
+
getForceUserWatcher: BehaviorSubject<boolean>;
|
|
38
|
+
localUser: BMUser;
|
|
39
|
+
commTimer: number;
|
|
40
|
+
constructor(boomCore: BoomCore, localUser: BMUser, room: BMRoom);
|
|
41
|
+
handleUserRoleChange(info: ChangeIsGuest): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* 添加用户, 并返回已添加的用户对象
|
|
44
|
+
* @param bcUser bcUser对象
|
|
45
|
+
*/
|
|
46
|
+
addUser(bcUser: BCUser): BMUser | null;
|
|
47
|
+
/**
|
|
48
|
+
* 移除用户
|
|
49
|
+
* @param userId 用户id
|
|
50
|
+
*/
|
|
51
|
+
removeUser(userId: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* 获取用户视频开启状态
|
|
54
|
+
* @param userId 用户id
|
|
55
|
+
*/
|
|
56
|
+
videoEnable(userId: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* 获取用户音频开启状态
|
|
59
|
+
* @param userId
|
|
60
|
+
*/
|
|
61
|
+
audioEnable(userId: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 检测用户是不是主持人
|
|
64
|
+
* @param {string} userId 用户id
|
|
65
|
+
*/
|
|
66
|
+
checkIsMaster(userId: any): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* 检测当前用户是否有主持人权限
|
|
69
|
+
*/
|
|
70
|
+
checkLocalHasMaster(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 检测目标用户是否有主持人权限
|
|
73
|
+
*/
|
|
74
|
+
checkUserHasMaster(userId: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* 根据用户id获取user对象
|
|
77
|
+
* @param {string} userId
|
|
78
|
+
*/
|
|
79
|
+
getUser(userId: string): BMUser | undefined;
|
|
80
|
+
getAllUsers(pageIndex: number, allUsers: Map<string, BCUser>, permission?: string, useNew?: boolean): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* 刚加入房间时初始化人数
|
|
83
|
+
*/
|
|
84
|
+
initUserList(usersInRoom: Map<string, BCUser>): Promise<void>;
|
|
85
|
+
addBcUsersMap(users: Map<string, BCUser>, forceGetStream?: boolean): void;
|
|
86
|
+
addBCUser: (bcUser: BCUser, forceGetStream?: boolean) => BMUser | null;
|
|
87
|
+
/**
|
|
88
|
+
* 改变userList中的主持人,返回改变后的主持人用户对象,该方法只在change-master中调用, 不对外暴露
|
|
89
|
+
* @param userId
|
|
90
|
+
* @param oldMasterId
|
|
91
|
+
* @param isKeep
|
|
92
|
+
*/
|
|
93
|
+
updateMaster(userId: string, oldMasterId: string, isKeep: boolean): UpdateMasterType;
|
|
94
|
+
/**
|
|
95
|
+
* 联席主持人设置嘉宾的操作
|
|
96
|
+
* @param userId
|
|
97
|
+
*/
|
|
98
|
+
managerChangeToGuest(userId: string): BMUser | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* 改变联席主持人,返回设置为联席主持人的bmuser对象
|
|
101
|
+
* @param userId
|
|
102
|
+
* @param status true:设置成联席主持人 false:取消联席主持人身份
|
|
103
|
+
* @param hasS
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
updateManager(userId: string, status: boolean, hasS?: boolean): BMUser;
|
|
107
|
+
/**
|
|
108
|
+
* 获取我自己
|
|
109
|
+
*/
|
|
110
|
+
getLocalUser(): BMUser;
|
|
111
|
+
updateUser(bmUser: BMUser, bcUser: BCUser): void;
|
|
112
|
+
updateLocalUserPermission(permission: string): void;
|
|
113
|
+
/**
|
|
114
|
+
* bcUser变成BMUser
|
|
115
|
+
* @param bcUser
|
|
116
|
+
* @returns
|
|
117
|
+
*/
|
|
118
|
+
toBMUser(bcUser: BCUser): BMUser;
|
|
119
|
+
private sortUsers;
|
|
120
|
+
private sortAudiences;
|
|
121
|
+
private sortCommonUsers;
|
|
122
|
+
private sortSignalUsers;
|
|
123
|
+
private static filterUsers;
|
|
124
|
+
/**
|
|
125
|
+
* 排序变化之后的处理逻辑
|
|
126
|
+
*/
|
|
127
|
+
updateAllSort: () => void;
|
|
128
|
+
updateSortByType: (userType: UserSortType) => void;
|
|
129
|
+
updateUserSort: any;
|
|
130
|
+
updateCommonUserSort: any;
|
|
131
|
+
updateDelayCommonUserSort: any;
|
|
132
|
+
updateAudienceUserSort: () => void;
|
|
133
|
+
updateSignalUserSort: () => void;
|
|
134
|
+
/**
|
|
135
|
+
* 初始化所有的用户
|
|
136
|
+
*/
|
|
137
|
+
initUsers(): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* 把bloud用户转化为当前的BMUser 和创建对应的BMStreamModel
|
|
140
|
+
* @param page
|
|
141
|
+
* @param permission
|
|
142
|
+
* @param useNew 是否使用getUsersList
|
|
143
|
+
*/
|
|
144
|
+
transBloudUsers: (page: number, permission?: string, useNew?: boolean, failedNum?: number) => Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* 本地嘉宾用户降级为普通参会者之后要取消拉流
|
|
147
|
+
*/
|
|
148
|
+
handleUnSubCommonUser(): void;
|
|
149
|
+
handleCommonUserChange(): void;
|
|
150
|
+
getUsers(page: number, pageSize: number, permission?: string): Promise<{
|
|
151
|
+
userList: BMUser[];
|
|
152
|
+
total: number;
|
|
153
|
+
}>;
|
|
154
|
+
getUsersList(page: number, pageSize: number, permission?: string, waitRoom?: boolean): Promise<{
|
|
155
|
+
userList: BMUser[];
|
|
156
|
+
total: number;
|
|
157
|
+
pageIndex: number;
|
|
158
|
+
}>;
|
|
159
|
+
getTotalUserNumber(): Promise<number>;
|
|
160
|
+
clearUsers(): void;
|
|
161
|
+
/**
|
|
162
|
+
* 参会者列表搜索(嘉宾及以上才能搜索)
|
|
163
|
+
* @param searchTxt 搜索文本
|
|
164
|
+
* @param pageSize 一页几个
|
|
165
|
+
* @param waitRoom 是否是等候室用户
|
|
166
|
+
*/
|
|
167
|
+
searchUsers(searchTxt: string, pageSize: number): Promise<{
|
|
168
|
+
userList: BMUser[];
|
|
169
|
+
commonUserList: BMUser[];
|
|
170
|
+
}>;
|
|
171
|
+
/**
|
|
172
|
+
* 查找等候室用户
|
|
173
|
+
* @param searchTxt
|
|
174
|
+
* @param pageSize
|
|
175
|
+
*/
|
|
176
|
+
searchWaitRoomUsers(searchTxt: string, pageSize: number): Promise<BMUser[]>;
|
|
177
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name: AudioPlay.ts
|
|
3
|
+
* @author: yangliye
|
|
4
|
+
* @date: 2023-06-08 16:35
|
|
5
|
+
* @description:AudioPlay.ts
|
|
6
|
+
* @update: 2023-06-08 16:35
|
|
7
|
+
*/
|
|
8
|
+
import { SingleRemoteStream, SingleStream } from "../type";
|
|
9
|
+
import { AudioPlayer } from '@hysc/core';
|
|
10
|
+
import BMRoom from "../BMRoom/BMRoom";
|
|
11
|
+
import { Subject } from "rxjs";
|
|
12
|
+
export default class AudioPlay {
|
|
13
|
+
playMap: WeakSet<SingleStream>;
|
|
14
|
+
playerMap: Map<string, AudioPlayer>;
|
|
15
|
+
container: HTMLDivElement | undefined;
|
|
16
|
+
muted: boolean;
|
|
17
|
+
room: BMRoom;
|
|
18
|
+
playStateChangeWatcher: Subject<AudioPlayer>;
|
|
19
|
+
deviceId?: string;
|
|
20
|
+
constructor(containerId: string, room: BMRoom);
|
|
21
|
+
addStream(stream: SingleRemoteStream, force?: boolean): void;
|
|
22
|
+
removeStream(stream: SingleStream): void;
|
|
23
|
+
removeStreamByUid(uid: string): void;
|
|
24
|
+
play(stream: SingleRemoteStream): Promise<void>;
|
|
25
|
+
mute(mute: boolean): void;
|
|
26
|
+
setVolume(streamId: string, volume: number): void;
|
|
27
|
+
setDevice(deviceId: string, force?: boolean): Promise<void>;
|
|
28
|
+
addPlayerEvent(player: AudioPlayer): void;
|
|
29
|
+
clear(): void;
|
|
30
|
+
destroy(): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getErrorMessage(error: any): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (target: any): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (target: any): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (target: any, defaultValue?: number): number;
|