@hysc/meeting 5.0.66 → 5.0.67

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.
@@ -1,20 +1,25 @@
1
- import BoomCore from '@hysc/core';
1
+ import BoomCore from "@hysc/core";
2
2
  import BMRoomVM, { AudioProfileInfo } from "./BMRoomVM";
3
- import BMUserVM from '../BMUser/BMUserVM';
4
- import { SingleLocalStream, SingleRemoteStream, SubscribeOptions } from '../type';
5
- import BMChatVM from '../BMChat/BMChatVM';
3
+ import BMUserVM from "../BMUser/BMUserVM";
4
+ import { SingleLocalStream, SingleRemoteStream, SubscribeOptions } from "../type";
5
+ import BMChatVM from "../BMChat/BMChatVM";
6
6
  import BMStreamModelVM from "../BMStream/BMStreamModelVM";
7
- import { Device, VideoProfile } from '@hysc/core/esm/BoomAdapter/type/value';
8
- import BMRoomInfo from './BMRoomInfo';
9
- import { BehaviorSubject, Subject } from 'rxjs';
10
- import BMStreamModel, { ConnectErrorMessage } from '../BMStream/BMStreamModel';
11
- import BMUser from '../BMUser/BMUser';
12
- import BMLiveVM from './BMLiveVM';
7
+ import { Device, VideoProfile } from "@hysc/core/esm/BoomAdapter/type/value";
8
+ import BMRoomInfo from "./BMRoomInfo";
9
+ import { BehaviorSubject, Subject } from "rxjs";
10
+ import BMStreamModel, { ConnectErrorMessage } from "../BMStream/BMStreamModel";
11
+ import BMUser from "../BMUser/BMUser";
12
+ import BMLiveVM from "./BMLiveVM";
13
13
  import SingletonQueue, { PullItem } from "../SingletonQueue/SingletonQueue";
14
14
  import AudioPlay from "../audioPlay/AudioPlay";
15
15
  interface BMRoomProps {
16
16
  initDevices: boolean;
17
17
  }
18
+ interface MediaPermission {
19
+ microphone: boolean;
20
+ camera: boolean;
21
+ screen: boolean;
22
+ }
18
23
  export declare let _selfSortType: number;
19
24
  export declare let autoPlayAudio: boolean;
20
25
  export default class BMRoom {
@@ -70,6 +75,7 @@ export default class BMRoom {
70
75
  raiseHands: boolean;
71
76
  }>;
72
77
  enableAudienceSpeakingWatcher: Subject<boolean>;
78
+ mediaPermission: MediaPermission;
73
79
  videoProfile: VideoProfile;
74
80
  audioProfile: AudioProfileInfo | null;
75
81
  /**
@@ -119,6 +125,7 @@ export default class BMRoom {
119
125
  * @param value
120
126
  */
121
127
  setAutoPlayAudio(value: boolean): void;
128
+ setMediaPermission(permission: MediaPermission): void;
122
129
  /**
123
130
  * 是否应该播放声音
124
131
  * @param value
@@ -297,7 +304,7 @@ export default class BMRoom {
297
304
  audio: boolean;
298
305
  videoSource?: MediaStreamTrack | undefined;
299
306
  audioSource?: MediaStreamTrack | undefined;
300
- } | undefined, sid: string): Promise<any>;
307
+ } | undefined, sid: string): Promise<SingleLocalStream>;
301
308
  /**
302
309
  * 这个方法只是为了生成brtc的流,目的是在用户只打开音频的情况下,然后在打开视频的时候,去创建一个只有视频的track的流
303
310
  * @param options
@@ -358,7 +365,7 @@ export default class BMRoom {
358
365
  * @param stream 创建的本地流对象
359
366
  * @return
360
367
  */
361
- publish(stream: SingleLocalStream): Promise<any>;
368
+ publish(stream: SingleLocalStream): Promise<unknown>;
362
369
  /**
363
370
  * 取消发布本地流。
364
371
  * 取消发布本地流后远端会收到 'participant-unpublished' 事件通知。
@@ -548,6 +555,8 @@ export default class BMRoom {
548
555
  /**
549
556
  * 发送聊天室消息
550
557
  * @param msg
558
+ * @param userId
559
+ * @param lostNet
551
560
  */
552
561
  sendChatMessage(msg: string, userId: string | undefined, lostNet: boolean): Promise<any>;
553
562
  /**
@@ -627,7 +636,6 @@ export default class BMRoom {
627
636
  /**
628
637
  * 处理流出现connect-error的逻辑,本地流需要重新推流,远端流需要重新拉流
629
638
  * @param event
630
- * @param failed
631
639
  */
632
640
  private handleStreamConnectError;
633
641
  /**
@@ -15,15 +15,16 @@
15
15
  */
16
16
  /// <reference types="node" />
17
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 { Device } from '@hysc/core/esm/BoomAdapter/type/value';
23
- import BMSpeaker from './BMSpeaker';
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 "../error/RTCError";
23
+ import { Device } from "@hysc/core/esm/BoomAdapter/type/value";
24
+ import BMSpeaker from "./BMSpeaker";
24
25
  import { ShareMediaOptions } from "@hysc/core/esm/BoomCore/BCClient/BCClient";
25
- import { getHTMLMediaStreamOptions, Result, getMediaStreamInfo } from "./getHTMLMediaStreamOptions";
26
- import { BloudStream } from '@hysc/core';
26
+ import { getHTMLMediaStreamOptions, getMediaStreamInfo, Result } from "./getHTMLMediaStreamOptions";
27
+ import { BloudStream } from "@hysc/core";
27
28
  export declare function transShareScreen2User(userId: string): string;
28
29
  export default class BMStreamModelVM {
29
30
  streamModels: Map<string, BMStreamModel>;
@@ -73,6 +74,13 @@ export default class BMStreamModelVM {
73
74
  * 窗口没有大窗口播放容器的错误处理
74
75
  */
75
76
  noBigContainerWatcher: Subject<BMStreamModel>;
77
+ localStreamConnectErrorWatcher: Subject<BoomError>;
78
+ /**
79
+ * 共享屏幕相关错误
80
+ * 包括,共享客户端错误
81
+ * 共享屏幕流错误
82
+ */
83
+ localShareError: Subject<BoomError>;
76
84
  constructor();
77
85
  private static filterStreamModels;
78
86
  initWithRoom(room: BMRoom): this;
@@ -161,7 +169,7 @@ export default class BMStreamModelVM {
161
169
  * @private
162
170
  */
163
171
  private createStreamAndPublish;
164
- publishBloudStream(audio: boolean, video: boolean): void;
172
+ publishBloudStream(audio: boolean, video: boolean): Promise<void>;
165
173
  muteHandler(type: 'video' | 'audio'): Promise<void>;
166
174
  unpublishStream(): Promise<void>;
167
175
  /**
@@ -184,7 +192,7 @@ export default class BMStreamModelVM {
184
192
  * @param opts.contentHint 视频的contentHint 可选值: '' | 'motion' | 'detail' | 'text'
185
193
  */
186
194
  toggleShareScreen(enable: boolean, opts: any, customShare?: Result): Promise<boolean>;
187
- setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): Promise<void>;
195
+ setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): void;
188
196
  updateModelSort: import("lodash-es").DebouncedFunc<() => void>;
189
197
  handleNoContainer: (info: NoPlayerContainer) => void;
190
198
  /**
@@ -97,3 +97,43 @@ export declare const BmUpdateCustomStatsError: (msg: string) => BoomError;
97
97
  export declare const BmChangeVideoProfileError: (msg: string) => BoomError;
98
98
  export declare const BmChangeAudioProfileError: (msg: string) => BoomError;
99
99
  export declare const BmCheckDeviceError: (msg: string) => BoomError;
100
+ export declare enum StreamErrorMap {
101
+ createStream = 1302,
102
+ noCameraDevice = 1303,
103
+ noMicroDevice = 1304,
104
+ noSpeakerDevice = 1305,
105
+ openCamera = 1301,
106
+ cameraNotAuth = 1314,
107
+ cameraOccupy = 1315,
108
+ openMicro = 1302,
109
+ micNotAuth = 1317,
110
+ micOccupy = 1319,
111
+ streamDisconnected = 1320,
112
+ syncFail = 1321,
113
+ getStreamFail = 1322,
114
+ streamConnectError = 1323,
115
+ streamReconnectSuccess = 1324,
116
+ streamReconnectFailed = 1325,
117
+ shareStreamConnectError = 1326,
118
+ shareStreamConnectSuccess = 1327,
119
+ shareStreamConnectFailed = 1328
120
+ }
121
+ export declare const BMCreateStreamError: (message: string) => BoomError;
122
+ export declare const getStreamError: (message: string) => BoomError;
123
+ export declare const BMNoCameraError: () => BoomError;
124
+ export declare const BMNoMicroError: () => BoomError;
125
+ export declare const BMNoSpeakerError: () => BoomError;
126
+ export declare const BMOpenCameraError: () => BoomError;
127
+ export declare const BMCameraNotAuthError: () => BoomError;
128
+ export declare const BMCameraOccupyError: () => BoomError;
129
+ export declare const BMOpenMicroError: () => BoomError;
130
+ export declare const BMMicNotAuthError: () => BoomError;
131
+ export declare const BMMicOccupyError: () => BoomError;
132
+ export declare const BMStreamDisconnectedError: (type: string) => BoomError;
133
+ export declare const BmSyncStreamFailError: () => BoomError;
134
+ export declare const BMStreamConnectError: () => BoomError;
135
+ export declare const BMShareStreamConnectError: () => BoomError;
136
+ export declare const BMStreamReconnectSuccess: (audio: boolean, video: boolean) => BoomError | undefined;
137
+ export declare const BMShareStreamReconnectSuccess: () => BoomError;
138
+ export declare const BMStreamReconnectFailed: () => BoomError;
139
+ export declare const BMShareStreamReconnectFailed: () => BoomError;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hysc/meeting",
3
- "version": "5.0.66",
3
+ "version": "5.0.67",
4
4
  "description": "boom meeting",
5
5
  "main": "umd/index.js",
6
6
  "module": "esm/index.js",
@@ -14,17 +14,17 @@
14
14
  "author": "yangliye",
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
- "@hysc/core": "5.0.64",
17
+ "@hysc/core": "5.0.65",
18
18
  "@hysc/logger": "1.0.0",
19
19
  "lodash-es": "^4.17.21",
20
20
  "mitt": "^3.0.0",
21
21
  "@hysc/p-queue": "6.3.0",
22
22
  "rxjs": "^7.5.5",
23
23
  "typescript": "^4.6.3",
24
- "@hysc/utils": "1.2.3"
24
+ "@hysc/utils": "1.2.4"
25
25
  },
26
26
  "peerDependencies": {
27
- "@hysc/core": "5.0.64"
27
+ "@hysc/core": "5.0.65"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/lodash-es": "^4.17.6"
@@ -1,20 +1,25 @@
1
- import BoomCore from '@hysc/core';
1
+ import BoomCore from "@hysc/core";
2
2
  import BMRoomVM, { AudioProfileInfo } from "./BMRoomVM";
3
- import BMUserVM from '../BMUser/BMUserVM';
4
- import { SingleLocalStream, SingleRemoteStream, SubscribeOptions } from '../type';
5
- import BMChatVM from '../BMChat/BMChatVM';
3
+ import BMUserVM from "../BMUser/BMUserVM";
4
+ import { SingleLocalStream, SingleRemoteStream, SubscribeOptions } from "../type";
5
+ import BMChatVM from "../BMChat/BMChatVM";
6
6
  import BMStreamModelVM from "../BMStream/BMStreamModelVM";
7
- import { Device, VideoProfile } from '@hysc/core/esm/BoomAdapter/type/value';
8
- import BMRoomInfo from './BMRoomInfo';
9
- import { BehaviorSubject, Subject } from 'rxjs';
10
- import BMStreamModel, { ConnectErrorMessage } from '../BMStream/BMStreamModel';
11
- import BMUser from '../BMUser/BMUser';
12
- import BMLiveVM from './BMLiveVM';
7
+ import { Device, VideoProfile } from "@hysc/core/esm/BoomAdapter/type/value";
8
+ import BMRoomInfo from "./BMRoomInfo";
9
+ import { BehaviorSubject, Subject } from "rxjs";
10
+ import BMStreamModel, { ConnectErrorMessage } from "../BMStream/BMStreamModel";
11
+ import BMUser from "../BMUser/BMUser";
12
+ import BMLiveVM from "./BMLiveVM";
13
13
  import SingletonQueue, { PullItem } from "../SingletonQueue/SingletonQueue";
14
14
  import AudioPlay from "../audioPlay/AudioPlay";
15
15
  interface BMRoomProps {
16
16
  initDevices: boolean;
17
17
  }
18
+ interface MediaPermission {
19
+ microphone: boolean;
20
+ camera: boolean;
21
+ screen: boolean;
22
+ }
18
23
  export declare let _selfSortType: number;
19
24
  export declare let autoPlayAudio: boolean;
20
25
  export default class BMRoom {
@@ -70,6 +75,7 @@ export default class BMRoom {
70
75
  raiseHands: boolean;
71
76
  }>;
72
77
  enableAudienceSpeakingWatcher: Subject<boolean>;
78
+ mediaPermission: MediaPermission;
73
79
  videoProfile: VideoProfile;
74
80
  audioProfile: AudioProfileInfo | null;
75
81
  /**
@@ -119,6 +125,7 @@ export default class BMRoom {
119
125
  * @param value
120
126
  */
121
127
  setAutoPlayAudio(value: boolean): void;
128
+ setMediaPermission(permission: MediaPermission): void;
122
129
  /**
123
130
  * 是否应该播放声音
124
131
  * @param value
@@ -297,7 +304,7 @@ export default class BMRoom {
297
304
  audio: boolean;
298
305
  videoSource?: MediaStreamTrack | undefined;
299
306
  audioSource?: MediaStreamTrack | undefined;
300
- } | undefined, sid: string): Promise<any>;
307
+ } | undefined, sid: string): Promise<SingleLocalStream>;
301
308
  /**
302
309
  * 这个方法只是为了生成brtc的流,目的是在用户只打开音频的情况下,然后在打开视频的时候,去创建一个只有视频的track的流
303
310
  * @param options
@@ -358,7 +365,7 @@ export default class BMRoom {
358
365
  * @param stream 创建的本地流对象
359
366
  * @return
360
367
  */
361
- publish(stream: SingleLocalStream): Promise<any>;
368
+ publish(stream: SingleLocalStream): Promise<unknown>;
362
369
  /**
363
370
  * 取消发布本地流。
364
371
  * 取消发布本地流后远端会收到 'participant-unpublished' 事件通知。
@@ -548,6 +555,8 @@ export default class BMRoom {
548
555
  /**
549
556
  * 发送聊天室消息
550
557
  * @param msg
558
+ * @param userId
559
+ * @param lostNet
551
560
  */
552
561
  sendChatMessage(msg: string, userId: string | undefined, lostNet: boolean): Promise<any>;
553
562
  /**
@@ -627,7 +636,6 @@ export default class BMRoom {
627
636
  /**
628
637
  * 处理流出现connect-error的逻辑,本地流需要重新推流,远端流需要重新拉流
629
638
  * @param event
630
- * @param failed
631
639
  */
632
640
  private handleStreamConnectError;
633
641
  /**
@@ -15,15 +15,16 @@
15
15
  */
16
16
  /// <reference types="node" />
17
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 { Device } from '@hysc/core/esm/BoomAdapter/type/value';
23
- import BMSpeaker from './BMSpeaker';
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 "../error/RTCError";
23
+ import { Device } from "@hysc/core/esm/BoomAdapter/type/value";
24
+ import BMSpeaker from "./BMSpeaker";
24
25
  import { ShareMediaOptions } from "@hysc/core/esm/BoomCore/BCClient/BCClient";
25
- import { getHTMLMediaStreamOptions, Result, getMediaStreamInfo } from "./getHTMLMediaStreamOptions";
26
- import { BloudStream } from '@hysc/core';
26
+ import { getHTMLMediaStreamOptions, getMediaStreamInfo, Result } from "./getHTMLMediaStreamOptions";
27
+ import { BloudStream } from "@hysc/core";
27
28
  export declare function transShareScreen2User(userId: string): string;
28
29
  export default class BMStreamModelVM {
29
30
  streamModels: Map<string, BMStreamModel>;
@@ -73,6 +74,13 @@ export default class BMStreamModelVM {
73
74
  * 窗口没有大窗口播放容器的错误处理
74
75
  */
75
76
  noBigContainerWatcher: Subject<BMStreamModel>;
77
+ localStreamConnectErrorWatcher: Subject<BoomError>;
78
+ /**
79
+ * 共享屏幕相关错误
80
+ * 包括,共享客户端错误
81
+ * 共享屏幕流错误
82
+ */
83
+ localShareError: Subject<BoomError>;
76
84
  constructor();
77
85
  private static filterStreamModels;
78
86
  initWithRoom(room: BMRoom): this;
@@ -161,7 +169,7 @@ export default class BMStreamModelVM {
161
169
  * @private
162
170
  */
163
171
  private createStreamAndPublish;
164
- publishBloudStream(audio: boolean, video: boolean): void;
172
+ publishBloudStream(audio: boolean, video: boolean): Promise<void>;
165
173
  muteHandler(type: 'video' | 'audio'): Promise<void>;
166
174
  unpublishStream(): Promise<void>;
167
175
  /**
@@ -184,7 +192,7 @@ export default class BMStreamModelVM {
184
192
  * @param opts.contentHint 视频的contentHint 可选值: '' | 'motion' | 'detail' | 'text'
185
193
  */
186
194
  toggleShareScreen(enable: boolean, opts: any, customShare?: Result): Promise<boolean>;
187
- setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): Promise<void>;
195
+ setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): void;
188
196
  updateModelSort: any;
189
197
  handleNoContainer: (info: NoPlayerContainer) => void;
190
198
  /**