@hysc/meeting 0.1.0

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 (214) hide show
  1. package/esm/BMChat/BMChatVM.d.ts +24 -0
  2. package/esm/BMChat/BMMessageInfo.d.ts +27 -0
  3. package/esm/BMRoom/BMLiveVM.d.ts +35 -0
  4. package/esm/BMRoom/BMRoom.d.ts +622 -0
  5. package/esm/BMRoom/BMRoomInfo.d.ts +189 -0
  6. package/esm/BMRoom/BMRoomVM.d.ts +283 -0
  7. package/esm/BMRoom/RoomEvent.d.ts +1 -0
  8. package/esm/BMRoom/attachEvents.d.ts +27 -0
  9. package/esm/BMStream/BMSpeaker.d.ts +44 -0
  10. package/esm/BMStream/BMStreamModel.d.ts +248 -0
  11. package/esm/BMStream/BMStreamModelVM.d.ts +233 -0
  12. package/esm/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
  13. package/esm/BMUser/BMUser.d.ts +147 -0
  14. package/esm/BMUser/BMUserVM.d.ts +137 -0
  15. package/esm/bjy-common/function/debounce.d.ts +9 -0
  16. package/esm/bjy-common/function/execute.d.ts +9 -0
  17. package/esm/bjy-common/function/isDef.d.ts +1 -0
  18. package/esm/bjy-common/function/isNative.d.ts +1 -0
  19. package/esm/bjy-common/function/isUndef.d.ts +1 -0
  20. package/esm/bjy-common/function/nextTick.d.ts +2 -0
  21. package/esm/bjy-common/function/throttling.d.ts +9 -0
  22. package/esm/bjy-common/function/toNumber.d.ts +1 -0
  23. package/esm/bjy-common/function/toString.d.ts +1 -0
  24. package/esm/bjy-common/type/api.d.ts +66 -0
  25. package/esm/bjy-common/type/options.d.ts +7 -0
  26. package/esm/bjy-common/type/type.d.ts +90 -0
  27. package/esm/bjy-common/util/CustomEvent.d.ts +30 -0
  28. package/esm/bjy-common/util/Emitter.d.ts +57 -0
  29. package/esm/bjy-common/util/NextTask.d.ts +28 -0
  30. package/esm/bjy-common/util/Sleep.d.ts +14 -0
  31. package/esm/bjy-common/util/Timer.d.ts +13 -0
  32. package/esm/bjy-common/util/array.d.ts +96 -0
  33. package/esm/bjy-common/util/browser.d.ts +6 -0
  34. package/esm/bjy-common/util/constant.d.ts +50 -0
  35. package/esm/bjy-common/util/holder.d.ts +6 -0
  36. package/esm/bjy-common/util/is.d.ts +49 -0
  37. package/esm/bjy-common/util/keypath.d.ts +41 -0
  38. package/esm/bjy-common/util/logger.d.ts +42 -0
  39. package/esm/bjy-common/util/network.d.ts +4 -0
  40. package/esm/bjy-common/util/object.d.ts +83 -0
  41. package/esm/bjy-common/util/os.d.ts +14 -0
  42. package/esm/bjy-common/util/string.d.ts +102 -0
  43. package/esm/boom-meeting/src/BMChat/BMChatVM.d.ts +21 -0
  44. package/esm/boom-meeting/src/BMChat/BMMessageInfo.d.ts +27 -0
  45. package/esm/boom-meeting/src/BMRoom/BMLiveVM.d.ts +35 -0
  46. package/esm/boom-meeting/src/BMRoom/BMRoomInfo.d.ts +147 -0
  47. package/esm/boom-meeting/src/BMRoom/RoomEvent.d.ts +1 -0
  48. package/esm/boom-meeting/src/BMStream/BMSpeaker.d.ts +44 -0
  49. package/esm/boom-meeting/src/BMStream/BMStreamModel.d.ts +248 -0
  50. package/esm/boom-meeting/src/BMStream/BMStreamModelVM.d.ts +213 -0
  51. package/esm/boom-meeting/src/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
  52. package/esm/boom-meeting/src/BMUser/BMUser.d.ts +147 -0
  53. package/esm/boom-meeting/src/BMUser/BMUserVM.d.ts +111 -0
  54. package/esm/boom-meeting/src/bjy-common/function/debounce.d.ts +9 -0
  55. package/esm/boom-meeting/src/bjy-common/function/execute.d.ts +9 -0
  56. package/esm/boom-meeting/src/bjy-common/function/isDef.d.ts +1 -0
  57. package/esm/boom-meeting/src/bjy-common/function/isNative.d.ts +1 -0
  58. package/esm/boom-meeting/src/bjy-common/function/isUndef.d.ts +1 -0
  59. package/esm/boom-meeting/src/bjy-common/function/nextTick.d.ts +2 -0
  60. package/esm/boom-meeting/src/bjy-common/function/throttling.d.ts +9 -0
  61. package/esm/boom-meeting/src/bjy-common/function/toNumber.d.ts +1 -0
  62. package/esm/boom-meeting/src/bjy-common/function/toString.d.ts +1 -0
  63. package/esm/boom-meeting/src/bjy-common/type/api.d.ts +66 -0
  64. package/esm/boom-meeting/src/bjy-common/type/options.d.ts +7 -0
  65. package/esm/boom-meeting/src/bjy-common/type/type.d.ts +90 -0
  66. package/esm/boom-meeting/src/bjy-common/util/CustomEvent.d.ts +30 -0
  67. package/esm/boom-meeting/src/bjy-common/util/Emitter.d.ts +57 -0
  68. package/esm/boom-meeting/src/bjy-common/util/NextTask.d.ts +28 -0
  69. package/esm/boom-meeting/src/bjy-common/util/Sleep.d.ts +14 -0
  70. package/esm/boom-meeting/src/bjy-common/util/Timer.d.ts +13 -0
  71. package/esm/boom-meeting/src/bjy-common/util/array.d.ts +96 -0
  72. package/esm/boom-meeting/src/bjy-common/util/browser.d.ts +6 -0
  73. package/esm/boom-meeting/src/bjy-common/util/constant.d.ts +50 -0
  74. package/esm/boom-meeting/src/bjy-common/util/holder.d.ts +6 -0
  75. package/esm/boom-meeting/src/bjy-common/util/is.d.ts +49 -0
  76. package/esm/boom-meeting/src/bjy-common/util/keypath.d.ts +41 -0
  77. package/esm/boom-meeting/src/bjy-common/util/logger.d.ts +42 -0
  78. package/esm/boom-meeting/src/bjy-common/util/network.d.ts +4 -0
  79. package/esm/boom-meeting/src/bjy-common/util/object.d.ts +83 -0
  80. package/esm/boom-meeting/src/bjy-common/util/os.d.ts +14 -0
  81. package/esm/boom-meeting/src/bjy-common/util/string.d.ts +102 -0
  82. package/esm/boom-meeting/src/constants.d.ts +83 -0
  83. package/esm/boom-meeting/src/error/errorMap.d.ts +70 -0
  84. package/esm/boom-meeting/src/error/errorType.d.ts +96 -0
  85. package/esm/boom-meeting/src/logger/logger.d.ts +86 -0
  86. package/esm/boom-meeting/src/type/customStats.d.ts +117 -0
  87. package/esm/boom-meeting/src/type/index.d.ts +9 -0
  88. package/esm/boom-meeting/src/type/stream.d.ts +17 -0
  89. package/esm/boom-meeting/src/type/user.d.ts +9 -0
  90. package/esm/boom-meeting/src/types/customStats.d.ts +103 -0
  91. package/esm/boom-meeting/src/types/index.d.ts +9 -0
  92. package/esm/boom-meeting/src/types/stream.d.ts +17 -0
  93. package/esm/boom-meeting/src/types/user.d.ts +11 -0
  94. package/esm/boom-meeting/src/util/PackLoss.d.ts +7 -0
  95. package/esm/boom-meeting/src/util/Privileges.d.ts +20 -0
  96. package/esm/boom-meeting/src/util/ReportCollector.d.ts +22 -0
  97. package/esm/boom-meeting/src/util/Stutter.d.ts +19 -0
  98. package/esm/boom-meeting/src/util/base64.d.ts +4 -0
  99. package/esm/boom-meeting/src/util/checkPermissions.d.ts +1 -0
  100. package/esm/boom-meeting/src/util/checkSystemRequirements.d.ts +1 -0
  101. package/esm/boom-meeting/src/util/devices.d.ts +2 -0
  102. package/esm/boom-meeting/src/util/emitter.d.ts +18 -0
  103. package/esm/boom-meeting/src/util/formatUserId.d.ts +2 -0
  104. package/esm/boom-meeting/src/util/is.d.ts +70 -0
  105. package/esm/boom-meeting/src/util/peerToPeerProbe.d.ts +9 -0
  106. package/esm/boom-meeting/src/util/request.d.ts +45 -0
  107. package/esm/boom-meeting/src/util/roomUtils.d.ts +9 -0
  108. package/esm/boom-meeting/src/util/util.d.ts +76 -0
  109. package/esm/constants.d.ts +83 -0
  110. package/esm/error/RTCError.d.ts +20 -0
  111. package/esm/error/errorMap.d.ts +70 -0
  112. package/esm/error/errorType.d.ts +96 -0
  113. package/esm/index.d.ts +2 -0
  114. package/esm/index.js +60529 -0
  115. package/esm/index.js.map +7 -0
  116. package/esm/logger/logger.d.ts +86 -0
  117. package/esm/type/customStats.d.ts +117 -0
  118. package/esm/type/index.d.ts +9 -0
  119. package/esm/type/stream.d.ts +17 -0
  120. package/esm/type/user.d.ts +9 -0
  121. package/esm/types/customStats.d.ts +103 -0
  122. package/esm/types/index.d.ts +9 -0
  123. package/esm/types/stream.d.ts +17 -0
  124. package/esm/types/user.d.ts +11 -0
  125. package/esm/util/PackLoss.d.ts +7 -0
  126. package/esm/util/Pqueue.d.ts +61 -0
  127. package/esm/util/Privileges.d.ts +20 -0
  128. package/esm/util/ReportCollector.d.ts +22 -0
  129. package/esm/util/Stutter.d.ts +19 -0
  130. package/esm/util/base64.d.ts +4 -0
  131. package/esm/util/checkPermissions.d.ts +1 -0
  132. package/esm/util/checkSystemRequirements.d.ts +1 -0
  133. package/esm/util/constant.d.ts +67 -0
  134. package/esm/util/devices.d.ts +2 -0
  135. package/esm/util/emitter.d.ts +18 -0
  136. package/esm/util/formatUserId.d.ts +2 -0
  137. package/esm/util/is.d.ts +70 -0
  138. package/esm/util/peerToPeerProbe.d.ts +9 -0
  139. package/esm/util/request.d.ts +45 -0
  140. package/esm/util/roomUtils.d.ts +9 -0
  141. package/esm/util/util.d.ts +76 -0
  142. package/esm/utils/ErrorTypes.d.ts +97 -0
  143. package/package.json +36 -0
  144. package/umd/BMChat/BMChatVM.d.ts +24 -0
  145. package/umd/BMRoom/BMRoom.d.ts +622 -0
  146. package/umd/BMRoom/BMRoomInfo.d.ts +189 -0
  147. package/umd/BMRoom/BMRoomVM.d.ts +283 -0
  148. package/umd/BMRoom/attachEvents.d.ts +27 -0
  149. package/umd/BMStream/BMStreamModelVM.d.ts +233 -0
  150. package/umd/BMUser/BMUser.d.ts +147 -0
  151. package/umd/BMUser/BMUserVM.d.ts +137 -0
  152. package/umd/boom-meeting/src/BMChat/BMMessageInfo.d.ts +27 -0
  153. package/umd/boom-meeting/src/BMRoom/BMLiveVM.d.ts +35 -0
  154. package/umd/boom-meeting/src/BMRoom/RoomEvent.d.ts +1 -0
  155. package/umd/boom-meeting/src/BMStream/BMSpeaker.d.ts +44 -0
  156. package/umd/boom-meeting/src/BMStream/BMStreamModel.d.ts +248 -0
  157. package/umd/boom-meeting/src/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
  158. package/umd/boom-meeting/src/bjy-common/function/debounce.d.ts +9 -0
  159. package/umd/boom-meeting/src/bjy-common/function/execute.d.ts +9 -0
  160. package/umd/boom-meeting/src/bjy-common/function/isDef.d.ts +1 -0
  161. package/umd/boom-meeting/src/bjy-common/function/isNative.d.ts +1 -0
  162. package/umd/boom-meeting/src/bjy-common/function/isUndef.d.ts +1 -0
  163. package/umd/boom-meeting/src/bjy-common/function/nextTick.d.ts +2 -0
  164. package/umd/boom-meeting/src/bjy-common/function/throttling.d.ts +9 -0
  165. package/umd/boom-meeting/src/bjy-common/function/toNumber.d.ts +1 -0
  166. package/umd/boom-meeting/src/bjy-common/function/toString.d.ts +1 -0
  167. package/umd/boom-meeting/src/bjy-common/type/api.d.ts +66 -0
  168. package/umd/boom-meeting/src/bjy-common/type/options.d.ts +7 -0
  169. package/umd/boom-meeting/src/bjy-common/type/type.d.ts +90 -0
  170. package/umd/boom-meeting/src/bjy-common/util/CustomEvent.d.ts +30 -0
  171. package/umd/boom-meeting/src/bjy-common/util/Emitter.d.ts +57 -0
  172. package/umd/boom-meeting/src/bjy-common/util/NextTask.d.ts +28 -0
  173. package/umd/boom-meeting/src/bjy-common/util/Sleep.d.ts +14 -0
  174. package/umd/boom-meeting/src/bjy-common/util/Timer.d.ts +13 -0
  175. package/umd/boom-meeting/src/bjy-common/util/array.d.ts +96 -0
  176. package/umd/boom-meeting/src/bjy-common/util/browser.d.ts +6 -0
  177. package/umd/boom-meeting/src/bjy-common/util/constant.d.ts +50 -0
  178. package/umd/boom-meeting/src/bjy-common/util/holder.d.ts +6 -0
  179. package/umd/boom-meeting/src/bjy-common/util/is.d.ts +49 -0
  180. package/umd/boom-meeting/src/bjy-common/util/keypath.d.ts +41 -0
  181. package/umd/boom-meeting/src/bjy-common/util/logger.d.ts +42 -0
  182. package/umd/boom-meeting/src/bjy-common/util/network.d.ts +4 -0
  183. package/umd/boom-meeting/src/bjy-common/util/object.d.ts +83 -0
  184. package/umd/boom-meeting/src/bjy-common/util/os.d.ts +14 -0
  185. package/umd/boom-meeting/src/bjy-common/util/string.d.ts +102 -0
  186. package/umd/boom-meeting/src/constants.d.ts +83 -0
  187. package/umd/boom-meeting/src/error/errorMap.d.ts +70 -0
  188. package/umd/boom-meeting/src/type/customStats.d.ts +117 -0
  189. package/umd/boom-meeting/src/type/index.d.ts +9 -0
  190. package/umd/boom-meeting/src/type/stream.d.ts +17 -0
  191. package/umd/boom-meeting/src/type/user.d.ts +9 -0
  192. package/umd/boom-meeting/src/util/PackLoss.d.ts +7 -0
  193. package/umd/boom-meeting/src/util/Privileges.d.ts +20 -0
  194. package/umd/boom-meeting/src/util/ReportCollector.d.ts +22 -0
  195. package/umd/boom-meeting/src/util/Stutter.d.ts +19 -0
  196. package/umd/boom-meeting/src/util/base64.d.ts +4 -0
  197. package/umd/boom-meeting/src/util/checkPermissions.d.ts +1 -0
  198. package/umd/boom-meeting/src/util/checkSystemRequirements.d.ts +1 -0
  199. package/umd/boom-meeting/src/util/devices.d.ts +2 -0
  200. package/umd/boom-meeting/src/util/emitter.d.ts +18 -0
  201. package/umd/boom-meeting/src/util/formatUserId.d.ts +2 -0
  202. package/umd/boom-meeting/src/util/is.d.ts +70 -0
  203. package/umd/boom-meeting/src/util/peerToPeerProbe.d.ts +9 -0
  204. package/umd/boom-meeting/src/util/request.d.ts +45 -0
  205. package/umd/boom-meeting/src/util/roomUtils.d.ts +9 -0
  206. package/umd/boom-meeting/src/util/util.d.ts +76 -0
  207. package/umd/error/RTCError.d.ts +20 -0
  208. package/umd/error/errorType.d.ts +96 -0
  209. package/umd/index.d.ts +2 -0
  210. package/umd/index.js +60 -0
  211. package/umd/logger/logger.d.ts +86 -0
  212. package/umd/util/Pqueue.d.ts +61 -0
  213. package/umd/util/constant.d.ts +67 -0
  214. package/umd/utils/ErrorTypes.d.ts +97 -0
@@ -0,0 +1,248 @@
1
+ import { SingleStream, SubscribeOptions } from '../type';
2
+ import BMUser from '../BMUser/BMUser';
3
+ import { BehaviorSubject, Subject } from 'rxjs';
4
+ /**
5
+ * @name: BMStreamModel
6
+ * @author: yangliye
7
+ * @date: 2022-04-25 11:14
8
+ * @description:BMStreamModel
9
+ * @update: 2022-04-25 11:14
10
+ */
11
+ declare type StreamType = 'big' | 'small';
12
+ export interface SubscribeMessage {
13
+ stream: BMStreamModel;
14
+ }
15
+ export interface ConnectErrorMessage {
16
+ stream: BMStreamModel;
17
+ isLocal: boolean;
18
+ }
19
+ export default class BMStreamModel {
20
+ private user;
21
+ private _stream;
22
+ /**
23
+ * 流类型
24
+ */
25
+ streamType: number;
26
+ pullFailedNum: number;
27
+ _video_enable: boolean;
28
+ _audio_enable: boolean;
29
+ videoEnableWatcher: BehaviorSubject<boolean>;
30
+ audioEnableWatcher: BehaviorSubject<boolean>;
31
+ audioLevelWatcher: Subject<number>;
32
+ isCurrentDisplay: boolean;
33
+ /**
34
+ * 当前窗口是不是在展示中目标状态
35
+ */
36
+ isDisplay: boolean;
37
+ isDisplayObserve: Subject<boolean>;
38
+ isInBig: boolean;
39
+ isInBigObserve: Subject<boolean>;
40
+ hasPulled: boolean;
41
+ playerId: string;
42
+ /**
43
+ * 当前拉取的是大流还是小流
44
+ */
45
+ _pulledStreamType: StreamType;
46
+ get pulledStreamType(): StreamType;
47
+ set pulledStreamType(type: StreamType);
48
+ /**
49
+ * 要拉取的流的目标状态
50
+ */
51
+ pulledStreamGoal: StreamType;
52
+ bigPlayerId: string;
53
+ private player;
54
+ private isPlayingBig;
55
+ /**
56
+ * 是否静音了扬声器,brtc不会处理业务上静音的逻辑,所以需要自己处理
57
+ * 如果静音了,就把所有的流都重新静音播放一遍
58
+ */
59
+ muted: boolean;
60
+ private checkVideoTimer;
61
+ checkCount: number;
62
+ private checkFailedCount;
63
+ /**
64
+ * streamModel的唯一标识,用来给业务绑定播放容器
65
+ */
66
+ get uuid(): string;
67
+ get isAudience(): boolean;
68
+ /**
69
+ * 因为直播模式中,观众默认是不展示的,只有开麦以后才会展示
70
+ * 所以这个地方要判断一下
71
+ */
72
+ get canShow(): boolean;
73
+ changeMute(mute: boolean): void;
74
+ handleSpeakerChange(): void;
75
+ /**
76
+ * 排序数字
77
+ */
78
+ get sortNum(): number;
79
+ get isToupingma(): boolean;
80
+ get isMixer(): boolean;
81
+ get isSignal(): boolean;
82
+ /**
83
+ * 初始化展示的model
84
+ * @param user
85
+ * @param stream
86
+ */
87
+ constructor(user: BMUser, stream?: SingleStream);
88
+ /**
89
+ * 生成订阅信息
90
+ */
91
+ genReceiveSubMsg(): SubscribeOptions;
92
+ /**
93
+ * display属性改变调整
94
+ * @private
95
+ */
96
+ private handleDisplayChange;
97
+ /**
98
+ * 处理当前窗口是不是在大窗的逻辑
99
+ * @param display
100
+ * @private
101
+ */
102
+ private handleIsInBig;
103
+ /**
104
+ * 设置是否打开摄像头状态
105
+ * @param enable
106
+ * @private
107
+ */
108
+ setVideoEnable(enable: boolean): void;
109
+ /**
110
+ * 设置是否打开麦克风状态
111
+ * @param enable
112
+ * @private
113
+ */
114
+ setAudioEnable(enable: boolean): void;
115
+ /**
116
+ * 更新当前streamModel中的流
117
+ * @param stream
118
+ * @param needReProcess
119
+ */
120
+ updateStream(stream: SingleStream | undefined, needReProcess?: boolean): void;
121
+ private onPlayerStateChange;
122
+ handleStreamConnectError: () => void;
123
+ /**
124
+ * 获取当前的streamId
125
+ */
126
+ get streamId(): string;
127
+ /**
128
+ * 获取当前窗口绑定的用户id
129
+ */
130
+ get userId(): string;
131
+ /**
132
+ * 获取当前的流对象
133
+ */
134
+ get stream(): SingleStream | undefined;
135
+ /**
136
+ * 是否是本地流
137
+ */
138
+ get isLocal(): boolean;
139
+ /**
140
+ * 是否是屏幕共享的流
141
+ */
142
+ get isShare(): boolean | undefined;
143
+ /**
144
+ * 当前音频是否开启
145
+ */
146
+ get audioEnable(): boolean;
147
+ /**
148
+ * 当前视频是否开启
149
+ */
150
+ get videoEnable(): boolean;
151
+ /**
152
+ * 获取当前流绑定的用户昵称
153
+ */
154
+ get nickname(): string;
155
+ /**
156
+ * 获取流的麦克风音量
157
+ */
158
+ get audioLevel(): number;
159
+ getUser(): BMUser;
160
+ /**
161
+ * 设置远端流的播放声音
162
+ * @param volume
163
+ */
164
+ setRemoteAudioLevel(volume: number): void;
165
+ /**
166
+ * 获取流的传输信息
167
+ */
168
+ getStats(): Promise<import("@boom/core/esm/BoomAdapter/type/stats").RemoteStreamStats> | Promise<import("@boom/core/esm/BoomAdapter/type/stats").LocalStreamStats> | undefined;
169
+ /**
170
+ * BIND_ELEMENT 事件
171
+ * @param eleId
172
+ */
173
+ bindElement: (eleId: string) => void;
174
+ bindBigElement: (eleId: string) => void;
175
+ sendMessage2Room: any;
176
+ emitBindElement: any;
177
+ emitBindBigElement: any;
178
+ /**
179
+ * 播放当前流
180
+ */
181
+ play: any;
182
+ /**
183
+ * 在大窗口播放该流的时候调用这个方法
184
+ * @param mute 是否静音 默认true
185
+ */
186
+ playInBig: any;
187
+ private initBigPlayer;
188
+ /**
189
+ * 停止播放当前流
190
+ */
191
+ stop(): void;
192
+ /**
193
+ * 销毁当前流
194
+ */
195
+ destroy(): void;
196
+ /**
197
+ * 获取当前流是否正在播放
198
+ */
199
+ isPlaying(): boolean | undefined;
200
+ /**
201
+ * 重新播放
202
+ */
203
+ replay(): Promise<void> | undefined;
204
+ /**
205
+ * 恢复播放音视频
206
+ * 在某些版本浏览器上移动传入 play() 的 div 容器可能会导致音视频播放器进入 ‘PAUSED’ 状态,此时 需要调用该接口恢复播放。
207
+ * 由于浏览器自动播放策略的限制,在 play() 返回 PLAY_NOT_ALLOWED 错误后需要引导用户通过手势 调用该接口恢复播放
208
+ *
209
+ * @returns
210
+ */
211
+ resume(): Promise<any> | undefined;
212
+ /**
213
+ * 是否有音频流
214
+ */
215
+ hasAudio(): boolean;
216
+ /**
217
+ * 是否有视频流
218
+ */
219
+ hasVideo(): boolean;
220
+ /**
221
+ * 更新当前model的用户信息
222
+ * @param user
223
+ */
224
+ updateUser(user: BMUser): void;
225
+ updateSortNum(): void;
226
+ /**
227
+ * 启动音频音量检测
228
+ */
229
+ collectAudioLevel(): void;
230
+ private handleAudioLevel;
231
+ /**
232
+ * 关闭音频音量检测
233
+ */
234
+ close(): void;
235
+ checkVideo(): void;
236
+ /**
237
+ * 播放黑窗处理,主要是做一个容错处理,又可能这股流拉下来或者存在订阅就出现问题的情况
238
+ * 播放时黑窗的,这个时候需要,检测,然后重新拉流
239
+ * @param videoContainer
240
+ */
241
+ private checkVideoDecodeFrame;
242
+ /**
243
+ * 发送订阅该流的请求
244
+ */
245
+ subscribeStream(): void;
246
+ unSubscribeStream(): void;
247
+ }
248
+ export {};
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @name: getHTMLMediaStreamOptions
3
+ * @author: yangliye
4
+ * @date: 2022-09-15 14:58
5
+ * @description:getHTMLMediaStreamOptions
6
+ * @update: 2022-09-15 14:58
7
+ */
8
+ interface Options {
9
+ videoElement: HTMLVideoElement;
10
+ }
11
+ export interface Result {
12
+ video: boolean;
13
+ audio: boolean;
14
+ videoSource: MediaStreamTrack;
15
+ audioSource: MediaStreamTrack;
16
+ width: number;
17
+ height: number;
18
+ }
19
+ /**
20
+ * 获取video标签中的mediaStream
21
+ * @param opts
22
+ */
23
+ export declare function getHTMLMediaStreamOptions(opts: Options): Result | null;
24
+ export declare function getMediaStreamInfo(mediaStream: MediaStream, videoInfo: {
25
+ width: number;
26
+ height: number;
27
+ }): {
28
+ video: boolean;
29
+ audio: boolean;
30
+ videoSource: MediaStreamTrack;
31
+ audioSource: MediaStreamTrack;
32
+ width: number;
33
+ height: number;
34
+ } | null;
35
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 节流调用
3
+ *
4
+ * @param fn 需要节制调用的函数
5
+ * @param delay 调用的时间间隔,单位毫秒
6
+ * @param immediate 是否立即触发
7
+ * @return 节流函数
8
+ */
9
+ export default function (fn: Function, delay: number, immediate?: boolean): () => void;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 任性地执行一个函数,不管它有没有、是不是
3
+ *
4
+ * @param fn 调用的函数
5
+ * @param context 执行函数时的 this 指向
6
+ * @param args 调用函数的参数,多参数时传入数组
7
+ * @return 调用函数的返回值
8
+ */
9
+ export default function (fn: any, context?: any, args?: any): any;
@@ -0,0 +1 @@
1
+ export default function (target: any): boolean;
@@ -0,0 +1 @@
1
+ export default function (target: any): boolean;
@@ -0,0 +1 @@
1
+ export default function (target: any): boolean;
@@ -0,0 +1,2 @@
1
+ declare let nextTick: Function;
2
+ export default nextTick;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 节流调用
3
+ *
4
+ * @param fn 需要节制调用的函数
5
+ * @param delay 调用的时间间隔,单位毫秒
6
+ * @param immediate 是否立即触发
7
+ * @return 节流函数
8
+ */
9
+ export default function (fn: Function, delay: number, immediate?: boolean): Function;
@@ -0,0 +1 @@
1
+ export default function (target: any, defaultValue?: number): number;
@@ -0,0 +1 @@
1
+ export default function (target: any, defaultValue?: string): string;
@@ -0,0 +1,66 @@
1
+ import { Data, ValueHolder } from './type';
2
+ export interface ArrayApi {
3
+ each<T>(array: T[], callback: (item: T, index: number) => boolean | void, reversed?: boolean): void;
4
+ push<T>(array: T[], target: T | T[]): void;
5
+ unshift<T>(array: T[], target: T | T[]): void;
6
+ indexOf<T>(array: T[], target: T, strict?: boolean): number;
7
+ last<T>(array: T[]): T | void;
8
+ pop<T>(array: T[]): T | void;
9
+ remove<T>(array: T[], target: T, strict?: boolean): number;
10
+ has<T>(array: T[], target: T, strict?: boolean): boolean;
11
+ toArray<T>(array: T[] | ArrayLike<T>): T[];
12
+ toObject(array: any[], key?: string | null, value?: any): object;
13
+ join(array: string[], separator: string): string;
14
+ falsy(array: any): boolean;
15
+ }
16
+ export interface IsApi {
17
+ func(value: any): boolean;
18
+ array(value: any): boolean;
19
+ object(value: any): boolean;
20
+ string(value: any): boolean;
21
+ number(value: any): boolean;
22
+ boolean(value: any): boolean;
23
+ numeric(value: any): boolean;
24
+ }
25
+ export interface LoggerApi {
26
+ DEBUG: number;
27
+ INFO: number;
28
+ WARN: number;
29
+ ERROR: number;
30
+ FATAL: number;
31
+ debug(msg: string, tag?: string): void;
32
+ info(msg: string, tag?: string): void;
33
+ warn(msg: string, tag?: string): void;
34
+ error(msg: string, tag?: string): void;
35
+ fatal(msg: string, tag?: string): void;
36
+ }
37
+ export interface ObjectApi {
38
+ keys(object: Data): string[];
39
+ sort(object: Data, desc?: boolean): string[];
40
+ each(object: Data, callback: (value: any, key: string) => boolean | void): void;
41
+ clear(object: Data): void;
42
+ extend(original: Data, object: Data): Data;
43
+ merge(object1: Data | void, object2: Data | void): Data | void;
44
+ copy(object: any, deep?: boolean): any;
45
+ get(object: any, keypath: string): ValueHolder | undefined;
46
+ set(object: Data, keypath: string, value: any, autofill?: boolean): void;
47
+ has(object: Data, key: string | number): boolean;
48
+ falsy(object: any): boolean;
49
+ }
50
+ export interface StringApi {
51
+ camelize(str: string): string;
52
+ hyphenate(str: string): string;
53
+ capitalize(str: string): string;
54
+ trim(str: any): string;
55
+ slice(str: string, start: number, end?: number): string;
56
+ indexOf(str: string, part: string, start?: number): number;
57
+ lastIndexOf(str: string, part: string, end?: number): number;
58
+ startsWith(str: string, part: string): boolean;
59
+ endsWith(str: string, part: string): boolean;
60
+ charAt(str: string, index?: number): string;
61
+ codeAt(str: string, index?: number): number;
62
+ upper(str: string): string;
63
+ lower(str: string): string;
64
+ has(str: string, part: string): boolean;
65
+ falsy(str: any): boolean;
66
+ }
@@ -0,0 +1,7 @@
1
+ import { Task } from './type';
2
+ export interface EmitterOptions extends Task {
3
+ ns?: string;
4
+ num?: number;
5
+ max?: number;
6
+ count?: number;
7
+ }
@@ -0,0 +1,90 @@
1
+ export declare type Data = Record<string, any>;
2
+ export declare type ThisTask<This> = (this: This) => void;
3
+ export declare type ThisListener<This> = (this: This, event: CustomEventInterface, data?: Data) => false | void;
4
+ export declare type Listener = (event: CustomEventInterface, data?: Data) => false | void;
5
+ export declare type NativeListener = (event: CustomEventInterface | Event) => false | void;
6
+ export declare type ValueHolder = {
7
+ keypath?: string;
8
+ value: any;
9
+ };
10
+ export declare type Task = {
11
+ fn: Function;
12
+ ctx?: any;
13
+ };
14
+ export interface CustomEventInterface {
15
+ type: string;
16
+ phase: number;
17
+ ns?: string;
18
+ target?: any;
19
+ originalEvent?: CustomEventInterface | Event;
20
+ isPrevented?: true;
21
+ isStoped?: true;
22
+ listener?: Function;
23
+ /**
24
+ * 阻止事件的默认行为
25
+ */
26
+ preventDefault(): this;
27
+ /**
28
+ * 停止事件广播
29
+ */
30
+ stopPropagation(): this;
31
+ prevent(): this;
32
+ stop(): this;
33
+ }
34
+ export interface OS {
35
+ /**
36
+ * os 平台
37
+ */
38
+ name: string;
39
+ /**
40
+ * os 版本号
41
+ */
42
+ version: string;
43
+ /**
44
+ * 是否是 ios 系统
45
+ */
46
+ ios?: boolean;
47
+ /**
48
+ * 系统判断
49
+ */
50
+ iphone?: boolean;
51
+ ipad?: boolean;
52
+ itouch?: boolean;
53
+ android?: boolean;
54
+ wp?: boolean;
55
+ windows?: boolean;
56
+ linux?: boolean;
57
+ mac?: boolean;
58
+ }
59
+ export interface Browser {
60
+ /**
61
+ * browser 平台
62
+ */
63
+ name: string;
64
+ /**
65
+ * browser 版本号
66
+ */
67
+ version: string;
68
+ /**
69
+ * 浏览器判断
70
+ */
71
+ alipay?: boolean;
72
+ wechat?: boolean;
73
+ baiduApp?: boolean;
74
+ baidu?: boolean;
75
+ uc?: boolean;
76
+ qq?: boolean;
77
+ qqApp?: boolean;
78
+ ie?: boolean;
79
+ edge?: boolean;
80
+ chrome?: boolean;
81
+ firefox?: boolean;
82
+ opera?: boolean;
83
+ safari?: boolean;
84
+ }
85
+ export interface Network {
86
+ /**
87
+ * 网络类型
88
+ */
89
+ name: string;
90
+ }
@@ -0,0 +1,30 @@
1
+ import { CustomEventInterface } from '../type/type';
2
+ export default class CustomEvent implements CustomEventInterface {
3
+ static PHASE_CURRENT: number;
4
+ static PHASE_UPWARD: number;
5
+ static PHASE_DOWNWARD: number;
6
+ type: string;
7
+ phase: number;
8
+ ns?: string;
9
+ target?: any;
10
+ originalEvent?: CustomEventInterface | Event;
11
+ isPrevented?: true;
12
+ isStoped?: true;
13
+ listener?: Function;
14
+ /**
15
+ * 构造函数
16
+ *
17
+ * 可以传事件名称,也可以传原生事件对象
18
+ */
19
+ constructor(type: string, originalEvent?: CustomEventInterface | Event);
20
+ /**
21
+ * 阻止事件的默认行为
22
+ */
23
+ preventDefault(): this;
24
+ /**
25
+ * 停止事件广播
26
+ */
27
+ stopPropagation(): this;
28
+ prevent(): this;
29
+ stop(): this;
30
+ }
@@ -0,0 +1,57 @@
1
+ import { NativeListener } from '../type/type';
2
+ import { EmitterOptions } from '../type/options';
3
+ declare type Namespace = {
4
+ type: string;
5
+ ns?: string;
6
+ };
7
+ export default class Emitter {
8
+ /**
9
+ * 是否开启命名空间
10
+ */
11
+ ns: boolean;
12
+ /**
13
+ * 已注册的事件监听
14
+ */
15
+ listeners: Record<string, EmitterOptions[]>;
16
+ /**
17
+ * 原生事件监听,一个事件对应一个 listener
18
+ */
19
+ nativeListeners?: Record<string, NativeListener>;
20
+ constructor(ns?: boolean);
21
+ /**
22
+ * 发射事件
23
+ *
24
+ * @param type 事件名称或命名空间
25
+ * @param args 事件处理函数的参数列表
26
+ * @param filter 自定义过滤器
27
+ */
28
+ fire(type: string | Namespace, args: any[] | void, filter?: (namespace: Namespace, args: any[] | void, options: EmitterOptions) => boolean | void): boolean;
29
+ /**
30
+ * 注册监听
31
+ *
32
+ * @param type
33
+ * @param listener
34
+ */
35
+ on(type: string | Namespace, listener: Function | EmitterOptions): void;
36
+ /**
37
+ * 取消监听
38
+ *
39
+ * @param type
40
+ * @param listener
41
+ */
42
+ off(type?: string | Namespace, listener?: Function): void;
43
+ /**
44
+ * 是否已监听某个事件
45
+ *
46
+ * @param type
47
+ * @param listener
48
+ */
49
+ has(type: string | Namespace, listener?: Function): boolean;
50
+ /**
51
+ * 把事件类型解析成命名空间格式
52
+ *
53
+ * @param type
54
+ */
55
+ parse(type: string): Namespace;
56
+ }
57
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Task } from '../type/type';
2
+ export default class NextTask {
3
+ /**
4
+ * 全局单例
5
+ */
6
+ static shared(): NextTask;
7
+ /**
8
+ * 异步队列
9
+ */
10
+ tasks: Task[];
11
+ constructor();
12
+ /**
13
+ * 在队尾添加异步任务
14
+ */
15
+ append(func: Function, context?: any): void;
16
+ /**
17
+ * 在队首添加异步任务
18
+ */
19
+ prepend(func: Function, context?: any): void;
20
+ /**
21
+ * 清空异步队列
22
+ */
23
+ clear(): void;
24
+ /**
25
+ * 立即执行异步任务,并清空队列
26
+ */
27
+ run(): void;
28
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @file 等待操作
3
+ * @author zhaogaoxing
4
+ */
5
+ export default class Sleep {
6
+ private timeout;
7
+ private timer;
8
+ private resolve;
9
+ private reject;
10
+ private startTime;
11
+ constructor(timeout: number);
12
+ then(res: (value?: number) => void, rej: (value?: number) => void): void;
13
+ stop(reslove?: boolean): void;
14
+ }
@@ -0,0 +1,13 @@
1
+ export default class Timer {
2
+ private task;
3
+ private timeout;
4
+ private interval;
5
+ private timer;
6
+ private count;
7
+ constructor(task: Function, timeout: number, interval: number);
8
+ start(): void;
9
+ stop(): void;
10
+ updateInterval(interval: number): void;
11
+ isStarted(): boolean;
12
+ destroy(): void;
13
+ }