@hysc/meeting 6.1.20 → 7.0.115

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.
@@ -20,7 +20,6 @@ interface MediaPermission {
20
20
  camera: boolean;
21
21
  screen: boolean;
22
22
  }
23
- export declare type VoiceMode = 'speech' | 'speech-recognition' | 'music' | '';
24
23
  export declare let _selfSortType: number;
25
24
  export declare let autoPlayAudio: boolean;
26
25
  export default class BMRoom {
@@ -79,8 +78,6 @@ export default class BMRoom {
79
78
  mediaPermission: MediaPermission;
80
79
  videoProfile: VideoProfile;
81
80
  audioProfile: AudioProfileInfo | null;
82
- voiceMode: string;
83
- setVoiceMode(mode: VoiceMode): void;
84
81
  /**
85
82
  * brtc断网重连要给端上事件响应,所有端上把流单独做处理的,需要在收到这个事件之后,重新处理所有的effect
86
83
  */
@@ -591,12 +588,6 @@ export default class BMRoom {
591
588
  */
592
589
  checkUserHasMaster(userId: string): boolean;
593
590
  changeNickName(userId: string, nickName: string): Promise<any>;
594
- /**
595
- * boom-web-sdk中,会存在缓存的情况
596
- * 所以可能会出现设置已经不存在的窗口的值,去拉不存在的窗口的流
597
- * 增加一层逻辑判断去处理该情况
598
- */
599
- streamModelExits(streamModel: BMStreamModel): boolean;
600
591
  handleQueueTask: (streamModel: BMStreamModel, noPlayChanged?: boolean) => Promise<void>;
601
592
  handleStreamTask(streamModel: BMStreamModel, noPlayChanged?: boolean): Promise<void>;
602
593
  /**
@@ -633,9 +624,11 @@ export default class BMRoom {
633
624
  /**
634
625
  * 处理播放相关的逻辑
635
626
  * @param streamModel
627
+ * @param noPlayChanged
628
+ * @param shouldPlayBig
636
629
  */
637
- handlePlay(streamModel: BMStreamModel, force?: boolean): Promise<void>;
638
- handlePlayInBIg(streamModel: BMStreamModel): void;
630
+ handlePlay(streamModel: BMStreamModel, noPlayChanged: boolean, shouldPlayBig?: boolean): Promise<void>;
631
+ handlePlayInBIg(streamModel: BMStreamModel): Promise<void>;
639
632
  /**
640
633
  * 处理brtc订阅这股流失败的处理
641
634
  * @param streamModel
@@ -150,17 +150,14 @@ export default class BMRoomInfo {
150
150
  totalUserWatcher: BehaviorSubject<number>;
151
151
  totalWaitRoomUserWatcher: BehaviorSubject<number>;
152
152
  isOpenWaitRoom: Subject<boolean>;
153
- constructor(room: BMRoom);
153
+ constructor();
154
154
  get roomName(): string;
155
155
  /**
156
156
  * 判断是不是大房间使用
157
157
  */
158
158
  get isBigRoom(): boolean;
159
- /**
160
- * 会议开始时间
161
- */
162
- get startup(): number;
163
159
  setup(info: any): void;
160
+ bindRoom(room: BMRoom): void;
164
161
  initCustomStats(customStats: any): void;
165
162
  updateOperationPermission(stats: any): void;
166
163
  private handleInitParams;
@@ -25,17 +25,6 @@ export interface NoPlayerContainer {
25
25
  container: 'small' | 'big';
26
26
  id: string;
27
27
  }
28
- export interface StreamPlayMessage {
29
- uid: string;
30
- }
31
- /**
32
- * 播放器状态
33
- */
34
- declare enum PlayerState {
35
- NO_CONTAINER = 0,
36
- NO_PLAYING = 1,
37
- PLAYING = 2
38
- }
39
28
  export default class BMStreamModel {
40
29
  private user;
41
30
  private _stream;
@@ -73,7 +62,6 @@ export default class BMStreamModel {
73
62
  * shouldPull 是否应该拉
74
63
  */
75
64
  shouldPull: boolean;
76
- smallPlayFailed: number;
77
65
  get hasPulled(): boolean;
78
66
  set hasPulled(value: boolean);
79
67
  /**
@@ -197,8 +185,6 @@ export default class BMStreamModel {
197
185
  * 当前视频是否开启
198
186
  */
199
187
  get videoEnable(): boolean;
200
- private get brtcPlayerId();
201
- private get selfPlayerId();
202
188
  /**
203
189
  * 获取当前流绑定的用户昵称
204
190
  */
@@ -227,19 +213,21 @@ export default class BMStreamModel {
227
213
  emitBindElement: any;
228
214
  emitBindBigElement: any;
229
215
  /**
230
- * 当前是不是正在播放
231
- * @param containerId sdk绑定播放器容器id
232
- * @param playerContainerId 播放器创建的容器id
216
+ * 判断当前是不是正在小窗口播放
233
217
  */
234
- currentIsPlaying: (containerId: string) => PlayerState;
218
+ currentIsPlaying: () => boolean;
219
+ /**
220
+ * 判断当前是不是正在小窗口播放
221
+ */
222
+ currentBigIsPlaying: () => boolean | null | undefined;
235
223
  /**
236
224
  * 播放当前流
237
225
  */
238
- play: (force?: boolean) => Promise<void>;
226
+ play: any;
239
227
  /**
240
228
  * 在大窗口播放该流的时候调用这个方法
241
229
  */
242
- playInBig: (force?: boolean) => Promise<void>;
230
+ playInBig: any;
243
231
  private initBigPlayer;
244
232
  /**
245
233
  * 停止播放当前流
@@ -286,8 +274,8 @@ export default class BMStreamModel {
286
274
  */
287
275
  collectAudioLevel: () => void;
288
276
  private handleAudioLevel;
289
- checkSmallVideo: () => Promise<void>;
290
- checkBigVideo: any;
277
+ checkSmallVideo(): void;
278
+ checkBigVideo(): void;
291
279
  /**
292
280
  * 播放黑窗处理,主要是做一个容错处理,又可能这股流拉下来或者存在订阅就出现问题的情况
293
281
  * 播放时黑窗的,这个时候需要,检测,然后重新拉流
@@ -299,11 +287,6 @@ export default class BMStreamModel {
299
287
  */
300
288
  subscribeStream(): void;
301
289
  unSubscribeStream(): void;
302
- checkStreamIsPlaying: any;
303
- /**
304
- * 取消流的播放
305
- * @param type big: 大窗口 small: 小窗口 all: 全部
306
- */
307
- unAttach(type: 'big' | 'small' | 'all'): void;
290
+ checkStreamIsPlaying(): void;
308
291
  }
309
292
  export {};
@@ -14,7 +14,7 @@
14
14
  * 共享屏幕用户做了特殊处理,因为web端共享屏幕和移动端共享屏幕处理逻辑不一样
15
15
  */
16
16
  /// <reference types="node" />
17
- import BMStreamModel, { NoPlayerContainer, StreamPlayMessage } from "./BMStreamModel";
17
+ import BMStreamModel, { NoPlayerContainer } from "./BMStreamModel";
18
18
  import BMUser from "../BMUser/BMUser";
19
19
  import { SingleLocalStream, SingleRemoteStream, SingleStream } from "../type";
20
20
  import BMRoom from "../BMRoom/BMRoom";
@@ -83,19 +83,12 @@ export default class BMStreamModelVM {
83
83
  * 共享屏幕流错误
84
84
  */
85
85
  localShareError: Subject<BoomError>;
86
- localShareEndedError: Subject<boolean>;
87
86
  /**
88
87
  * 共享屏幕流是单独处理的逻辑,不是先创建streamModel然后在去查流,而是先去查流,在创建streamModel
89
88
  */
90
89
  shareBloudStateMap: Map<string, BloudStreamEventState>;
91
- localShareCustomStats: any;
92
- /**
93
- * 窗口播放事件,给到端上去做埋点
94
- */
95
- streamPlayWatcher: Subject<StreamPlayMessage>;
96
90
  constructor();
97
91
  private static filterStreamModels;
98
- handleStreamPlay: (info: StreamPlayMessage) => void;
99
92
  initWithRoom(room: BMRoom): this;
100
93
  /**
101
94
  * 设置扬声器是否打开
@@ -159,9 +152,8 @@ export default class BMStreamModelVM {
159
152
  /**
160
153
  * 切换扬声器
161
154
  * @param device
162
- * @param force
163
155
  */
164
- changeSpeaker(device: Device, force?: boolean): Promise<void>;
156
+ changeSpeaker(device: Device): Promise<void>;
165
157
  /**
166
158
  * 设置单个流的扬声器
167
159
  * @param streamModel
@@ -198,6 +190,17 @@ export default class BMStreamModelVM {
198
190
  * @private
199
191
  */
200
192
  private muteOrUnpublishStream;
193
+ /**
194
+ * 是否开启屏幕共享
195
+ * @param enable
196
+ * @param opts 开启屏幕共享参数
197
+ * @param customShare
198
+ * @param opts.audio 是否开启音频
199
+ * @param opts.source_name Electron 下窗口名称
200
+ * @param opts.width 共享屏幕宽度
201
+ * @param opts.height 共享屏幕高度
202
+ * @param opts.contentHint 视频的contentHint 可选值: '' | 'motion' | 'detail' | 'text'
203
+ */
201
204
  toggleShareScreen(enable: boolean, opts: any, customShare?: Result): Promise<boolean>;
202
205
  setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): void;
203
206
  updateModelSort: any;
@@ -257,7 +260,7 @@ export default class BMStreamModelVM {
257
260
  /**
258
261
  * 更新流信息 会给服务端发送updateStream信令,会收到updateStream的广播
259
262
  */
260
- updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<void>;
263
+ updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<any> | undefined;
261
264
  /**
262
265
  * 布局发生变化之后去调用一下这个方法去检测所有流的播放状态
263
266
  * @param {string} status tag 用于区分是什么状态下调用的
@@ -24,7 +24,7 @@ export default class AudioPlay {
24
24
  play(stream: SingleRemoteStream): Promise<void>;
25
25
  mute(mute: boolean): void;
26
26
  setVolume(streamId: string, volume: number): void;
27
- setDevice(deviceId: string, force?: boolean): Promise<void>;
27
+ setDevice(deviceId: string): void;
28
28
  addPlayerEvent(player: AudioPlayer): void;
29
29
  clear(): void;
30
30
  destroy(): void;
@@ -127,4 +127,3 @@ export declare const MODEL_SORT_NUM_CHANGE = "model-sort-num-change";
127
127
  export declare const ADD_PULL_USER = "add-pull-user";
128
128
  export declare const SET_VOLUME = "set-volume";
129
129
  export declare const ADD_AUDIO_PLAY = "add-audio-play";
130
- export declare const STREAM_PLAY = "stream-play";
@@ -6,8 +6,8 @@
6
6
  * @update: 2022-05-24 15:15
7
7
  */
8
8
  import { Emitter } from "mitt";
9
- import { ConnectErrorMessage, NoPlayerContainer, StreamPlayMessage, SubscribeMessage } from "../BMStream/BMStreamModel";
10
- import { ADD_AUDIO_PLAY, ADD_PULL_USER, BIND_BIG_ELEMENT, BIND_ELEMENT, CHANG_IS_GUEST, HANDLE_STREAM_CONNECT_ERROR, MANUAL_SUBSCRIPTION, MODEL_SORT_NUM_CHANGE, NO_CONTAINER, RAISE_HAND, RECEIVE_SUBSCRIBE_MESSAGE, SET_VOLUME, STREAM_PLAY, UNSUBSCRIBE_STREAM, USER_SORT_NUM_CHANGE } from "../constants";
9
+ import { ConnectErrorMessage, NoPlayerContainer, SubscribeMessage } from "../BMStream/BMStreamModel";
10
+ import { ADD_AUDIO_PLAY, ADD_PULL_USER, BIND_BIG_ELEMENT, BIND_ELEMENT, CHANG_IS_GUEST, HANDLE_STREAM_CONNECT_ERROR, MANUAL_SUBSCRIPTION, MODEL_SORT_NUM_CHANGE, NO_CONTAINER, RAISE_HAND, RECEIVE_SUBSCRIBE_MESSAGE, SET_VOLUME, UNSUBSCRIBE_STREAM, USER_SORT_NUM_CHANGE } from "../constants";
11
11
  import { RaiseHandInfo } from "../BMUser/BMUser";
12
12
  import { ChangeIsGuest } from "../BMUser/BMUserVM";
13
13
  import { PullItem } from "../SingletonQueue/SingletonQueue";
@@ -34,7 +34,6 @@ declare type Events = {
34
34
  [ADD_PULL_USER]: PullItem;
35
35
  [SET_VOLUME]: VolumeInfo;
36
36
  [ADD_AUDIO_PLAY]: SubscribeMessage;
37
- [STREAM_PLAY]: StreamPlayMessage;
38
37
  };
39
38
  export default class BoomEmitter {
40
39
  static emitter: Emitter<Events> | undefined;