@hysc/meeting 4.0.53 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +3 -1
- package/esm/boom-meeting/src/BMRoom/BMRoomVM.d.ts +0 -10
- package/esm/boom-meeting/src/BMStream/BMStreamModel.d.ts +13 -1
- package/esm/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +2 -2
- package/esm/boom-meeting/src/BMUser/BMUserVM.d.ts +10 -1
- package/esm/boom-meeting/src/handleEvent/attachEvents.d.ts +16 -0
- package/esm/boom-meeting/src/handleEvent/handleParticipantEvent.d.ts +1 -1
- package/esm/boom-meeting/src/handleEvent/handleRoomEvent.d.ts +6 -0
- package/esm/boom-meeting/src/handleEvent/roomErrEvent.d.ts +1 -0
- package/esm/boom-meeting/src/handleEvent/streamEvent.d.ts +23 -0
- package/esm/boom-meeting/src/type/customStats.d.ts +0 -2
- package/esm/boom-meeting/src/util/Pqueue.d.ts +1 -0
- package/esm/index.js +35641 -3
- package/esm/index.js.map +3 -3
- package/esm/src/BMRoom/BMRoom.d.ts +10 -2
- package/esm/src/BMStream/BMStreamModel.d.ts +13 -1
- package/esm/src/BMStream/BMStreamModelVM.d.ts +3 -2
- package/esm/src/BMUser/BMUserVM.d.ts +10 -1
- package/esm/src/handleEvent/attachEvents.d.ts +16 -0
- package/esm/src/handleEvent/handleParticipantEvent.d.ts +1 -1
- package/esm/src/handleEvent/handleRoomEvent.d.ts +6 -0
- package/esm/src/handleEvent/roomErrEvent.d.ts +1 -0
- package/esm/src/handleEvent/streamEvent.d.ts +23 -0
- package/esm/src/index.d.ts +2 -2
- package/esm/src/util/Pqueue.d.ts +1 -0
- package/package.json +3 -3
- package/umd/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +3 -1
- package/umd/boom-meeting/src/BMRoom/BMRoomVM.d.ts +0 -10
- package/umd/boom-meeting/src/BMStream/BMStreamModel.d.ts +13 -1
- package/umd/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +2 -2
- package/umd/boom-meeting/src/BMUser/BMUserVM.d.ts +10 -1
- package/umd/boom-meeting/src/handleEvent/attachEvents.d.ts +16 -0
- package/umd/boom-meeting/src/handleEvent/handleParticipantEvent.d.ts +1 -1
- package/umd/boom-meeting/src/handleEvent/handleRoomEvent.d.ts +6 -0
- package/umd/boom-meeting/src/handleEvent/roomErrEvent.d.ts +1 -0
- package/umd/boom-meeting/src/handleEvent/streamEvent.d.ts +23 -0
- package/umd/boom-meeting/src/type/customStats.d.ts +0 -2
- package/umd/boom-meeting/src/util/Pqueue.d.ts +1 -0
- package/umd/index.js +2 -2
- package/umd/src/BMRoom/BMRoom.d.ts +1 -0
|
@@ -3,13 +3,14 @@ import BMRoomVM, { AudioProfileInfo } from "./BMRoomVM";
|
|
|
3
3
|
import BMUserVM from '../BMUser/BMUserVM';
|
|
4
4
|
import { SingleLocalStream, SingleRemoteStream, SubscribeOptions } from '../type';
|
|
5
5
|
import BMChatVM from '../BMChat/BMChatVM';
|
|
6
|
-
import BMStreamModelVM from
|
|
6
|
+
import BMStreamModelVM from "../BMStream/BMStreamModelVM";
|
|
7
7
|
import { Device, VideoProfile } from '@hysc/core/esm/BoomAdapter/type/value';
|
|
8
8
|
import BMRoomInfo from './BMRoomInfo';
|
|
9
9
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
10
10
|
import BMStreamModel from '../BMStream/BMStreamModel';
|
|
11
11
|
import BMUser from '../BMUser/BMUser';
|
|
12
12
|
import BMLiveVM from './BMLiveVM';
|
|
13
|
+
import SingletonQueue, { PullItem } from "../SingletonQueue/SingletonQueue";
|
|
13
14
|
interface BMRoomProps {
|
|
14
15
|
initDevices: boolean;
|
|
15
16
|
}
|
|
@@ -27,6 +28,7 @@ export default class BMRoom {
|
|
|
27
28
|
selectVideoDevice: Device | null;
|
|
28
29
|
selectAudioDevice: Device | null;
|
|
29
30
|
selectAudioOutputDevice: Device | null;
|
|
31
|
+
streamQueue: SingletonQueue;
|
|
30
32
|
/**
|
|
31
33
|
* 这个参数是和业务相关的功能,业务上的参会者列表是可以配置的,如果设置了只展示一列,那么所有的用户都要存储
|
|
32
34
|
* 在commonUserList中
|
|
@@ -75,6 +77,7 @@ export default class BMRoom {
|
|
|
75
77
|
* 会控底层相关处理, 比如是否取消自动拉流
|
|
76
78
|
*/
|
|
77
79
|
private meetingControlOptions;
|
|
80
|
+
forceId: string;
|
|
78
81
|
get isSingleColumns(): boolean;
|
|
79
82
|
/**
|
|
80
83
|
* 传递信息用的,主要是用于message信令往上层业务发送消息
|
|
@@ -246,7 +249,6 @@ export default class BMRoom {
|
|
|
246
249
|
*/
|
|
247
250
|
setLocalSpeakerEnable(status: boolean): Promise<void>;
|
|
248
251
|
private _attachEvents;
|
|
249
|
-
private _attachBrtcEvent;
|
|
250
252
|
/**
|
|
251
253
|
* 创建本地流
|
|
252
254
|
* @param options
|
|
@@ -587,6 +589,7 @@ export default class BMRoom {
|
|
|
587
589
|
/**
|
|
588
590
|
* 处理流出现connect-error的逻辑,本地流需要重新推流,远端流需要重新拉流
|
|
589
591
|
* @param event
|
|
592
|
+
* @param failed
|
|
590
593
|
*/
|
|
591
594
|
private handleStreamConnectError;
|
|
592
595
|
/**
|
|
@@ -634,6 +637,11 @@ export default class BMRoom {
|
|
|
634
637
|
* 重拉远端流
|
|
635
638
|
*/
|
|
636
639
|
handleResetOtherStreamStatus(): void;
|
|
640
|
+
addUser2Queue(pullItem: PullItem): Promise<void>;
|
|
641
|
+
queueProcessor: import("lodash-es").DebouncedFunc<(uIds: Map<string, PullItem>) => Promise<void>>;
|
|
642
|
+
handleAddStreams(streams: SingleRemoteStream[]): void;
|
|
643
|
+
queryBrtcStreams(uids: string[]): Promise<any>;
|
|
644
|
+
getForceUser(forceId: string): Promise<void>;
|
|
637
645
|
getVersion(): string;
|
|
638
646
|
}
|
|
639
647
|
export {};
|
|
@@ -2,6 +2,7 @@ import { SingleStream, SubscribeOptions } from "../type";
|
|
|
2
2
|
import BMUser from "../BMUser/BMUser";
|
|
3
3
|
import { BehaviorSubject, Subject } from "rxjs";
|
|
4
4
|
import BMStreamModelVM from "./BMStreamModelVM";
|
|
5
|
+
import { BloudStreamState } from "../handleEvent/attachEvents";
|
|
5
6
|
/**
|
|
6
7
|
* @name: BMStreamModel
|
|
7
8
|
* @author: yangliye
|
|
@@ -22,9 +23,14 @@ export interface NoPlayerContainer {
|
|
|
22
23
|
container: 'small' | 'big';
|
|
23
24
|
id: string;
|
|
24
25
|
}
|
|
26
|
+
export interface BloudStream {
|
|
27
|
+
video: boolean;
|
|
28
|
+
audio: boolean;
|
|
29
|
+
}
|
|
25
30
|
export default class BMStreamModel {
|
|
26
31
|
private user;
|
|
27
32
|
private _stream;
|
|
33
|
+
bloudStream: BloudStream | undefined;
|
|
28
34
|
/**
|
|
29
35
|
* 流类型
|
|
30
36
|
*/
|
|
@@ -136,6 +142,11 @@ export default class BMStreamModel {
|
|
|
136
142
|
* @param bmStreamVm
|
|
137
143
|
*/
|
|
138
144
|
updateStream(stream: SingleStream | undefined, needReProcess: boolean | undefined, bmStreamVm: BMStreamModelVM): void;
|
|
145
|
+
/**
|
|
146
|
+
* 更新bloud的stream,设置流状态
|
|
147
|
+
* @param streamState
|
|
148
|
+
*/
|
|
149
|
+
updateBloudStream(streamState: BloudStreamState | undefined, bmStreamVM: BMStreamModelVM): void;
|
|
139
150
|
private onPlayerStateChange;
|
|
140
151
|
handleStreamConnectError: () => void;
|
|
141
152
|
/**
|
|
@@ -158,6 +169,7 @@ export default class BMStreamModel {
|
|
|
158
169
|
* 是否是屏幕共享的流
|
|
159
170
|
*/
|
|
160
171
|
get isShare(): boolean | undefined;
|
|
172
|
+
get isWeb(): boolean;
|
|
161
173
|
/**
|
|
162
174
|
* 当前音频是否开启
|
|
163
175
|
*/
|
|
@@ -254,7 +266,7 @@ export default class BMStreamModel {
|
|
|
254
266
|
/**
|
|
255
267
|
* 启动音频音量检测
|
|
256
268
|
*/
|
|
257
|
-
collectAudioLevel()
|
|
269
|
+
collectAudioLevel: () => void;
|
|
258
270
|
private handleAudioLevel;
|
|
259
271
|
checkVideo(): void;
|
|
260
272
|
/**
|
|
@@ -45,7 +45,7 @@ export default class BMStreamModelVM {
|
|
|
45
45
|
shareStreamModelsWatcher: BehaviorSubject<BMStreamModel[]>;
|
|
46
46
|
localStreamErrorWatcher: Subject<string>;
|
|
47
47
|
localModel: BMStreamModel | null;
|
|
48
|
-
|
|
48
|
+
room: BMRoom | null;
|
|
49
49
|
bloudStream: any;
|
|
50
50
|
audioStream: SingleLocalStream | undefined;
|
|
51
51
|
brtcStream: SingleLocalStream | undefined;
|
|
@@ -53,13 +53,13 @@ export default class BMStreamModelVM {
|
|
|
53
53
|
* 本地是否在屏幕共享
|
|
54
54
|
*/
|
|
55
55
|
localIsShare: boolean;
|
|
56
|
+
isShareWatcher: Subject<boolean>;
|
|
56
57
|
_speaker_enable: boolean;
|
|
57
58
|
speakerEnableWatcher: BehaviorSubject<boolean>;
|
|
58
59
|
/**
|
|
59
60
|
* 混流
|
|
60
61
|
*/
|
|
61
62
|
mixStreamModelWatcher: BehaviorSubject<BMStreamModel | null>;
|
|
62
|
-
isShareWatcher: Subject<boolean>;
|
|
63
63
|
canvasTimer: NodeJS.Timeout | null;
|
|
64
64
|
/**
|
|
65
65
|
* 后面打开摄像头存储的流,主要是关闭摄像头的时候得把它清除掉
|
|
@@ -103,6 +103,7 @@ export default class BMStreamModelVM {
|
|
|
103
103
|
addStreamModel(streamModel: BMStreamModel): void;
|
|
104
104
|
addShareStreamModel(streamModel: BMStreamModel): void;
|
|
105
105
|
removeStreamModel(streamModel: BMStreamModel): void;
|
|
106
|
+
removeShareStreamModelByUId(uid: string): void;
|
|
106
107
|
removeShareStreamModel(streamModel: BMStreamModel): void;
|
|
107
108
|
/**`
|
|
108
109
|
* 通过用户id删除streamModel
|
|
@@ -14,6 +14,14 @@ export interface ChangeIsGuest {
|
|
|
14
14
|
preIsGuest: boolean;
|
|
15
15
|
isGuest: boolean;
|
|
16
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";
|
|
17
25
|
export default class BMUserVM {
|
|
18
26
|
userList: Map<string, BMUser>;
|
|
19
27
|
audiencesList: Map<string, BMUser>;
|
|
@@ -75,6 +83,7 @@ export default class BMUserVM {
|
|
|
75
83
|
* 刚加入房间时初始化人数
|
|
76
84
|
*/
|
|
77
85
|
initUserList(usersInRoom: Map<string, BCUser>): Promise<void>;
|
|
86
|
+
addBcUsers(users: Map<string, BCUser>): void;
|
|
78
87
|
/**
|
|
79
88
|
* 改变userList中的主持人,返回改变后的主持人用户对象,该方法只在change-master中调用, 不对外暴露
|
|
80
89
|
* @param userId
|
|
@@ -132,7 +141,7 @@ export default class BMUserVM {
|
|
|
132
141
|
* @param permission
|
|
133
142
|
* @param useNew 是否使用getUsersList
|
|
134
143
|
*/
|
|
135
|
-
transBloudUsers: (page: number, permission?: string, useNew?: boolean) => Promise<void>;
|
|
144
|
+
transBloudUsers: (page: number, permission?: string, useNew?: boolean, failedNum?: number) => Promise<void>;
|
|
136
145
|
/**
|
|
137
146
|
* 本地嘉宾用户降级为普通参会者之后要取消拉流
|
|
138
147
|
*/
|
|
@@ -22,6 +22,22 @@ export declare enum MessageType {
|
|
|
22
22
|
*/
|
|
23
23
|
AUDIO_FORCE_CHANGE = "audio-force-change"
|
|
24
24
|
}
|
|
25
|
+
export interface BloudStreamEventState {
|
|
26
|
+
userId: string;
|
|
27
|
+
streamId: string;
|
|
28
|
+
isScreen: boolean;
|
|
29
|
+
video: boolean;
|
|
30
|
+
audio: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface BloudStreamState {
|
|
33
|
+
video: boolean;
|
|
34
|
+
audio: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface BloudUnPubEvent {
|
|
37
|
+
userId: string;
|
|
38
|
+
streamId: string;
|
|
39
|
+
isScreen: boolean;
|
|
40
|
+
}
|
|
25
41
|
export declare function attachBRTCEvent(boomCore: BoomCore, bmStreamVm: BMStreamModelVM, userVM: BMUserVM): void;
|
|
26
42
|
declare type Observes = {
|
|
27
43
|
[K in BCEvent]: BehaviorSubject<any>;
|
|
@@ -20,4 +20,4 @@ export declare function handleEvict(data: any, userVM: BMUserVM, bmStreamVm: BMS
|
|
|
20
20
|
export declare function handleUpdateUser(data: any, userVM: BMUserVM, bmRoom: BMRoom, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
21
21
|
export declare function updateBMUser(allUsers: Map<string, BCUser>, bmUser: BMUser, userVm: BMUserVM): void;
|
|
22
22
|
export declare const handleUserRejoined: import("lodash-es").DebouncedFunc<(observes: any, eventsList: any, data: any) => void>;
|
|
23
|
-
export declare function handleMoveUserRoom(bmRoom: BMRoom, userVM: BMUserVM, data: any, observes: any): void
|
|
23
|
+
export declare function handleMoveUserRoom(bmRoom: BMRoom, userVM: BMUserVM, data: any, observes: any): Promise<void>;
|
|
@@ -9,6 +9,12 @@ import BMRoom from "../BMRoom/BMRoom";
|
|
|
9
9
|
import BMUserVM from "../BMUser/BMUserVM";
|
|
10
10
|
import BMStreamModelVM from "../BMStream/BMStreamModelVM";
|
|
11
11
|
export declare function handleRoomConnected(data: any, bmRoom: BMRoom, userVM: BMUserVM, observes: any, shouldNotification?: boolean): Promise<void>;
|
|
12
|
+
export declare function handleInitJoinRoomUsers(bmRoom: BMRoom): void;
|
|
12
13
|
export declare function handleRoomUpdated(data: any, bmRoom: BMRoom): void;
|
|
13
14
|
export declare function handleInitRoomInfo(data: any, bmRoom: BMRoom): Promise<void>;
|
|
14
15
|
export declare function handleRoomSync(data: any, bmRoom: BMRoom, userVm: BMUserVM, bmStreamVm: BMStreamModelVM): Promise<void>;
|
|
16
|
+
export declare function handleBrtcRoomReconnecting(data: any, bmRoom: BMRoom, observes: any): void;
|
|
17
|
+
export declare function handleBrtcRoomReconnected(data: any, bmRoom: BMRoom, observes: any): void;
|
|
18
|
+
export declare function handleBloudRoomReconnecting(data: any, bmRoom: BMRoom, observes: any): void;
|
|
19
|
+
export declare function handleBloudRoomReconnected(data: any, bmRoom: BMRoom, observes: any): Promise<void>;
|
|
20
|
+
export declare function handleBloudRoomSync(data: any, userVM: BMUserVM, bmRoom: BMRoom, bmStreamVm: BMStreamModelVM, observes: any): Promise<void>;
|
|
@@ -5,3 +5,4 @@ import BoomCore from "@hysc/core";
|
|
|
5
5
|
export declare function handleBRTCRoomError(data: any, bmRoom: BMRoom, boomCore: BCClient, bmStreamVm: BMStreamModelVM, observes: any): Promise<void>;
|
|
6
6
|
export declare function reconnectBloud(boomCore: BoomCore, observes: any, data: any): Promise<unknown>;
|
|
7
7
|
export declare function reconnectBRTCShareWS(boomCore: BoomCore): Promise<unknown>;
|
|
8
|
+
export declare function handleBloudError(bmRoom: BMRoom, boomCore: BCClient, bmStreamVm: BMStreamModelVM, data: any, observes: any): Promise<void>;
|
|
@@ -8,9 +8,32 @@
|
|
|
8
8
|
import BMStreamModel from "../BMStream/BMStreamModel";
|
|
9
9
|
import { SingleRemoteStream } from "../type";
|
|
10
10
|
import BMStreamModelVM from "../BMStream/BMStreamModelVM";
|
|
11
|
+
import { BloudStreamEventState, BloudUnPubEvent } from "./attachEvents";
|
|
12
|
+
import BMRoom from "../BMRoom/BMRoom";
|
|
13
|
+
export declare const shareFailedProcessQueue: Map<string, SingleRemoteStream>;
|
|
11
14
|
export declare function handleUpdateStreamModelWithStream(stream: SingleRemoteStream, bmStreamVm: BMStreamModelVM): BMStreamModel | undefined;
|
|
12
15
|
export declare function checkStreamIsNormal(streamModel: BMStreamModel | undefined): void;
|
|
13
16
|
export declare function handleStreamUpdated(event: any, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
14
17
|
export declare function addStreamToBrtcStreamMap(remoteStream: SingleRemoteStream): void;
|
|
15
18
|
export declare function removeSteamToBrtcStreamMap(remoteStream: SingleRemoteStream): void;
|
|
16
19
|
export declare function getStreamFromBrtcStreamMap(remoteStream: SingleRemoteStream): import("@hysc/core/esm/BoomAdapter/singleMode/stream/RemoteStream").default | undefined;
|
|
20
|
+
export declare function handleBloudReconnectStreamEvent(bmStreamVm: BMStreamModelVM): void;
|
|
21
|
+
/**
|
|
22
|
+
* bloud brtc 断网重连的处理
|
|
23
|
+
* networkState 记录网络状态
|
|
24
|
+
* handleReconnectedStream 防抖函数,当双方有连接断网重连之后,会执行这个方法
|
|
25
|
+
*
|
|
26
|
+
* brtc 的sync-room 之后,本地会把所有的stream都销毁,清空,然后统一走一遍查询处理
|
|
27
|
+
* 绑定新的stream,这么做简单粗暴处理所有的brtc流,防止流重复问题i
|
|
28
|
+
*/
|
|
29
|
+
export declare const networkState: {
|
|
30
|
+
bloud: boolean;
|
|
31
|
+
brtc: boolean;
|
|
32
|
+
};
|
|
33
|
+
export declare const handleReconnectedStream: import("lodash-es").DebouncedFunc<(bmRoom: BMRoom) => void>;
|
|
34
|
+
export declare function handleStreamPublished(event: any, bmStreamVm: BMStreamModelVM, bmRoom: BMRoom, observes: any): void;
|
|
35
|
+
export declare function handleBloudStreamPublished(data: any, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
36
|
+
export declare function handleBloudStreamPubAUpdate(data: BloudStreamEventState, bmStreamVm: BMStreamModelVM): void;
|
|
37
|
+
export declare function handleBloudStreamUnPublished(data: any, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
38
|
+
export declare function handleBloudStreamUnpublish(data: BloudUnPubEvent, bmStreamVm: BMStreamModelVM): void;
|
|
39
|
+
export declare function handleShareStreamFailed(bmRoom: BMRoom, bmStreamVm: BMStreamModelVM): void;
|
package/esm/src/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import BoomMeetingSDK from './BMRoom/BMRoom';
|
|
2
|
-
export default BoomMeetingSDK;
|
|
1
|
+
import BoomMeetingSDK from './BMRoom/BMRoom';
|
|
2
|
+
export default BoomMeetingSDK;
|
package/esm/src/util/Pqueue.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hysc/meeting",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"description": "boom meeting",
|
|
5
5
|
"main": "umd/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"author": "yangliye",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@hysc/core": "
|
|
17
|
+
"@hysc/core": "5.0.2",
|
|
18
18
|
"lodash-es": "^4.17.21",
|
|
19
19
|
"mitt": "^3.0.0",
|
|
20
20
|
"@hysc/p-queue": "6.3.0",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@hysc/utils": "1.2.3"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@hysc/core": "
|
|
26
|
+
"@hysc/core": "5.0.2"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/lodash-es": "^4.17.6"
|
|
@@ -418,6 +418,8 @@ export declare enum BCEvent {
|
|
|
418
418
|
NETWORK_ERROR = "network-error",
|
|
419
419
|
BRTC_SYNC_ROOM_COMPLETED = "sync-room-completed",
|
|
420
420
|
BRTC_ROOM_ROCONNECTING = "brtc-room-reconnecting",
|
|
421
|
-
BRTC_ROOM_RECONNECTED = "brtc-room-reconnected"
|
|
421
|
+
BRTC_ROOM_RECONNECTED = "brtc-room-reconnected",
|
|
422
|
+
JOIN_READY = "join-ready",
|
|
423
|
+
BRTC_SHARE_SYNC_ROOM_COMPLETED = "brtc-share-sync-room-completed"
|
|
422
424
|
}
|
|
423
425
|
export default BCEvent;
|
|
@@ -165,16 +165,6 @@ export default class BMRoomVM {
|
|
|
165
165
|
* @param enable
|
|
166
166
|
*/
|
|
167
167
|
changeAutoMute(enable: 0 | 1 | 2): Promise<void>;
|
|
168
|
-
/**
|
|
169
|
-
* 允许成员接收进入/离开会议通知配置 0 关闭 1 开启自动静音
|
|
170
|
-
* @param enable
|
|
171
|
-
*/
|
|
172
|
-
allUserReceiveJoinLeaveMessages(enable: 0 | 1): Promise<void>;
|
|
173
|
-
/**
|
|
174
|
-
* 成员入会时给主持人播放提示音配置 0 关闭 1 开启自动静音
|
|
175
|
-
* @param enable
|
|
176
|
-
*/
|
|
177
|
-
userJoinMasterVoice(enable: 0 | 1): Promise<void>;
|
|
178
168
|
/**
|
|
179
169
|
* 观众点赞(走customMessage)
|
|
180
170
|
* @param type 1:点赞, 2:送花, 3:爱心, 4: 鼓掌, 5: 喝彩
|
|
@@ -2,6 +2,7 @@ import { SingleStream, SubscribeOptions } from "../type";
|
|
|
2
2
|
import BMUser from "../BMUser/BMUser";
|
|
3
3
|
import { BehaviorSubject, Subject } from "rxjs";
|
|
4
4
|
import BMStreamModelVM from "./BMStreamModelVM";
|
|
5
|
+
import { BloudStreamState } from "../handleEvent/attachEvents";
|
|
5
6
|
/**
|
|
6
7
|
* @name: BMStreamModel
|
|
7
8
|
* @author: yangliye
|
|
@@ -22,9 +23,14 @@ export interface NoPlayerContainer {
|
|
|
22
23
|
container: 'small' | 'big';
|
|
23
24
|
id: string;
|
|
24
25
|
}
|
|
26
|
+
export interface BloudStream {
|
|
27
|
+
video: boolean;
|
|
28
|
+
audio: boolean;
|
|
29
|
+
}
|
|
25
30
|
export default class BMStreamModel {
|
|
26
31
|
private user;
|
|
27
32
|
private _stream;
|
|
33
|
+
bloudStream: BloudStream | undefined;
|
|
28
34
|
/**
|
|
29
35
|
* 流类型
|
|
30
36
|
*/
|
|
@@ -136,6 +142,11 @@ export default class BMStreamModel {
|
|
|
136
142
|
* @param bmStreamVm
|
|
137
143
|
*/
|
|
138
144
|
updateStream(stream: SingleStream | undefined, needReProcess: boolean | undefined, bmStreamVm: BMStreamModelVM): void;
|
|
145
|
+
/**
|
|
146
|
+
* 更新bloud的stream,设置流状态
|
|
147
|
+
* @param streamState
|
|
148
|
+
*/
|
|
149
|
+
updateBloudStream(streamState: BloudStreamState | undefined, bmStreamVM: BMStreamModelVM): void;
|
|
139
150
|
private onPlayerStateChange;
|
|
140
151
|
handleStreamConnectError: () => void;
|
|
141
152
|
/**
|
|
@@ -158,6 +169,7 @@ export default class BMStreamModel {
|
|
|
158
169
|
* 是否是屏幕共享的流
|
|
159
170
|
*/
|
|
160
171
|
get isShare(): boolean | undefined;
|
|
172
|
+
get isWeb(): boolean;
|
|
161
173
|
/**
|
|
162
174
|
* 当前音频是否开启
|
|
163
175
|
*/
|
|
@@ -254,7 +266,7 @@ export default class BMStreamModel {
|
|
|
254
266
|
/**
|
|
255
267
|
* 启动音频音量检测
|
|
256
268
|
*/
|
|
257
|
-
collectAudioLevel()
|
|
269
|
+
collectAudioLevel: () => void;
|
|
258
270
|
private handleAudioLevel;
|
|
259
271
|
checkVideo(): void;
|
|
260
272
|
/**
|
|
@@ -45,7 +45,7 @@ export default class BMStreamModelVM {
|
|
|
45
45
|
shareStreamModelsWatcher: BehaviorSubject<BMStreamModel[]>;
|
|
46
46
|
localStreamErrorWatcher: Subject<string>;
|
|
47
47
|
localModel: BMStreamModel | null;
|
|
48
|
-
|
|
48
|
+
room: BMRoom | null;
|
|
49
49
|
bloudStream: any;
|
|
50
50
|
audioStream: SingleLocalStream | undefined;
|
|
51
51
|
brtcStream: SingleLocalStream | undefined;
|
|
@@ -53,13 +53,13 @@ export default class BMStreamModelVM {
|
|
|
53
53
|
* 本地是否在屏幕共享
|
|
54
54
|
*/
|
|
55
55
|
localIsShare: boolean;
|
|
56
|
+
isShareWatcher: Subject<boolean>;
|
|
56
57
|
_speaker_enable: boolean;
|
|
57
58
|
speakerEnableWatcher: BehaviorSubject<boolean>;
|
|
58
59
|
/**
|
|
59
60
|
* 混流
|
|
60
61
|
*/
|
|
61
62
|
mixStreamModelWatcher: BehaviorSubject<BMStreamModel | null>;
|
|
62
|
-
isShareWatcher: Subject<boolean>;
|
|
63
63
|
canvasTimer: NodeJS.Timeout | null;
|
|
64
64
|
/**
|
|
65
65
|
* 后面打开摄像头存储的流,主要是关闭摄像头的时候得把它清除掉
|
|
@@ -14,6 +14,14 @@ export interface ChangeIsGuest {
|
|
|
14
14
|
preIsGuest: boolean;
|
|
15
15
|
isGuest: boolean;
|
|
16
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";
|
|
17
25
|
export default class BMUserVM {
|
|
18
26
|
userList: Map<string, BMUser>;
|
|
19
27
|
audiencesList: Map<string, BMUser>;
|
|
@@ -75,6 +83,7 @@ export default class BMUserVM {
|
|
|
75
83
|
* 刚加入房间时初始化人数
|
|
76
84
|
*/
|
|
77
85
|
initUserList(usersInRoom: Map<string, BCUser>): Promise<void>;
|
|
86
|
+
addBcUsers(users: Map<string, BCUser>): void;
|
|
78
87
|
/**
|
|
79
88
|
* 改变userList中的主持人,返回改变后的主持人用户对象,该方法只在change-master中调用, 不对外暴露
|
|
80
89
|
* @param userId
|
|
@@ -132,7 +141,7 @@ export default class BMUserVM {
|
|
|
132
141
|
* @param permission
|
|
133
142
|
* @param useNew 是否使用getUsersList
|
|
134
143
|
*/
|
|
135
|
-
transBloudUsers: (page: number, permission?: string, useNew?: boolean) => Promise<void>;
|
|
144
|
+
transBloudUsers: (page: number, permission?: string, useNew?: boolean, failedNum?: number) => Promise<void>;
|
|
136
145
|
/**
|
|
137
146
|
* 本地嘉宾用户降级为普通参会者之后要取消拉流
|
|
138
147
|
*/
|
|
@@ -22,6 +22,22 @@ export declare enum MessageType {
|
|
|
22
22
|
*/
|
|
23
23
|
AUDIO_FORCE_CHANGE = "audio-force-change"
|
|
24
24
|
}
|
|
25
|
+
export interface BloudStreamEventState {
|
|
26
|
+
userId: string;
|
|
27
|
+
streamId: string;
|
|
28
|
+
isScreen: boolean;
|
|
29
|
+
video: boolean;
|
|
30
|
+
audio: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface BloudStreamState {
|
|
33
|
+
video: boolean;
|
|
34
|
+
audio: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface BloudUnPubEvent {
|
|
37
|
+
userId: string;
|
|
38
|
+
streamId: string;
|
|
39
|
+
isScreen: boolean;
|
|
40
|
+
}
|
|
25
41
|
export declare function attachBRTCEvent(boomCore: BoomCore, bmStreamVm: BMStreamModelVM, userVM: BMUserVM): void;
|
|
26
42
|
declare type Observes = {
|
|
27
43
|
[K in BCEvent]: BehaviorSubject<any>;
|
|
@@ -20,4 +20,4 @@ export declare function handleEvict(data: any, userVM: BMUserVM, bmStreamVm: BMS
|
|
|
20
20
|
export declare function handleUpdateUser(data: any, userVM: BMUserVM, bmRoom: BMRoom, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
21
21
|
export declare function updateBMUser(allUsers: Map<string, BCUser>, bmUser: BMUser, userVm: BMUserVM): void;
|
|
22
22
|
export declare const handleUserRejoined: any;
|
|
23
|
-
export declare function handleMoveUserRoom(bmRoom: BMRoom, userVM: BMUserVM, data: any, observes: any): void
|
|
23
|
+
export declare function handleMoveUserRoom(bmRoom: BMRoom, userVM: BMUserVM, data: any, observes: any): Promise<void>;
|
|
@@ -9,6 +9,12 @@ import BMRoom from "../BMRoom/BMRoom";
|
|
|
9
9
|
import BMUserVM from "../BMUser/BMUserVM";
|
|
10
10
|
import BMStreamModelVM from "../BMStream/BMStreamModelVM";
|
|
11
11
|
export declare function handleRoomConnected(data: any, bmRoom: BMRoom, userVM: BMUserVM, observes: any, shouldNotification?: boolean): Promise<void>;
|
|
12
|
+
export declare function handleInitJoinRoomUsers(bmRoom: BMRoom): void;
|
|
12
13
|
export declare function handleRoomUpdated(data: any, bmRoom: BMRoom): void;
|
|
13
14
|
export declare function handleInitRoomInfo(data: any, bmRoom: BMRoom): Promise<void>;
|
|
14
15
|
export declare function handleRoomSync(data: any, bmRoom: BMRoom, userVm: BMUserVM, bmStreamVm: BMStreamModelVM): Promise<void>;
|
|
16
|
+
export declare function handleBrtcRoomReconnecting(data: any, bmRoom: BMRoom, observes: any): void;
|
|
17
|
+
export declare function handleBrtcRoomReconnected(data: any, bmRoom: BMRoom, observes: any): void;
|
|
18
|
+
export declare function handleBloudRoomReconnecting(data: any, bmRoom: BMRoom, observes: any): void;
|
|
19
|
+
export declare function handleBloudRoomReconnected(data: any, bmRoom: BMRoom, observes: any): Promise<void>;
|
|
20
|
+
export declare function handleBloudRoomSync(data: any, userVM: BMUserVM, bmRoom: BMRoom, bmStreamVm: BMStreamModelVM, observes: any): Promise<void>;
|
|
@@ -5,3 +5,4 @@ import BoomCore from "@hysc/core";
|
|
|
5
5
|
export declare function handleBRTCRoomError(data: any, bmRoom: BMRoom, boomCore: BCClient, bmStreamVm: BMStreamModelVM, observes: any): Promise<void>;
|
|
6
6
|
export declare function reconnectBloud(boomCore: BoomCore, observes: any, data: any): Promise<unknown>;
|
|
7
7
|
export declare function reconnectBRTCShareWS(boomCore: BoomCore): Promise<unknown>;
|
|
8
|
+
export declare function handleBloudError(bmRoom: BMRoom, boomCore: BCClient, bmStreamVm: BMStreamModelVM, data: any, observes: any): Promise<void>;
|
|
@@ -8,9 +8,32 @@
|
|
|
8
8
|
import BMStreamModel from "../BMStream/BMStreamModel";
|
|
9
9
|
import { SingleRemoteStream } from "../type";
|
|
10
10
|
import BMStreamModelVM from "../BMStream/BMStreamModelVM";
|
|
11
|
+
import { BloudStreamEventState, BloudUnPubEvent } from "./attachEvents";
|
|
12
|
+
import BMRoom from "../BMRoom/BMRoom";
|
|
13
|
+
export declare const shareFailedProcessQueue: Map<string, SingleRemoteStream>;
|
|
11
14
|
export declare function handleUpdateStreamModelWithStream(stream: SingleRemoteStream, bmStreamVm: BMStreamModelVM): BMStreamModel | undefined;
|
|
12
15
|
export declare function checkStreamIsNormal(streamModel: BMStreamModel | undefined): void;
|
|
13
16
|
export declare function handleStreamUpdated(event: any, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
14
17
|
export declare function addStreamToBrtcStreamMap(remoteStream: SingleRemoteStream): void;
|
|
15
18
|
export declare function removeSteamToBrtcStreamMap(remoteStream: SingleRemoteStream): void;
|
|
16
19
|
export declare function getStreamFromBrtcStreamMap(remoteStream: SingleRemoteStream): import("@hysc/core/esm/BoomAdapter/singleMode/stream/RemoteStream").default | undefined;
|
|
20
|
+
export declare function handleBloudReconnectStreamEvent(bmStreamVm: BMStreamModelVM): void;
|
|
21
|
+
/**
|
|
22
|
+
* bloud brtc 断网重连的处理
|
|
23
|
+
* networkState 记录网络状态
|
|
24
|
+
* handleReconnectedStream 防抖函数,当双方有连接断网重连之后,会执行这个方法
|
|
25
|
+
*
|
|
26
|
+
* brtc 的sync-room 之后,本地会把所有的stream都销毁,清空,然后统一走一遍查询处理
|
|
27
|
+
* 绑定新的stream,这么做简单粗暴处理所有的brtc流,防止流重复问题i
|
|
28
|
+
*/
|
|
29
|
+
export declare const networkState: {
|
|
30
|
+
bloud: boolean;
|
|
31
|
+
brtc: boolean;
|
|
32
|
+
};
|
|
33
|
+
export declare const handleReconnectedStream: any;
|
|
34
|
+
export declare function handleStreamPublished(event: any, bmStreamVm: BMStreamModelVM, bmRoom: BMRoom, observes: any): void;
|
|
35
|
+
export declare function handleBloudStreamPublished(data: any, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
36
|
+
export declare function handleBloudStreamPubAUpdate(data: BloudStreamEventState, bmStreamVm: BMStreamModelVM): void;
|
|
37
|
+
export declare function handleBloudStreamUnPublished(data: any, bmStreamVm: BMStreamModelVM, observes: any): void;
|
|
38
|
+
export declare function handleBloudStreamUnpublish(data: BloudUnPubEvent, bmStreamVm: BMStreamModelVM): void;
|
|
39
|
+
export declare function handleShareStreamFailed(bmRoom: BMRoom, bmStreamVm: BMStreamModelVM): void;
|
|
@@ -116,7 +116,5 @@ export interface CustomStats {
|
|
|
116
116
|
raiseHandEnable: number;
|
|
117
117
|
joinCueVoice: number;
|
|
118
118
|
autoMute: number;
|
|
119
|
-
allUserReceiveJoinLeaveMessages: number;
|
|
120
|
-
userJoinMasterVoice: number;
|
|
121
119
|
}
|
|
122
120
|
export declare type PartialCustomStats = Partial<CustomStats>;
|