@hysc/meeting 1.6.15 → 1.6.16

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 (124) hide show
  1. package/esm/BMChat/BMChatVM.d.ts +24 -24
  2. package/esm/BMChat/BMMessageInfo.d.ts +27 -27
  3. package/esm/BMRoom/BMLiveVM.d.ts +35 -35
  4. package/esm/BMUser/BMUser.d.ts +147 -147
  5. package/esm/BMUser/BMUserVM.d.ts +137 -137
  6. package/esm/boom-meeting/src/BMChat/BMChatVM.d.ts +1 -1
  7. package/esm/boom-meeting/src/BMRoom/attachEvents.d.ts +4 -2
  8. package/esm/boom-meeting/src/BMStream/BMStreamModel.d.ts +1 -1
  9. package/esm/boom-meeting/src/BMUser/BMUser.d.ts +1 -1
  10. package/{umd → esm/boom-meeting/src}/BMUser/BMUserVM.d.ts +0 -0
  11. package/{umd → esm/boom-meeting/src}/constants.d.ts +0 -0
  12. package/esm/constants.d.ts +83 -83
  13. package/esm/index.js +1 -1
  14. package/esm/index.js.map +3 -3
  15. package/esm/util/emitter.d.ts +18 -18
  16. package/package.json +1 -1
  17. package/umd/boom-meeting/src/BMChat/BMChatVM.d.ts +1 -1
  18. package/umd/boom-meeting/src/BMRoom/attachEvents.d.ts +4 -2
  19. package/umd/boom-meeting/src/BMStream/BMStreamModel.d.ts +1 -1
  20. package/umd/boom-meeting/src/BMUser/BMUser.d.ts +1 -1
  21. package/umd/boom-meeting/src/BMUser/BMUserVM.d.ts +137 -0
  22. package/umd/boom-meeting/src/constants.d.ts +83 -0
  23. package/umd/index.js +1 -1
  24. package/esm/boom-meeting/src/BMRoom/BMRoomInfo.d.ts +0 -189
  25. package/esm/boom-meeting/src/BMRoom/BMRoomVM.d.ts +0 -278
  26. package/esm/boom-meeting/src/BMRoom/RoomEvent.d.ts +0 -1
  27. package/esm/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +0 -232
  28. package/esm/boom-meeting/src/bjy-common/function/debounce.d.ts +0 -9
  29. package/esm/boom-meeting/src/bjy-common/function/isDef.d.ts +0 -1
  30. package/esm/boom-meeting/src/bjy-common/function/isUndef.d.ts +0 -1
  31. package/esm/boom-meeting/src/bjy-common/function/throttling.d.ts +0 -9
  32. package/esm/boom-meeting/src/bjy-common/function/toNumber.d.ts +0 -1
  33. package/esm/boom-meeting/src/bjy-common/type/api.d.ts +0 -66
  34. package/esm/boom-meeting/src/bjy-common/type/options.d.ts +0 -7
  35. package/esm/boom-meeting/src/bjy-common/type/type.d.ts +0 -90
  36. package/esm/boom-meeting/src/bjy-common/util/NextTask.d.ts +0 -28
  37. package/esm/boom-meeting/src/bjy-common/util/Sleep.d.ts +0 -14
  38. package/esm/boom-meeting/src/bjy-common/util/Timer.d.ts +0 -13
  39. package/esm/boom-meeting/src/bjy-common/util/browser.d.ts +0 -6
  40. package/esm/boom-meeting/src/bjy-common/util/holder.d.ts +0 -6
  41. package/esm/boom-meeting/src/bjy-common/util/network.d.ts +0 -4
  42. package/esm/boom-meeting/src/bjy-common/util/os.d.ts +0 -14
  43. package/esm/boom-meeting/src/error/errorMap.d.ts +0 -70
  44. package/esm/boom-meeting/src/error/errorType.d.ts +0 -96
  45. package/esm/boom-meeting/src/logger/logger.d.ts +0 -86
  46. package/esm/boom-meeting/src/type/customStats.d.ts +0 -117
  47. package/esm/boom-meeting/src/type/index.d.ts +0 -9
  48. package/esm/boom-meeting/src/type/stream.d.ts +0 -17
  49. package/esm/boom-meeting/src/type/user.d.ts +0 -9
  50. package/esm/boom-meeting/src/types/customStats.d.ts +0 -103
  51. package/esm/boom-meeting/src/types/index.d.ts +0 -9
  52. package/esm/boom-meeting/src/types/stream.d.ts +0 -17
  53. package/esm/boom-meeting/src/types/user.d.ts +0 -11
  54. package/esm/boom-meeting/src/util/PackLoss.d.ts +0 -7
  55. package/esm/boom-meeting/src/util/Pqueue.d.ts +0 -61
  56. package/esm/boom-meeting/src/util/Privileges.d.ts +0 -20
  57. package/esm/boom-meeting/src/util/ReportCollector.d.ts +0 -22
  58. package/esm/boom-meeting/src/util/Stutter.d.ts +0 -19
  59. package/esm/boom-meeting/src/util/base64.d.ts +0 -4
  60. package/esm/boom-meeting/src/util/checkPermissions.d.ts +0 -1
  61. package/esm/boom-meeting/src/util/checkSystemRequirements.d.ts +0 -1
  62. package/esm/boom-meeting/src/util/constant.d.ts +0 -67
  63. package/esm/boom-meeting/src/util/devices.d.ts +0 -2
  64. package/esm/boom-meeting/src/util/formatUserId.d.ts +0 -2
  65. package/esm/boom-meeting/src/util/is.d.ts +0 -70
  66. package/esm/boom-meeting/src/util/peerToPeerProbe.d.ts +0 -9
  67. package/esm/boom-meeting/src/util/request.d.ts +0 -45
  68. package/esm/types/customStats.d.ts +0 -103
  69. package/esm/types/index.d.ts +0 -9
  70. package/esm/types/stream.d.ts +0 -17
  71. package/esm/types/user.d.ts +0 -11
  72. package/esm/utils/ErrorTypes.d.ts +0 -97
  73. package/umd/BMChat/BMChatVM.d.ts +0 -24
  74. package/umd/BMChat/BMMessageInfo.d.ts +0 -27
  75. package/umd/BMRoom/BMLiveVM.d.ts +0 -35
  76. package/umd/BMStream/BMSpeaker.d.ts +0 -44
  77. package/umd/BMUser/BMUser.d.ts +0 -147
  78. package/umd/boom-meeting/src/BMRoom/BMRoomInfo.d.ts +0 -189
  79. package/umd/boom-meeting/src/BMRoom/BMRoomVM.d.ts +0 -278
  80. package/umd/boom-meeting/src/BMRoom/RoomEvent.d.ts +0 -1
  81. package/umd/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +0 -232
  82. package/umd/boom-meeting/src/bjy-common/function/debounce.d.ts +0 -9
  83. package/umd/boom-meeting/src/bjy-common/function/isDef.d.ts +0 -1
  84. package/umd/boom-meeting/src/bjy-common/function/isUndef.d.ts +0 -1
  85. package/umd/boom-meeting/src/bjy-common/function/throttling.d.ts +0 -9
  86. package/umd/boom-meeting/src/bjy-common/function/toNumber.d.ts +0 -1
  87. package/umd/boom-meeting/src/bjy-common/type/api.d.ts +0 -66
  88. package/umd/boom-meeting/src/bjy-common/type/options.d.ts +0 -7
  89. package/umd/boom-meeting/src/bjy-common/type/type.d.ts +0 -90
  90. package/umd/boom-meeting/src/bjy-common/util/NextTask.d.ts +0 -28
  91. package/umd/boom-meeting/src/bjy-common/util/Sleep.d.ts +0 -14
  92. package/umd/boom-meeting/src/bjy-common/util/Timer.d.ts +0 -13
  93. package/umd/boom-meeting/src/bjy-common/util/browser.d.ts +0 -6
  94. package/umd/boom-meeting/src/bjy-common/util/holder.d.ts +0 -6
  95. package/umd/boom-meeting/src/bjy-common/util/network.d.ts +0 -4
  96. package/umd/boom-meeting/src/bjy-common/util/os.d.ts +0 -14
  97. package/umd/boom-meeting/src/error/errorMap.d.ts +0 -70
  98. package/umd/boom-meeting/src/error/errorType.d.ts +0 -96
  99. package/umd/boom-meeting/src/logger/logger.d.ts +0 -86
  100. package/umd/boom-meeting/src/type/customStats.d.ts +0 -117
  101. package/umd/boom-meeting/src/type/index.d.ts +0 -9
  102. package/umd/boom-meeting/src/type/stream.d.ts +0 -17
  103. package/umd/boom-meeting/src/type/user.d.ts +0 -9
  104. package/umd/boom-meeting/src/types/customStats.d.ts +0 -103
  105. package/umd/boom-meeting/src/types/index.d.ts +0 -9
  106. package/umd/boom-meeting/src/types/stream.d.ts +0 -17
  107. package/umd/boom-meeting/src/types/user.d.ts +0 -11
  108. package/umd/boom-meeting/src/util/PackLoss.d.ts +0 -7
  109. package/umd/boom-meeting/src/util/Pqueue.d.ts +0 -61
  110. package/umd/boom-meeting/src/util/Privileges.d.ts +0 -20
  111. package/umd/boom-meeting/src/util/ReportCollector.d.ts +0 -22
  112. package/umd/boom-meeting/src/util/Stutter.d.ts +0 -19
  113. package/umd/boom-meeting/src/util/base64.d.ts +0 -4
  114. package/umd/boom-meeting/src/util/checkPermissions.d.ts +0 -1
  115. package/umd/boom-meeting/src/util/checkSystemRequirements.d.ts +0 -1
  116. package/umd/boom-meeting/src/util/constant.d.ts +0 -67
  117. package/umd/boom-meeting/src/util/devices.d.ts +0 -2
  118. package/umd/boom-meeting/src/util/formatUserId.d.ts +0 -2
  119. package/umd/boom-meeting/src/util/is.d.ts +0 -70
  120. package/umd/boom-meeting/src/util/peerToPeerProbe.d.ts +0 -9
  121. package/umd/boom-meeting/src/util/request.d.ts +0 -45
  122. package/umd/index.js.map +0 -1
  123. package/umd/util/emitter.d.ts +0 -18
  124. package/umd/utils/ErrorTypes.d.ts +0 -97
@@ -1,189 +0,0 @@
1
- /**
2
- * @name: BMRoomInfo
3
- * @author: yangliye
4
- * @date: 2022-05-18 13:52
5
- * @description:BMRoomInfo
6
- * @update: 2022-05-18 13:52
7
- */
8
- import { BehaviorSubject, Subject } from 'rxjs';
9
- import { audioOffWatcherValue } from '../type';
10
- import BMRoom from './BMRoom';
11
- import BMUser from '../BMUser/BMUser';
12
- import { CloudRecord, FilePermission } from "./BMRoomVM";
13
- interface OperationCustomStats {
14
- /**
15
- * 是否允许点赞 0 不可用 1可用
16
- */
17
- giveLikeEnable: 0 | 1;
18
- /**
19
- * 聊天是否可以用 0 不可用 1可用 2仅主持人 3嘉宾
20
- */
21
- chatEnable: 0 | 1 | 2 | 3;
22
- /**
23
- * 上传文档权限 设置-文档上传模式 0仅主持人 1 嘉宾 2 全员
24
- */
25
- fileUpdateModel: FilePermission;
26
- /**
27
- * 文档查看权限 设置-文档查看模式 0仅主持人 1 嘉宾 2 全员
28
- */
29
- fileUpdateLook: FilePermission;
30
- /**
31
- * 文档下载权限 设置-文档下载模式 0仅主持人 1 嘉宾 2 全员
32
- */
33
- fileUpdateDown: FilePermission;
34
- /**
35
- * 文档编辑权限 设置-文档编辑模式 0仅主持人 1 嘉宾 2 全员
36
- */
37
- fileUpdateEdit: FilePermission;
38
- /**
39
- * 共享屏幕权限 设置-屏幕共享模式 0仅主持人 1全员
40
- */
41
- screenShareModel: 0 | 1;
42
- /**
43
- * 是否仅一人共享 1:是 2:否
44
- */
45
- onlyOnePersonShare: 0 | 1;
46
- /**
47
- * 云录对象
48
- * recordStatus 录制状态:0=暂未开始,1=录制中,2=申请中
49
- * userId:开启人
50
- */
51
- cloudRecord: CloudRecord;
52
- /**
53
- * 入会时麦克风权限 0全员 1嘉宾 2主持人
54
- */
55
- joinAudioEnable: 0 | 1 | 2;
56
- /**
57
- * 入会时开启摄像头权限 0全员 1嘉宾 2主持人
58
- */
59
- joinVideoEnable: 0 | 1 | 2;
60
- /**
61
- * 参会者列表权限 0全员 1嘉宾 2主持人
62
- */
63
- userListEnable: 0 | 1 | 2;
64
- /**
65
- * 会议中是否允许开启麦克风 0全员 1嘉宾 2主持人
66
- */
67
- audioEnable: 0 | 1 | 2;
68
- /**
69
- * 会议中是否允许开启摄像头 0全员 1嘉宾 2主持人
70
- */
71
- videoEnable: 0 | 1 | 2;
72
- /**
73
- * 是否允许自行改名 0全员 1嘉宾
74
- */
75
- modifyNameEnable: 0 | 1;
76
- /**
77
- * 是否允许开启虚拟背景 0全员 1嘉宾 2主持人
78
- */
79
- backgroundAIEnable: 0 | 1 | 2;
80
- }
81
- export default class BMRoomInfo {
82
- private room;
83
- /**
84
- * 房间名
85
- */
86
- private _roomName;
87
- /**
88
- * 消息序列号
89
- */
90
- msgSeq: string;
91
- /**
92
- * 房间 号
93
- */
94
- roomID: string;
95
- /**
96
- * 是否全员静音(业务端用)
97
- */
98
- audioOff: boolean;
99
- /**
100
- * 是否可以自行开启(业务端用)
101
- */
102
- selfopenaudio: boolean;
103
- /**
104
- * 是否锁定
105
- */
106
- private lock;
107
- /**
108
- * 离开提示
109
- */
110
- private leaveNotice;
111
- /**
112
- * 全员静音状态下是否允许打开麦克风
113
- * @private
114
- */
115
- private openSelf;
116
- /**
117
- * 通知公告信息
118
- */
119
- chatNotice: string;
120
- /**
121
- * 通知公告信息富文本
122
- */
123
- chatNoticeRich: string;
124
- /**
125
- * 所有的音频举手人员
126
- */
127
- private raiseHandsList;
128
- raiseHandsWatcher: BehaviorSubject<BMUser[]>;
129
- /**
130
- * 所有的视频举手的人员
131
- */
132
- private raiseVideoHandsList;
133
- raiseVideoHandsWatcher: BehaviorSubject<BMUser[]>;
134
- operationPermission: OperationCustomStats | undefined;
135
- operationPermissionWatcher: Subject<OperationCustomStats>;
136
- chatNoticeWatcher: Subject<unknown>;
137
- totalUserWatcher: BehaviorSubject<number>;
138
- constructor();
139
- get roomName(): string;
140
- /**
141
- * 判断是不是大房间使用
142
- */
143
- get isBigRoom(): boolean;
144
- setup(info: any): void;
145
- bindRoom(room: BMRoom): void;
146
- initCustomStats(customStats: any): void;
147
- updateOperationPermission(stats: any): void;
148
- private handleInitParams;
149
- audioOffWatcher: Subject<audioOffWatcherValue>;
150
- lockWatcher: BehaviorSubject<boolean>;
151
- leaveNoticeWatcher: BehaviorSubject<boolean>;
152
- openSelfWatcher: BehaviorSubject<boolean>;
153
- /**
154
- * 设置是否全员静音
155
- * @param audioOff
156
- * @param selfopenaudio 是否可以自行开启
157
- */
158
- setAudioOff(audioOff: boolean, selfopenaudio: boolean): void;
159
- /**
160
- * 设置是否锁定
161
- * @param lock
162
- */
163
- setlock(lock: boolean): void;
164
- setLeaveNotice(leaveNotice: boolean): void;
165
- setRaiseHandsList(userList: BMUser[]): void;
166
- /**
167
- * 音频举手处理
168
- * @param user
169
- */
170
- addRaiseHandUser(user: BMUser): void;
171
- /**
172
- * 取消音频举手处理
173
- * @param user
174
- */
175
- removeRaiseHandUser(user: BMUser): void;
176
- /**
177
- * 视频举手处理
178
- * @param user
179
- */
180
- addVideoRaiseHandUser(user: BMUser): void;
181
- /**
182
- * 取消视频举手处理
183
- * @param user
184
- */
185
- removeVideoRaiseHandUser(user: BMUser): void;
186
- private setRaiseHandsWatcherValue;
187
- private setVideoRaiseHandsWatcherValue;
188
- }
189
- export {};
@@ -1,278 +0,0 @@
1
- import BoomCore from "@boom/core/esm";
2
- import BMRoom from "./BMRoom";
3
- import BMUserVM from "../BMUser/BMUserVM";
4
- import BMRoomInfo from "./BMRoomInfo";
5
- import { HostLayout } from "../type/customStats";
6
- import { Subject } from "rxjs";
7
- /**
8
- * 0 仅支持人 1 嘉宾 2 全员
9
- */
10
- export declare type FilePermission = 0 | 1 | 2;
11
- declare type giveLikeItem = {
12
- userId: string | undefined;
13
- nickName: string | undefined;
14
- time: number;
15
- };
16
- export declare type CloudRecord = {
17
- recordStatus: 0 | 1 | 2;
18
- userId: string;
19
- };
20
- declare type SupportVideoProfile = '180p' | '240p' | '360p' | '480p' | '720p';
21
- declare type SampleDeviceInfo = {
22
- name: string;
23
- };
24
- interface DeviceList {
25
- microphoneDeviceList: SampleDeviceInfo[];
26
- speakerDeviceList: SampleDeviceInfo[];
27
- videoDeviceList: SampleDeviceInfo[];
28
- selectVideoDevice: SampleDeviceInfo;
29
- selectMicrophoneDevice: SampleDeviceInfo;
30
- selectSpeakerDevice: SampleDeviceInfo;
31
- videoProfile: SupportVideoProfile;
32
- echoCancellation: boolean;
33
- noiseSuppression: boolean;
34
- autoGainControl: boolean;
35
- speakerVolume: number;
36
- }
37
- export interface AudioProfileInfo {
38
- /**
39
- * 音频采集设备
40
- */
41
- microphoneDevice?: SampleDeviceInfo;
42
- /**
43
- * 音频输出设备
44
- */
45
- speakerDevice?: SampleDeviceInfo;
46
- /**
47
- * 回音消除
48
- */
49
- echoCancellation?: boolean;
50
- /**
51
- * 音频降噪
52
- */
53
- noiseSuppression?: boolean;
54
- /**
55
- * 声音增益
56
- */
57
- autoGainControl?: boolean;
58
- /**
59
- * 调整扬声器音量 0 - 100
60
- */
61
- speakerVolume?: number;
62
- }
63
- export default class BMRoomVM {
64
- roomInfo: BMRoomInfo;
65
- boomCore: BoomCore;
66
- userVM: BMUserVM;
67
- giveLikeListWatcher: Subject<Array<giveLikeItem>>;
68
- giveLikeList: Array<giveLikeItem>;
69
- private room;
70
- tipQueueObj: any;
71
- constructor(boomCore: BoomCore, userVM: any, roomInfo: BMRoomInfo);
72
- initWithRoom(room: BMRoom): void;
73
- /**
74
- * 踢出用户
75
- * @param {String} userId 用户ID
76
- * @param {boolean} withoutBlack
77
- */
78
- evictUser(userId: string, withoutBlack: boolean): Promise<any>;
79
- /**
80
- * 更新用户信息,端上会收到 participant-update 信令
81
- * @param userId
82
- * @param info
83
- */
84
- updateUser(userId: string, info: any): Promise<undefined>;
85
- /**
86
- * 改变主持人
87
- * @param {String} userId 用户ID
88
- * @param isKeep
89
- */
90
- changeMaster(userId: string, isKeep: boolean): Promise<any>;
91
- updateManager(userId: string, status: boolean): Promise<import("../BMUser/BMUser").default>;
92
- /**
93
- * 改变昵称 需要调用http请求
94
- * @param {String} userId 用户ID
95
- * @param {String} nickName 用户ID
96
- */
97
- changeNickName(userId: string, nickName: string): Promise<any>;
98
- /**
99
- * 主持人send-message
100
- * @param message 发送的消息
101
- * @param uid 指定的userId
102
- */
103
- sendMessageWithMaster(message: any, uid?: string): Promise<undefined>;
104
- /**
105
- * 开关对端麦克风-信令发送
106
- * @param status true:开,false:关
107
- * @param uid 用户id
108
- */
109
- setRemoteAudioEnable(status: boolean, uid: string): Promise<void>;
110
- /**
111
- * 开关对端摄像头-信令发送
112
- * @param status true:开,false:关
113
- * @param uid 用户id
114
- */
115
- setRemoteVideoEnable(status: boolean, uid: string): Promise<void>;
116
- /**
117
- * 关闭对端共享屏幕
118
- * @param uid 用户id
119
- */
120
- closeRemoteShare(uid: string): Promise<void>;
121
- /**
122
- * 提醒用户
123
- * @param uid 用户id
124
- * @param uid msg
125
- */
126
- tipUser(uid: string, msg: string, richMsg: object, time: any): Promise<undefined>;
127
- /**
128
- * 举手相关操作
129
- * @param type 视频还是音频举手 audio/video
130
- * @param raise 举手还是放下举手 true/false
131
- */
132
- raiseHands(type: 'audio' | 'video', raise: boolean): Promise<void>;
133
- /**
134
- * 主持人处理举手操作
135
- * @param raiseHandsType 0 音视频 1 音频 2 视频
136
- * @param raiseHands true 同意 false 拒绝
137
- * @param uid 指定的用户Id
138
- * @description 如果不指定用户ID就是广播处理所有的举手的人员
139
- */
140
- handleRaiseHands(raiseHandsType: 0 | 1 | 2, raiseHands: boolean, uid?: string): Promise<undefined>;
141
- /**
142
- * 更新自定义属性 updateCustomStats
143
- * @param stats
144
- */
145
- private updateCustomStats;
146
- /**
147
- * 发送聊天公告
148
- * @param notice
149
- */
150
- sendChatNotice(notice: string, richNotice: object): Promise<void>;
151
- /**
152
- * 是否允许点赞
153
- * @param enable 0 不允许 1 允许
154
- */
155
- giveLikeEnable(enable: 0 | 1): Promise<void>;
156
- /**
157
- * 观众点赞(走sendMessage)
158
- */
159
- userGiveLike(): Promise<void>;
160
- /**
161
- * 聊天是否可用
162
- * @param enable 0 不允许 1 允许 2仅主持人 3嘉宾
163
- */
164
- chatEnable(enable: 0 | 1 | 2 | 3): Promise<void>;
165
- /**
166
- * 入会时是否允许开启麦克风
167
- * @param enable 0全员 1嘉宾 2仅主持人 3全员禁止
168
- */
169
- joinAudioEnable(enable: 0 | 1 | 2 | 3): Promise<void>;
170
- /**
171
- * 入会时是否允许开启摄像头
172
- * @param enable 0全员 1嘉宾 2仅主持人 3全员禁止
173
- */
174
- joinVideoEnable(enable: 0 | 1 | 2 | 3): Promise<void>;
175
- /**
176
- * 参会者列表权限
177
- * @param enable 0全员 1嘉宾 2仅主持人
178
- */
179
- userListEnable(enable: 0 | 1 | 2): Promise<void>;
180
- /**
181
- * 会议中是否允许开麦克风
182
- * @param enable 0全员 1嘉宾 2仅主持人
183
- */
184
- audioEnable(enable: 0 | 1 | 2): Promise<void>;
185
- /**
186
- * 会议中是否允许开启摄像头
187
- * @param enable 0全员 1嘉宾 2仅主持人
188
- */
189
- videoEnable(enable: 0 | 1 | 2): Promise<void>;
190
- /**
191
- * 是否允许自行改名
192
- * @param enable 0全员 1嘉宾
193
- */
194
- modifyNameEnable(enable: 0 | 1 | 2): Promise<void>;
195
- /**
196
- * 是否允许开启虚拟背景
197
- * @param enable 0全员 1嘉宾 2仅主持人
198
- */
199
- backgroundAIEnable(enable: 0 | 1 | 2): Promise<void>;
200
- /**
201
- * 强制开启对方视频
202
- * @param enable true开启 false关闭
203
- */
204
- forceOpenUserCamera(enable: true | false): Promise<void>;
205
- /**
206
- * 强制开启对方音频
207
- * @param enable true开启 false关闭
208
- */
209
- forceOpenUserMic(enable: true | false): Promise<void>;
210
- /**
211
- * 是否全员可录制
212
- * @param enable 0全员 1嘉宾 2仅主持人
213
- */
214
- recordEnable(enable: 0 | 1 | 2): Promise<void>;
215
- /**
216
- * 入会麦克风禁用
217
- * @param enable 0全员禁止使用 1嘉宾和学员不可使用 2不开启
218
- */
219
- joinMicrophoneDisable(enable: 0 | 1 | 2): Promise<void>;
220
- /**
221
- * 入会摄像头禁用
222
- * @param enable 0全员禁止使用 1嘉宾和学员不可使用 2不开启
223
- */
224
- joinCameraDisable(enable: 0 | 1 | 2): Promise<void>;
225
- /**
226
- * 上传文档权限
227
- * @param permission 0 仅支持人 1 嘉宾 2 全员
228
- */
229
- changeFileUpdateModelPermission(permission: FilePermission): Promise<void>;
230
- changeFileUpdateLookPermission(permission: FilePermission): Promise<void>;
231
- changeFileUpdateDownPermission(permission: FilePermission): Promise<void>;
232
- changeFileUpdateEditPermission(permission: FilePermission): Promise<void>;
233
- /**
234
- * 共享屏幕权限
235
- * @param permission 0全员可共享 1允许嘉宾共享 2仅主持人可共享
236
- */
237
- changeScreenShareModelPermission(permission: 0 | 1 | 2): Promise<void>;
238
- /**
239
- * 设为焦点主屏
240
- * @param {string} userid 设为焦点主屏的userId
241
- */
242
- setForceOnUser(userid: string): Promise<void>;
243
- /**
244
- * 主持人上报布局状态
245
- * @param layoutData
246
- */
247
- updateHostLayout(layoutData: HostLayout): Promise<void>;
248
- checkDevices(userId: string): Promise<void>;
249
- resp2CheckDevices(deviceList: DeviceList, userId: string): Promise<void>;
250
- /**
251
- * 调节对方的视频分辨率
252
- * @param {SupportVideoProfile} videoInfo 调节对方视频信息
253
- * @param {string} userId
254
- */
255
- changeRemoteVideoProfile(videoInfo: {
256
- profile: SupportVideoProfile;
257
- videoDevice: SampleDeviceInfo;
258
- }, userId: string): Promise<any>;
259
- /**
260
- * 设置完本地的视频分辨率之后,给对方响应
261
- * @param {boolean} status 设置是否成功
262
- * @param {string} userId
263
- */
264
- resp2ChangeRemoteVideoProfile(status: boolean, userId: string): Promise<any>;
265
- /**
266
- * 调节远端的音频参数
267
- * @param {Object} profileInfo
268
- * @param uid
269
- */
270
- changeRemoteAudioProfile(profileInfo: AudioProfileInfo, uid: string): Promise<any>;
271
- /**
272
- * 响应调节远端音频的结果
273
- * @param status
274
- * @param uid
275
- */
276
- resp2ChangeRemoteAudioProfile(status: boolean, uid: string): Promise<any>;
277
- }
278
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,232 +0,0 @@
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 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 '@boom/core/esm/BoomAdapter/type/value';
23
- import BMSpeaker from './BMSpeaker';
24
- import { ShareMediaOptions } from "@boom/core/esm/BoomCore/BCClient/BCClient";
25
- import { getHTMLMediaStreamOptions, Result, getMediaStreamInfo } from "./getHTMLMediaStreamOptions";
26
- /**
27
- * 全量的brtc流记录,把所有brtc用户推的流都做记录
28
- * stream-added 的时候添加
29
- * stream-removed 的时候删除
30
- * mute/unmute-video/audio 的时候更新流
31
- * 当用户进来的时候,去查看这个流对象,如果流存在,就给这个人添加流
32
- *
33
- */
34
- export declare const BRTCStreamMap: Map<string, import("@boom/core/esm/BoomAdapter/singleMode/stream/RemoteStream").default>;
35
- export declare const BRTCShareStreamMap: Map<string, import("@boom/core/esm/BoomAdapter/singleMode/stream/RemoteStream").default>;
36
- export default class BMStreamModelVM {
37
- streamModels: Map<string, BMStreamModel>;
38
- /**
39
- * 因为投屏码用户进来以后,他是不在小窗口展示的,所以要把投屏的用户过滤掉给业务的展示
40
- */
41
- streamModelsWatcher: BehaviorSubject<BMStreamModel[]>;
42
- shareStreamModels: Map<string, BMStreamModel>;
43
- shareStreamModelsWatcher: BehaviorSubject<BMStreamModel[]>;
44
- localModel: BMStreamModel | null;
45
- private room;
46
- bloudStream: any;
47
- audioStream: SingleLocalStream | undefined;
48
- brtcStream: SingleLocalStream | undefined;
49
- /**
50
- * 本地是否在屏幕共享
51
- */
52
- localIsShare: boolean;
53
- _speaker_enable: boolean;
54
- speakerEnableWatcher: BehaviorSubject<boolean>;
55
- /**
56
- * 混流
57
- */
58
- mixStreamModelWatcher: BehaviorSubject<BMStreamModel | null>;
59
- isShareWatcher: Subject<boolean>;
60
- canvasTimer: NodeJS.Timeout | null;
61
- /**
62
- * 后面打开摄像头存储的流,主要是关闭摄像头的时候得把它清除掉
63
- */
64
- videoStream: SingleLocalStream | null;
65
- private _recorder;
66
- private _isRecording;
67
- private _slicingRecord;
68
- isRecordingWatcher: BehaviorSubject<boolean>;
69
- private _speaker;
70
- private _speakerDetector;
71
- private _speakers;
72
- speakerWatcher: BehaviorSubject<BMUser | null>;
73
- constructor();
74
- private static filterStreamModels;
75
- initWithRoom(room: BMRoom): this;
76
- /**
77
- * 设置扬声器是否打开
78
- * @param enable
79
- * @private
80
- */
81
- private setSpeakerEnable;
82
- getStreamModels(): Array<BMStreamModel>;
83
- /**
84
- * 获取streamModel
85
- * @param userId 用户Id
86
- * @returns
87
- */
88
- getStreamModelByUId(userId: string): BMStreamModel | undefined;
89
- getShareStreamModelByUId(userId: string): BMStreamModel | undefined;
90
- getLocalStreamModel(): BMStreamModel | null;
91
- createStreamModel(user: BMUser, stream?: SingleStream): BMStreamModel;
92
- addStreamModel(streamModel: BMStreamModel): void;
93
- addShareStreamModel(streamModel: BMStreamModel): void;
94
- removeStreamModel(streamModel: BMStreamModel): void;
95
- removeShareStreamModel(streamModel: BMStreamModel): void;
96
- /**`
97
- * 通过用户id删除streamModel
98
- * @param userId
99
- * @returns
100
- */
101
- removeStreamModelByUId(userId: string): BMStreamModel | undefined;
102
- remoteStreamPublished(stream: SingleRemoteStream): void;
103
- /**
104
- * 有人取消流触发,有人取消流之后brtc底层会把流销毁掉,除了流Id和userId,其他的信息都不稳定能取到
105
- * @param stream
106
- * @returns
107
- */
108
- remoteStreamUnpublished(stream: SingleRemoteStream): BMStreamModel | undefined;
109
- sortStreamModels(): BMStreamModel[];
110
- updateStreamModel(streamModel: BMStreamModel, stream: SingleStream): void;
111
- updateShareStreamModel(streamModel: BMStreamModel, stream: SingleStream): void;
112
- /**
113
- * 开关本地摄像头
114
- * @param status true:开,false:关
115
- * @param videoTrack 开启美颜之后,需要传递这个参数,携带美颜之后的videoTrack
116
- */
117
- setLocalVideoEnable(status: boolean, videoTrack?: MediaStreamTrack): Promise<undefined>;
118
- /**
119
- * 开关本地麦克风
120
- * @param status true:开,false:关
121
- */
122
- setLocalAudioEnable(status: boolean): Promise<undefined>;
123
- /**
124
- * 该方法只是在入会的时候,同时开启音频和视频的时候使用,其他时候禁止使用该方法
125
- * 切换音频和视频状态请使用 setLocalAudioEnable 和 setLocalVideoEnable
126
- * @param audio
127
- * @param video
128
- */
129
- joinWithAudioAndAudio(audio: boolean, video: boolean): Promise<undefined>;
130
- /**
131
- * 切换扬声器
132
- * @param device
133
- */
134
- changeSpeaker(device: Device): Promise<void>;
135
- /**
136
- * 设置单个流的扬声器
137
- * @param streamModel
138
- */
139
- changeSingleStreamSpeaker(streamModel: BMStreamModel): Promise<void>;
140
- changeAudioInput(device: Device): Promise<void>;
141
- changeVideoInput(device: Device): Promise<void>;
142
- /**
143
- * 是否静音扬声器
144
- * @param enable
145
- */
146
- muteSpeaker(enable: boolean): Promise<undefined>;
147
- /**
148
- * 创建流并且发布
149
- * @param audio 是否发布音频流
150
- * @param video 是否发布视频流
151
- * @param localModel 本地的streamModel
152
- * @private
153
- */
154
- private createStreamAndPublish;
155
- /**
156
- * 更改音视频状态或者取消发布
157
- * @param type 更改类型
158
- * @param mute 是否取消发布
159
- * @param localModel 本地的streamModel
160
- * @private
161
- */
162
- private muteOrUnpublishStream;
163
- /**
164
- * 是否开启屏幕共享
165
- * @param enable
166
- * @param opts 开启屏幕共享参数
167
- * @param customShare
168
- * @param opts.audio 是否开启音频
169
- * @param opts.source_name Electron 下窗口名称
170
- * @param opts.width 共享屏幕宽度
171
- * @param opts.height 共享屏幕高度
172
- * @param opts.contentHint 视频的contentHint 可选值: '' | 'motion' | 'detail' | 'text'
173
- */
174
- toggleShareScreen(enable: boolean, opts: any, customShare?: Result): Promise<unknown>;
175
- setShareScreenContentHint(contentHint: '' | 'motion' | 'detail' | 'text'): Promise<void>;
176
- /**
177
- * 排序变化之后的处理逻辑
178
- */
179
- updateSort: any;
180
- /**
181
- * 创建canvas,目的是为了捕获空track流,给brtc使用
182
- */
183
- createCanvas(): void;
184
- private canvasDisplay;
185
- private static getCanvasStream;
186
- private createVideoStream;
187
- /**
188
- * 启动录制
189
- * @param {String} opts.filename - 录制文件名
190
- * @param {Object} opts.capture - 采集属性
191
- * @param {Number} opts.capture.width - 宽度
192
- * @param {Number} opts.capture.height - 高度
193
- * @param {Number} opts.capture.fps - 帧率
194
- * @param {Number} opts.record - 编码属性
195
- * @param {Number} opts.record.bitrate - 编码码率
196
- * @param {String|undefined} opts.record.format - 编码格式
197
- * @return {boolean}
198
- */
199
- startRecord(opts: any): Promise<boolean | undefined>;
200
- /**
201
- * 添加流对象到录制器,用于音频轨道录制
202
- * @param stream
203
- */
204
- addToRecorder(stream: any): void;
205
- /**
206
- * 从录制器中删除流对象
207
- * @param stream
208
- */
209
- removeFromRecorder(stream: any): void;
210
- /**
211
- * 停止录制
212
- */
213
- stopRecord(): Promise<void>;
214
- /**
215
- * 启用下一个录制分片
216
- * @param filename - 下一分片文件名
217
- */
218
- sliceRecord(filename: string): Promise<boolean | undefined>;
219
- /**
220
- * 启动说话人检测器
221
- */
222
- startSpeakerDetector(): void;
223
- addToDetector(speaker: BMSpeaker): void;
224
- removeFromDetector(speakerId: string): void;
225
- shareCustomMedia(enable: boolean, shareOptions: ShareMediaOptions): Promise<undefined>;
226
- /**
227
- * 根据videoElement 获取内部流数据
228
- */
229
- getHTMLMediaStream: typeof getHTMLMediaStreamOptions;
230
- getMediaStream: typeof getMediaStreamInfo;
231
- clearCache(): void;
232
- }