@hysc/meeting 10.0.11 → 10.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/index.d.mts +46 -12
  2. package/dist/index.d.ts +46 -12
  3. package/dist/index.js +3 -3
  4. package/dist/index.mjs +3 -3
  5. package/package.json +7 -7
  6. package/umd/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +0 -428
  7. package/umd/boom-meeting/src/BMChat/BMChatVM.d.ts +0 -26
  8. package/umd/boom-meeting/src/BMChat/BMMessageInfo.d.ts +0 -31
  9. package/umd/boom-meeting/src/BMRoom/BMLiveVM.d.ts +0 -35
  10. package/umd/boom-meeting/src/BMRoom/BMRoomInfo.d.ts +0 -215
  11. package/umd/boom-meeting/src/BMRoom/BMRoomVM.d.ts +0 -317
  12. package/umd/boom-meeting/src/BMRoom/RoomEvent.d.ts +0 -1
  13. package/umd/boom-meeting/src/BMStream/BMSpeaker.d.ts +0 -26
  14. package/umd/boom-meeting/src/BMStream/BMStreamModel.d.ts +0 -306
  15. package/umd/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +0 -260
  16. package/umd/boom-meeting/src/BMStream/getHTMLMediaStreamOptions.d.ts +0 -35
  17. package/umd/boom-meeting/src/BMStream/sortStream.d.ts +0 -30
  18. package/umd/boom-meeting/src/BMUser/BMUser.d.ts +0 -156
  19. package/umd/boom-meeting/src/BMUser/BMUserVM.d.ts +0 -177
  20. package/umd/boom-meeting/src/SingletonQueue/SingletonQueue.d.ts +0 -26
  21. package/umd/boom-meeting/src/audioPlay/AudioPlay.d.ts +0 -31
  22. package/umd/boom-meeting/src/bjy-common/function/debounce.d.ts +0 -9
  23. package/umd/boom-meeting/src/bjy-common/function/execute.d.ts +0 -9
  24. package/umd/boom-meeting/src/bjy-common/function/getErrorMessage.d.ts +0 -1
  25. package/umd/boom-meeting/src/bjy-common/function/isDef.d.ts +0 -1
  26. package/umd/boom-meeting/src/bjy-common/function/isNative.d.ts +0 -1
  27. package/umd/boom-meeting/src/bjy-common/function/isUndef.d.ts +0 -1
  28. package/umd/boom-meeting/src/bjy-common/function/nextTick.d.ts +0 -2
  29. package/umd/boom-meeting/src/bjy-common/function/throttling.d.ts +0 -9
  30. package/umd/boom-meeting/src/bjy-common/function/toNumber.d.ts +0 -1
  31. package/umd/boom-meeting/src/bjy-common/function/toString.d.ts +0 -1
  32. package/umd/boom-meeting/src/bjy-common/type/api.d.ts +0 -66
  33. package/umd/boom-meeting/src/bjy-common/type/options.d.ts +0 -7
  34. package/umd/boom-meeting/src/bjy-common/type/type.d.ts +0 -90
  35. package/umd/boom-meeting/src/bjy-common/util/CustomEvent.d.ts +0 -30
  36. package/umd/boom-meeting/src/bjy-common/util/Emitter.d.ts +0 -57
  37. package/umd/boom-meeting/src/bjy-common/util/NextTask.d.ts +0 -28
  38. package/umd/boom-meeting/src/bjy-common/util/Sleep.d.ts +0 -14
  39. package/umd/boom-meeting/src/bjy-common/util/Timer.d.ts +0 -13
  40. package/umd/boom-meeting/src/bjy-common/util/array.d.ts +0 -96
  41. package/umd/boom-meeting/src/bjy-common/util/browser.d.ts +0 -6
  42. package/umd/boom-meeting/src/bjy-common/util/constant.d.ts +0 -50
  43. package/umd/boom-meeting/src/bjy-common/util/holder.d.ts +0 -6
  44. package/umd/boom-meeting/src/bjy-common/util/is.d.ts +0 -49
  45. package/umd/boom-meeting/src/bjy-common/util/keypath.d.ts +0 -41
  46. package/umd/boom-meeting/src/bjy-common/util/logger.d.ts +0 -42
  47. package/umd/boom-meeting/src/bjy-common/util/network.d.ts +0 -4
  48. package/umd/boom-meeting/src/bjy-common/util/object.d.ts +0 -83
  49. package/umd/boom-meeting/src/bjy-common/util/os.d.ts +0 -14
  50. package/umd/boom-meeting/src/bjy-common/util/string.d.ts +0 -102
  51. package/umd/boom-meeting/src/constants.d.ts +0 -129
  52. package/umd/boom-meeting/src/error/RTCError.d.ts +0 -20
  53. package/umd/boom-meeting/src/error/errorMap.d.ts +0 -70
  54. package/umd/boom-meeting/src/error/errorType.d.ts +0 -96
  55. package/umd/boom-meeting/src/handleEvent/attachEvents.d.ts +0 -48
  56. package/umd/boom-meeting/src/handleEvent/brtcNetEvent.d.ts +0 -9
  57. package/umd/boom-meeting/src/handleEvent/customMessageEvent.d.ts +0 -2
  58. package/umd/boom-meeting/src/handleEvent/handleParticipantEvent.d.ts +0 -24
  59. package/umd/boom-meeting/src/handleEvent/handleRoomEvent.d.ts +0 -20
  60. package/umd/boom-meeting/src/handleEvent/messageEvent.d.ts +0 -5
  61. package/umd/boom-meeting/src/handleEvent/pullUser.d.ts +0 -7
  62. package/umd/boom-meeting/src/handleEvent/roomErrEvent.d.ts +0 -9
  63. package/umd/boom-meeting/src/handleEvent/streamEvent.d.ts +0 -22
  64. package/umd/boom-meeting/src/logger/logger.d.ts +0 -86
  65. package/umd/boom-meeting/src/type/customStats.d.ts +0 -123
  66. package/umd/boom-meeting/src/type/index.d.ts +0 -9
  67. package/umd/boom-meeting/src/type/stream.d.ts +0 -15
  68. package/umd/boom-meeting/src/type/user.d.ts +0 -9
  69. package/umd/boom-meeting/src/util/PackLoss.d.ts +0 -7
  70. package/umd/boom-meeting/src/util/Pqueue.d.ts +0 -62
  71. package/umd/boom-meeting/src/util/Privileges.d.ts +0 -20
  72. package/umd/boom-meeting/src/util/ReportCollector.d.ts +0 -22
  73. package/umd/boom-meeting/src/util/Stutter.d.ts +0 -19
  74. package/umd/boom-meeting/src/util/Thread.d.ts +0 -12
  75. package/umd/boom-meeting/src/util/base64.d.ts +0 -4
  76. package/umd/boom-meeting/src/util/benchmark.d.ts +0 -1
  77. package/umd/boom-meeting/src/util/checkPermissions.d.ts +0 -1
  78. package/umd/boom-meeting/src/util/checkSystemRequirements.d.ts +0 -1
  79. package/umd/boom-meeting/src/util/constant.d.ts +0 -67
  80. package/umd/boom-meeting/src/util/devices.d.ts +0 -2
  81. package/umd/boom-meeting/src/util/emitter.d.ts +0 -43
  82. package/umd/boom-meeting/src/util/formatUserId.d.ts +0 -2
  83. package/umd/boom-meeting/src/util/is.d.ts +0 -70
  84. package/umd/boom-meeting/src/util/peerToPeerProbe.d.ts +0 -9
  85. package/umd/boom-meeting/src/util/request.d.ts +0 -45
  86. package/umd/boom-meeting/src/util/roomUtils.d.ts +0 -9
  87. package/umd/boom-meeting/src/util/sortUtils.d.ts +0 -10
  88. package/umd/boom-meeting/src/util/util.d.ts +0 -78
  89. package/umd/index.js +0 -29
  90. package/umd/src/BMChat/BMChatVM.d.ts +0 -26
  91. package/umd/src/BMChat/BMMessageInfo.d.ts +0 -31
  92. package/umd/src/BMRoom/BMLiveVM.d.ts +0 -35
  93. package/umd/src/BMRoom/BMRoom.d.ts +0 -705
  94. package/umd/src/BMRoom/BMRoomInfo.d.ts +0 -215
  95. package/umd/src/BMRoom/BMRoomVM.d.ts +0 -317
  96. package/umd/src/BMRoom/RoomEvent.d.ts +0 -1
  97. package/umd/src/BMStream/BMSpeaker.d.ts +0 -26
  98. package/umd/src/BMStream/BMStreamModel.d.ts +0 -307
  99. package/umd/src/BMStream/BMStreamModelVM.d.ts +0 -259
  100. package/umd/src/BMStream/getHTMLMediaStreamOptions.d.ts +0 -35
  101. package/umd/src/BMStream/sortStream.d.ts +0 -30
  102. package/umd/src/BMUser/BMUser.d.ts +0 -156
  103. package/umd/src/BMUser/BMUserVM.d.ts +0 -177
  104. package/umd/src/SingletonQueue/SingletonQueue.d.ts +0 -26
  105. package/umd/src/audioPlay/AudioPlay.d.ts +0 -31
  106. package/umd/src/bjy-common/function/debounce.d.ts +0 -9
  107. package/umd/src/bjy-common/function/execute.d.ts +0 -9
  108. package/umd/src/bjy-common/function/getErrorMessage.d.ts +0 -1
  109. package/umd/src/bjy-common/function/isDef.d.ts +0 -1
  110. package/umd/src/bjy-common/function/isNative.d.ts +0 -1
  111. package/umd/src/bjy-common/function/isUndef.d.ts +0 -1
  112. package/umd/src/bjy-common/function/nextTick.d.ts +0 -2
  113. package/umd/src/bjy-common/function/throttling.d.ts +0 -9
  114. package/umd/src/bjy-common/function/toNumber.d.ts +0 -1
  115. package/umd/src/bjy-common/function/toString.d.ts +0 -1
  116. package/umd/src/bjy-common/type/api.d.ts +0 -66
  117. package/umd/src/bjy-common/type/options.d.ts +0 -7
  118. package/umd/src/bjy-common/type/type.d.ts +0 -90
  119. package/umd/src/bjy-common/util/CustomEvent.d.ts +0 -30
  120. package/umd/src/bjy-common/util/Emitter.d.ts +0 -57
  121. package/umd/src/bjy-common/util/NextTask.d.ts +0 -28
  122. package/umd/src/bjy-common/util/Sleep.d.ts +0 -14
  123. package/umd/src/bjy-common/util/Timer.d.ts +0 -13
  124. package/umd/src/bjy-common/util/array.d.ts +0 -96
  125. package/umd/src/bjy-common/util/browser.d.ts +0 -6
  126. package/umd/src/bjy-common/util/constant.d.ts +0 -50
  127. package/umd/src/bjy-common/util/holder.d.ts +0 -6
  128. package/umd/src/bjy-common/util/is.d.ts +0 -49
  129. package/umd/src/bjy-common/util/keypath.d.ts +0 -41
  130. package/umd/src/bjy-common/util/logger.d.ts +0 -42
  131. package/umd/src/bjy-common/util/network.d.ts +0 -4
  132. package/umd/src/bjy-common/util/object.d.ts +0 -83
  133. package/umd/src/bjy-common/util/os.d.ts +0 -14
  134. package/umd/src/bjy-common/util/string.d.ts +0 -102
  135. package/umd/src/constants.d.ts +0 -129
  136. package/umd/src/error/RTCError.d.ts +0 -20
  137. package/umd/src/error/errorMap.d.ts +0 -70
  138. package/umd/src/error/errorType.d.ts +0 -96
  139. package/umd/src/handleEvent/attachEvents.d.ts +0 -47
  140. package/umd/src/handleEvent/brtcNetEvent.d.ts +0 -9
  141. package/umd/src/handleEvent/customMessageEvent.d.ts +0 -2
  142. package/umd/src/handleEvent/handleParticipantEvent.d.ts +0 -24
  143. package/umd/src/handleEvent/handleRoomEvent.d.ts +0 -20
  144. package/umd/src/handleEvent/messageEvent.d.ts +0 -5
  145. package/umd/src/handleEvent/pullUser.d.ts +0 -7
  146. package/umd/src/handleEvent/roomErrEvent.d.ts +0 -9
  147. package/umd/src/handleEvent/streamEvent.d.ts +0 -22
  148. package/umd/src/index.d.ts +0 -4
  149. package/umd/src/logger/logger.d.ts +0 -86
  150. package/umd/src/type/customStats.d.ts +0 -123
  151. package/umd/src/type/index.d.ts +0 -9
  152. package/umd/src/type/stream.d.ts +0 -12
  153. package/umd/src/type/user.d.ts +0 -9
  154. package/umd/src/util/PackLoss.d.ts +0 -7
  155. package/umd/src/util/Pqueue.d.ts +0 -62
  156. package/umd/src/util/Privileges.d.ts +0 -20
  157. package/umd/src/util/ReportCollector.d.ts +0 -22
  158. package/umd/src/util/Stutter.d.ts +0 -19
  159. package/umd/src/util/Thread.d.ts +0 -12
  160. package/umd/src/util/base64.d.ts +0 -4
  161. package/umd/src/util/checkPermissions.d.ts +0 -1
  162. package/umd/src/util/checkSystemRequirements.d.ts +0 -1
  163. package/umd/src/util/constant.d.ts +0 -67
  164. package/umd/src/util/devices.d.ts +0 -2
  165. package/umd/src/util/emitter.d.ts +0 -43
  166. package/umd/src/util/formatUserId.d.ts +0 -2
  167. package/umd/src/util/is.d.ts +0 -70
  168. package/umd/src/util/peerToPeerProbe.d.ts +0 -9
  169. package/umd/src/util/request.d.ts +0 -45
  170. package/umd/src/util/roomUtils.d.ts +0 -9
  171. package/umd/src/util/sortUtils.d.ts +0 -10
  172. package/umd/src/util/util.d.ts +0 -78
  173. package/umd/utils/BoomError.d.ts +0 -19
  174. package/umd/utils/ErrorTypes.d.ts +0 -139
  175. package/umd/utils/index.d.ts +0 -9
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as lodash_es from 'lodash-es';
2
2
  import * as _hysc_brtc from '@hysc/brtc';
3
- import { LocalStream, RemoteStream, Device, SubscribeOptions, VideoProfile, AudioHint } from '@hysc/brtc';
3
+ import { LocalStream, RemoteStream, Device, SubscribeOptions, VideoProfile, AudioHint, StreamCodecOption } from '@hysc/brtc';
4
4
  import BCClient, { BCUser, ShareMediaOptions, Player, AudioPlayer } from '@hysc/core';
5
5
  import { BehaviorSubject, Subject } from 'rxjs';
6
6
  import { BoomError } from '@hysc/utils';
@@ -379,11 +379,14 @@ declare class BMStreamModelVM {
379
379
  */
380
380
  localIsShare: boolean;
381
381
  isShareWatcher: Subject<boolean>;
382
+ localShareCustomStats: any;
382
383
  _speaker_enable: boolean;
383
384
  speakerEnableWatcher: BehaviorSubject<boolean>;
384
385
  /**
385
386
  * 混流
386
387
  */
388
+ mixStreamUid: string | null;
389
+ get mixStreamModel(): BMStreamModel | null | undefined;
387
390
  mixStreamModelWatcher: BehaviorSubject<BMStreamModel | null>;
388
391
  canvasTimer: NodeJS.Timeout | null;
389
392
  private _recorder;
@@ -409,12 +412,18 @@ declare class BMStreamModelVM {
409
412
  * 共享屏幕流错误
410
413
  */
411
414
  localShareError: Subject<BoomError>;
415
+ localShareEndedError: Subject<boolean>;
412
416
  /**
413
417
  * 共享屏幕流是单独处理的逻辑,不是先创建streamModel然后在去查流,而是先去查流,在创建streamModel
414
418
  */
415
419
  shareBloudStateMap: Map<string, BloudStreamEventState>;
420
+ /**
421
+ * 窗口播放事件,给到端上去做埋点
422
+ */
423
+ streamPlayWatcher: Subject<StreamPlayMessage>;
416
424
  constructor();
417
425
  private static filterStreamModels;
426
+ handleStreamPlay: (info: StreamPlayMessage) => void;
418
427
  initWithRoom(room: BMRoom): this;
419
428
  /**
420
429
  * 设置扬声器是否打开
@@ -576,7 +585,7 @@ declare class BMStreamModelVM {
576
585
  /**
577
586
  * 更新流信息 会给服务端发送updateStream信令,会收到updateStream的广播
578
587
  */
579
- updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<any> | undefined;
588
+ updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<void>;
580
589
  /**
581
590
  * 布局发生变化之后去调用一下这个方法去检测所有流的播放状态
582
591
  * @param {string} status tag 用于区分是什么状态下调用的
@@ -602,6 +611,9 @@ interface NoPlayerContainer {
602
611
  container: 'small' | 'big';
603
612
  id: string;
604
613
  }
614
+ interface StreamPlayMessage {
615
+ uid: string;
616
+ }
605
617
  /**
606
618
  * 播放器状态
607
619
  */
@@ -677,7 +689,7 @@ declare class BMStreamModel {
677
689
  get uuid(): string;
678
690
  get isAudience(): boolean;
679
691
  /**
680
- * 因为直播模式中,观众默认是不展示的,只有开麦以后才会展示
692
+ * 因为直播模式中,观众是不展示的
681
693
  * 所以这个地方要判断一下
682
694
  */
683
695
  get canShow(): boolean;
@@ -809,11 +821,11 @@ declare class BMStreamModel {
809
821
  /**
810
822
  * 播放当前流
811
823
  */
812
- play: () => Promise<void>;
824
+ play: (force?: boolean) => Promise<void>;
813
825
  /**
814
826
  * 在大窗口播放该流的时候调用这个方法
815
827
  */
816
- playInBig: () => Promise<void>;
828
+ playInBig: (force?: boolean) => Promise<void>;
817
829
  private initBigPlayer;
818
830
  /**
819
831
  * 停止播放当前流
@@ -946,6 +958,9 @@ declare class BMUser {
946
958
  raiseVideoHands: boolean;
947
959
  raiseAudioHands: boolean;
948
960
  raiseHand: boolean;
961
+ /**
962
+ * 观众
963
+ */
949
964
  isAudience: boolean;
950
965
  /**
951
966
  * 是不是普通参会者
@@ -1177,14 +1192,17 @@ declare class BMRoomInfo {
1177
1192
  totalUserWatcher: BehaviorSubject<number>;
1178
1193
  totalWaitRoomUserWatcher: BehaviorSubject<number>;
1179
1194
  isOpenWaitRoom: Subject<boolean>;
1180
- constructor();
1195
+ constructor(room: BMRoom);
1181
1196
  get roomName(): string;
1182
1197
  /**
1183
1198
  * 判断是不是大房间使用
1184
1199
  */
1185
1200
  get isBigRoom(): boolean;
1201
+ /**
1202
+ * 会议开始时间
1203
+ */
1204
+ get startup(): number;
1186
1205
  setup(info: any): void;
1187
- bindRoom(room: BMRoom): void;
1188
1206
  initCustomStats(customStats: any): void;
1189
1207
  updateOperationPermission(stats: any): void;
1190
1208
  private handleInitParams;
@@ -1579,7 +1597,7 @@ declare class BMLiveVM {
1579
1597
  private get localBMUser();
1580
1598
  private get localIsAudience();
1581
1599
  /**
1582
- * 拉流处理
1600
+ * 拉流处理, 观众只拉混流
1583
1601
  * @param bmStreamModel
1584
1602
  */
1585
1603
  handlePull(bmStreamModel: BMStreamModel): Promise<void>;
@@ -1597,6 +1615,7 @@ declare class BMLiveVM {
1597
1615
  * 观众允许发言,允许发言之后,要把所有的流都拉,然后混流静音
1598
1616
  */
1599
1617
  handleAudienceEnable(): Promise<void>;
1618
+ handleMixStream(mute: boolean): Promise<void>;
1600
1619
  }
1601
1620
 
1602
1621
  /**
@@ -1693,6 +1712,10 @@ declare class BMRoom {
1693
1712
  videoProfile: VideoProfile;
1694
1713
  audioProfile: AudioProfileInfo | null;
1695
1714
  voiceMode: AudioHint;
1715
+ /**
1716
+ * 视频自定义编码设置
1717
+ */
1718
+ videoEncodeConfig: StreamCodecOption | null;
1696
1719
  setVoiceMode(mode: AudioHint): void;
1697
1720
  /**
1698
1721
  * brtc断网重连要给端上事件响应,所有端上把流单独做处理的,需要在收到这个事件之后,重新处理所有的effect
@@ -1727,6 +1750,8 @@ declare class BMRoom {
1727
1750
  audioPlayer: AudioPlay;
1728
1751
  private pubFailedTimer;
1729
1752
  get isSingleColumns(): boolean;
1753
+ get localIsAudience(): boolean;
1754
+ get shouldIgnoreStream(): boolean;
1730
1755
  /**
1731
1756
  * 传递信息用的,主要是用于message信令往上层业务发送消息
1732
1757
  */
@@ -1766,6 +1791,15 @@ declare class BMRoom {
1766
1791
  * @param profile 设置视频分辨率
1767
1792
  */
1768
1793
  setVideoProfile(profile: VideoProfile): void;
1794
+ /**
1795
+ * 设置视频分辨率, 需要在入会之前调用
1796
+ * @param encodeConfig
1797
+ * @param encodeConfig.width 宽
1798
+ * @param encodeConfig.height 高
1799
+ * @param encodeConfig.biterate 码率
1800
+ * @param encodeConfig.frameRate 帧率
1801
+ */
1802
+ setCustomVideoEncodeConfig(encodeConfig: StreamCodecOption): void;
1769
1803
  setUserListColumns(column: number): void;
1770
1804
  setSortType(type: number): void;
1771
1805
  /**
@@ -2246,11 +2280,11 @@ declare class BMRoom {
2246
2280
  /**
2247
2281
  * 处理播放相关的逻辑
2248
2282
  * @param streamModel
2249
- * @param noPlayChanged
2250
- * @param shouldPlayBig
2283
+ * @param force
2251
2284
  */
2252
- handlePlay(streamModel: BMStreamModel, noPlayChanged: boolean, shouldPlayBig?: boolean): Promise<void>;
2253
- handlePlayInBIg(streamModel: BMStreamModel): Promise<void>;
2285
+ handlePlay(streamModel: BMStreamModel, force?: boolean): Promise<void>;
2286
+ handlePlaySmall(streamModel: BMStreamModel): void;
2287
+ handlePlayInBIg(streamModel: BMStreamModel): void;
2254
2288
  /**
2255
2289
  * 处理brtc订阅这股流失败的处理
2256
2290
  * @param streamModel
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as lodash_es from 'lodash-es';
2
2
  import * as _hysc_brtc from '@hysc/brtc';
3
- import { LocalStream, RemoteStream, Device, SubscribeOptions, VideoProfile, AudioHint } from '@hysc/brtc';
3
+ import { LocalStream, RemoteStream, Device, SubscribeOptions, VideoProfile, AudioHint, StreamCodecOption } from '@hysc/brtc';
4
4
  import BCClient, { BCUser, ShareMediaOptions, Player, AudioPlayer } from '@hysc/core';
5
5
  import { BehaviorSubject, Subject } from 'rxjs';
6
6
  import { BoomError } from '@hysc/utils';
@@ -379,11 +379,14 @@ declare class BMStreamModelVM {
379
379
  */
380
380
  localIsShare: boolean;
381
381
  isShareWatcher: Subject<boolean>;
382
+ localShareCustomStats: any;
382
383
  _speaker_enable: boolean;
383
384
  speakerEnableWatcher: BehaviorSubject<boolean>;
384
385
  /**
385
386
  * 混流
386
387
  */
388
+ mixStreamUid: string | null;
389
+ get mixStreamModel(): BMStreamModel | null | undefined;
387
390
  mixStreamModelWatcher: BehaviorSubject<BMStreamModel | null>;
388
391
  canvasTimer: NodeJS.Timeout | null;
389
392
  private _recorder;
@@ -409,12 +412,18 @@ declare class BMStreamModelVM {
409
412
  * 共享屏幕流错误
410
413
  */
411
414
  localShareError: Subject<BoomError>;
415
+ localShareEndedError: Subject<boolean>;
412
416
  /**
413
417
  * 共享屏幕流是单独处理的逻辑,不是先创建streamModel然后在去查流,而是先去查流,在创建streamModel
414
418
  */
415
419
  shareBloudStateMap: Map<string, BloudStreamEventState>;
420
+ /**
421
+ * 窗口播放事件,给到端上去做埋点
422
+ */
423
+ streamPlayWatcher: Subject<StreamPlayMessage>;
416
424
  constructor();
417
425
  private static filterStreamModels;
426
+ handleStreamPlay: (info: StreamPlayMessage) => void;
418
427
  initWithRoom(room: BMRoom): this;
419
428
  /**
420
429
  * 设置扬声器是否打开
@@ -576,7 +585,7 @@ declare class BMStreamModelVM {
576
585
  /**
577
586
  * 更新流信息 会给服务端发送updateStream信令,会收到updateStream的广播
578
587
  */
579
- updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<any> | undefined;
588
+ updateBloudStreamCustomStats(uid: string, streamId: string, streamInfo: StreamCustomInfo): Promise<void>;
580
589
  /**
581
590
  * 布局发生变化之后去调用一下这个方法去检测所有流的播放状态
582
591
  * @param {string} status tag 用于区分是什么状态下调用的
@@ -602,6 +611,9 @@ interface NoPlayerContainer {
602
611
  container: 'small' | 'big';
603
612
  id: string;
604
613
  }
614
+ interface StreamPlayMessage {
615
+ uid: string;
616
+ }
605
617
  /**
606
618
  * 播放器状态
607
619
  */
@@ -677,7 +689,7 @@ declare class BMStreamModel {
677
689
  get uuid(): string;
678
690
  get isAudience(): boolean;
679
691
  /**
680
- * 因为直播模式中,观众默认是不展示的,只有开麦以后才会展示
692
+ * 因为直播模式中,观众是不展示的
681
693
  * 所以这个地方要判断一下
682
694
  */
683
695
  get canShow(): boolean;
@@ -809,11 +821,11 @@ declare class BMStreamModel {
809
821
  /**
810
822
  * 播放当前流
811
823
  */
812
- play: () => Promise<void>;
824
+ play: (force?: boolean) => Promise<void>;
813
825
  /**
814
826
  * 在大窗口播放该流的时候调用这个方法
815
827
  */
816
- playInBig: () => Promise<void>;
828
+ playInBig: (force?: boolean) => Promise<void>;
817
829
  private initBigPlayer;
818
830
  /**
819
831
  * 停止播放当前流
@@ -946,6 +958,9 @@ declare class BMUser {
946
958
  raiseVideoHands: boolean;
947
959
  raiseAudioHands: boolean;
948
960
  raiseHand: boolean;
961
+ /**
962
+ * 观众
963
+ */
949
964
  isAudience: boolean;
950
965
  /**
951
966
  * 是不是普通参会者
@@ -1177,14 +1192,17 @@ declare class BMRoomInfo {
1177
1192
  totalUserWatcher: BehaviorSubject<number>;
1178
1193
  totalWaitRoomUserWatcher: BehaviorSubject<number>;
1179
1194
  isOpenWaitRoom: Subject<boolean>;
1180
- constructor();
1195
+ constructor(room: BMRoom);
1181
1196
  get roomName(): string;
1182
1197
  /**
1183
1198
  * 判断是不是大房间使用
1184
1199
  */
1185
1200
  get isBigRoom(): boolean;
1201
+ /**
1202
+ * 会议开始时间
1203
+ */
1204
+ get startup(): number;
1186
1205
  setup(info: any): void;
1187
- bindRoom(room: BMRoom): void;
1188
1206
  initCustomStats(customStats: any): void;
1189
1207
  updateOperationPermission(stats: any): void;
1190
1208
  private handleInitParams;
@@ -1579,7 +1597,7 @@ declare class BMLiveVM {
1579
1597
  private get localBMUser();
1580
1598
  private get localIsAudience();
1581
1599
  /**
1582
- * 拉流处理
1600
+ * 拉流处理, 观众只拉混流
1583
1601
  * @param bmStreamModel
1584
1602
  */
1585
1603
  handlePull(bmStreamModel: BMStreamModel): Promise<void>;
@@ -1597,6 +1615,7 @@ declare class BMLiveVM {
1597
1615
  * 观众允许发言,允许发言之后,要把所有的流都拉,然后混流静音
1598
1616
  */
1599
1617
  handleAudienceEnable(): Promise<void>;
1618
+ handleMixStream(mute: boolean): Promise<void>;
1600
1619
  }
1601
1620
 
1602
1621
  /**
@@ -1693,6 +1712,10 @@ declare class BMRoom {
1693
1712
  videoProfile: VideoProfile;
1694
1713
  audioProfile: AudioProfileInfo | null;
1695
1714
  voiceMode: AudioHint;
1715
+ /**
1716
+ * 视频自定义编码设置
1717
+ */
1718
+ videoEncodeConfig: StreamCodecOption | null;
1696
1719
  setVoiceMode(mode: AudioHint): void;
1697
1720
  /**
1698
1721
  * brtc断网重连要给端上事件响应,所有端上把流单独做处理的,需要在收到这个事件之后,重新处理所有的effect
@@ -1727,6 +1750,8 @@ declare class BMRoom {
1727
1750
  audioPlayer: AudioPlay;
1728
1751
  private pubFailedTimer;
1729
1752
  get isSingleColumns(): boolean;
1753
+ get localIsAudience(): boolean;
1754
+ get shouldIgnoreStream(): boolean;
1730
1755
  /**
1731
1756
  * 传递信息用的,主要是用于message信令往上层业务发送消息
1732
1757
  */
@@ -1766,6 +1791,15 @@ declare class BMRoom {
1766
1791
  * @param profile 设置视频分辨率
1767
1792
  */
1768
1793
  setVideoProfile(profile: VideoProfile): void;
1794
+ /**
1795
+ * 设置视频分辨率, 需要在入会之前调用
1796
+ * @param encodeConfig
1797
+ * @param encodeConfig.width 宽
1798
+ * @param encodeConfig.height 高
1799
+ * @param encodeConfig.biterate 码率
1800
+ * @param encodeConfig.frameRate 帧率
1801
+ */
1802
+ setCustomVideoEncodeConfig(encodeConfig: StreamCodecOption): void;
1769
1803
  setUserListColumns(column: number): void;
1770
1804
  setSortType(type: number): void;
1771
1805
  /**
@@ -2246,11 +2280,11 @@ declare class BMRoom {
2246
2280
  /**
2247
2281
  * 处理播放相关的逻辑
2248
2282
  * @param streamModel
2249
- * @param noPlayChanged
2250
- * @param shouldPlayBig
2283
+ * @param force
2251
2284
  */
2252
- handlePlay(streamModel: BMStreamModel, noPlayChanged: boolean, shouldPlayBig?: boolean): Promise<void>;
2253
- handlePlayInBIg(streamModel: BMStreamModel): Promise<void>;
2285
+ handlePlay(streamModel: BMStreamModel, force?: boolean): Promise<void>;
2286
+ handlePlaySmall(streamModel: BMStreamModel): void;
2287
+ handlePlayInBIg(streamModel: BMStreamModel): void;
2254
2288
  /**
2255
2289
  * 处理brtc订阅这股流失败的处理
2256
2290
  * @param streamModel