@rongcloud/plugin-rtc 5.5.1 → 5.5.2-alpha.2

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 (114) hide show
  1. package/dist/index.d.ts +19 -8
  2. package/dist/index.esm.js +21612 -15
  3. package/dist/index.js +21641 -15
  4. package/dist/index.umd.js +21645 -15
  5. package/package.json +2 -5
  6. package/dist/async-task-queue.d.ts +0 -9
  7. package/dist/core/Invoker.d.ts +0 -55
  8. package/dist/core/PolarisReporter.d.ts +0 -36
  9. package/dist/core/RCAudienceClient.d.ts +0 -90
  10. package/dist/core/RCMediaStreamCapture.d.ts +0 -124
  11. package/dist/core/RCRTCClient.d.ts +0 -148
  12. package/dist/core/Store.d.ts +0 -86
  13. package/dist/core/codec/RTCContext.d.ts +0 -76
  14. package/dist/core/codec/interface.d.ts +0 -168
  15. package/dist/core/codec/proto.d.ts +0 -94
  16. package/dist/core/codec/rtc-helper.d.ts +0 -17
  17. package/dist/core/command/AsyncCommand.d.ts +0 -55
  18. package/dist/core/command/AsyncSubscribeCommand.d.ts +0 -28
  19. package/dist/core/command/AsyncUnsubscribeCommand.d.ts +0 -28
  20. package/dist/core/command/AsyncUpdateSubscribeListCommand.d.ts +0 -25
  21. package/dist/core/command/BaseCommand.d.ts +0 -31
  22. package/dist/core/command/EnabelInnerCDNCommand.d.ts +0 -16
  23. package/dist/core/command/ExchangeCommand.d.ts +0 -18
  24. package/dist/core/command/ExchangeWithPushOtherRoomCommand.d.ts +0 -22
  25. package/dist/core/command/JoinRoomCommand.d.ts +0 -31
  26. package/dist/core/command/LeaveOtherRoomCommand.d.ts +0 -32
  27. package/dist/core/command/LocalTrackMuteCommand.d.ts +0 -18
  28. package/dist/core/command/MCUConfigFlushCommand.d.ts +0 -18
  29. package/dist/core/command/OnRemoteUserUnpubCommand.d.ts +0 -13
  30. package/dist/core/command/OnSignalReconnectedCommand.d.ts +0 -38
  31. package/dist/core/command/ParseRemoteResCommand.d.ts +0 -38
  32. package/dist/core/command/ParseUserStateCommand.d.ts +0 -57
  33. package/dist/core/command/PubCommand.d.ts +0 -34
  34. package/dist/core/command/PublishCommand.d.ts +0 -36
  35. package/dist/core/command/RTCIdentityChangeCommand.d.ts +0 -18
  36. package/dist/core/command/RetryExchangeCommand.d.ts +0 -18
  37. package/dist/core/command/SubscribeCommand.d.ts +0 -21
  38. package/dist/core/command/UnpublishCommand.d.ts +0 -22
  39. package/dist/core/command/UnpublishPrevCommand.d.ts +0 -11
  40. package/dist/core/command/UnsubscribeCommand.d.ts +0 -20
  41. package/dist/core/command/UpdateSubscribeListCommand.d.ts +0 -28
  42. package/dist/core/command/helper.d.ts +0 -20
  43. package/dist/core/constants.d.ts +0 -4
  44. package/dist/core/enums/BackgroundPictureFillMode.d.ts +0 -14
  45. package/dist/core/enums/MixLayoutMode.d.ts +0 -18
  46. package/dist/core/enums/MixVideoRenderMode.d.ts +0 -14
  47. package/dist/core/enums/RCBitrate.d.ts +0 -48
  48. package/dist/core/enums/RCCommandKind.d.ts +0 -12
  49. package/dist/core/enums/RCFrameRate.d.ts +0 -7
  50. package/dist/core/enums/RCInnerCDNBroadcast.d.ts +0 -5
  51. package/dist/core/enums/RCInnerCDNModel.d.ts +0 -5
  52. package/dist/core/enums/RCInnerCDNPullIsHttps.d.ts +0 -5
  53. package/dist/core/enums/RCInnerCDNPullKind.d.ts +0 -6
  54. package/dist/core/enums/RCInnerCDNPushMode.d.ts +0 -5
  55. package/dist/core/enums/RCKickType.d.ts +0 -11
  56. package/dist/core/enums/RCLinkedListPoint.d.ts +0 -6
  57. package/dist/core/enums/RCLivingType.d.ts +0 -14
  58. package/dist/core/enums/RCLoggerTag.d.ts +0 -649
  59. package/dist/core/enums/RCMediaType.d.ts +0 -18
  60. package/dist/core/enums/RCMixInputFilterMode.d.ts +0 -35
  61. package/dist/core/enums/RCRTCCode.d.ts +0 -93
  62. package/dist/core/enums/RCRTCLiveRole.d.ts +0 -14
  63. package/dist/core/enums/RCRTCPingResult.d.ts +0 -5
  64. package/dist/core/enums/RCRTCResolution.d.ts +0 -132
  65. package/dist/core/enums/RCResolution.d.ts +0 -21
  66. package/dist/core/enums/RTCJoinType.d.ts +0 -18
  67. package/dist/core/enums/RTCMode.d.ts +0 -22
  68. package/dist/core/enums/inner/LiveRole.d.ts +0 -11
  69. package/dist/core/enums/inner/LiveType.d.ts +0 -14
  70. package/dist/core/enums/inner/PolarisRole.d.ts +0 -14
  71. package/dist/core/enums/inner/R2Action.d.ts +0 -14
  72. package/dist/core/enums/inner/R2Status.d.ts +0 -11
  73. package/dist/core/enums/inner/RCRTCMessageType.d.ts +0 -70
  74. package/dist/core/enums/inner/RCStreamType.d.ts +0 -14
  75. package/dist/core/enums/inner/RTCApiType.d.ts +0 -5
  76. package/dist/core/enums/inner/RTCIdentityChangeType.d.ts +0 -5
  77. package/dist/core/enums/inner/TrackState.d.ts +0 -14
  78. package/dist/core/interfaces.d.ts +0 -942
  79. package/dist/core/room/Pinger.d.ts +0 -36
  80. package/dist/core/room/RCAbstractRoom.d.ts +0 -354
  81. package/dist/core/room/RCAudienceLivingRoom.d.ts +0 -334
  82. package/dist/core/room/RCAudioLevelReport.d.ts +0 -16
  83. package/dist/core/room/RCLivingPKHandler.d.ts +0 -165
  84. package/dist/core/room/RCLivingRoom.d.ts +0 -112
  85. package/dist/core/room/RCLocalMediaStream.d.ts +0 -8
  86. package/dist/core/room/RCMCUConfigBuilder.d.ts +0 -211
  87. package/dist/core/room/RCRTCRoom.d.ts +0 -17
  88. package/dist/core/service/RCMediaService.d.ts +0 -121
  89. package/dist/core/service/helper.d.ts +0 -18
  90. package/dist/core/service/index.d.ts +0 -6
  91. package/dist/core/service/interface.d.ts +0 -328
  92. package/dist/core/service/mcu-interface.d.ts +0 -293
  93. package/dist/core/tracks/RC3AnoiseTrack.d.ts +0 -27
  94. package/dist/core/tracks/RCLocalTrack.d.ts +0 -143
  95. package/dist/core/tracks/RCRemoteTrack.d.ts +0 -29
  96. package/dist/core/tracks/RCTrack.d.ts +0 -95
  97. package/dist/core/webrtc/RCRTCPeerCManager.d.ts +0 -161
  98. package/dist/core/webrtc/RCRTCPeerConnection.d.ts +0 -112
  99. package/dist/core/webrtc/helper.d.ts +0 -26
  100. package/dist/core/webrtc/sdp/ASdpBuilder.d.ts +0 -120
  101. package/dist/core/webrtc/sdp/ASdpStrategy.d.ts +0 -53
  102. package/dist/core/webrtc/sdp/PlanBSdpBuilder.d.ts +0 -20
  103. package/dist/core/webrtc/sdp/PlanBStrategy.d.ts +0 -26
  104. package/dist/core/webrtc/sdp/SDPUtils.d.ts +0 -60
  105. package/dist/core/webrtc/sdp/UnifiedPlanSdpBuilder.d.ts +0 -11
  106. package/dist/core/webrtc/sdp/UnifiedPlanStrategy.d.ts +0 -25
  107. package/dist/core/webrtc/stat-parser/AbstractStatParser.d.ts +0 -117
  108. package/dist/core/webrtc/stat-parser/ChromeStatParser.d.ts +0 -14
  109. package/dist/core/webrtc/stat-parser/FirefoxStatParser.d.ts +0 -14
  110. package/dist/core/webrtc/stat-parser/IStatParser.d.ts +0 -24
  111. package/dist/core/webrtc/stat-parser/SafariStatParser.d.ts +0 -14
  112. package/dist/device.d.ts +0 -6
  113. package/dist/helper.d.ts +0 -195
  114. package/dist/logger.d.ts +0 -4
@@ -1,942 +0,0 @@
1
- import { LogLevel } from '@rongcloud/engine';
2
- import { RCMediaType } from './enums/RCMediaType';
3
- import { RCFrameRate } from './enums/RCFrameRate';
4
- import { RCResolution } from './enums/RCResolution';
5
- import { TrackState } from './enums/inner/TrackState';
6
- import { RCLocalTrack, RCLocalAudioTrack } from './tracks/RCLocalTrack';
7
- import { RCRemoteAudioTrack, RCRemoteTrack, RCRemoteVideoTrack } from './tracks/RCRemoteTrack';
8
- import { ISdpSemantics } from './webrtc/sdp/ASdpStrategy';
9
- import { RCInnerCDNPullKind } from './enums/RCInnerCDNPullKind';
10
- import { RCInnerCDNPullIsHttps } from './enums/RCInnerCDNPullIsHttps';
11
- import { RCKickReason } from './enums/RCKickType';
12
- import { RCRTCPingResult } from './enums/RCRTCPingResult';
13
- import { RCRTCLiveRole } from './enums/RCRTCLiveRole';
14
- import RCRTCPeerConnection from './webrtc/RCRTCPeerConnection';
15
- import { RCRTCCode } from './enums/RCRTCCode';
16
- import { IExchangeResponse } from './service/interface';
17
- import { IServerRTCRoomEntry } from './codec/interface';
18
- export interface IRCTrackBitrate {
19
- /**
20
- * 最大码率
21
- */
22
- max: number;
23
- /**
24
- * 最小码率
25
- */
26
- min: number;
27
- /**
28
- * 上行起始码率
29
- */
30
- start?: number;
31
- }
32
- /**
33
- * MediaServer 返回的媒体资源数据
34
- */
35
- export interface IResource {
36
- /**
37
- * 媒体类型
38
- */
39
- mediaType: RCMediaType.AUDIO_ONLY | RCMediaType.VIDEO_ONLY;
40
- /**
41
- * MediaStream Id,基本为 `userId` 与 `tag` 以 `_` 拼接而来。该值无法直接作为资源的唯一性标识属性,
42
- * 需与 mediaType 拼接使用
43
- */
44
- msid: string;
45
- /**
46
- * MediaServer 返回的资源地址
47
- * @example 举例如下:
48
- * `{"clusterId":"rtc-data-bdcbj.ronghub.com:80","serverId":"172.28.76.215:40080","resourceId":"13111111111_5vls_web_RongCloudRTC_1","connectionId":"AAYxMDAzNjgAFDEzMTExMTExMTExXzV2bHNfd2ViAAMzMzMA","ssrc":1716229921,"serviceProvider":"bdc","userTimestamp":1604994044706}`
49
- */
50
- uri: string;
51
- /**
52
- * 资源特征,simulcast 代表这道流支持大小流
53
- * @description 此参数存疑,MediaServer 似乎并未下发此字段,Web 端暂不启用
54
- * @deprecated
55
- */
56
- features?: ['simulcast'] | [];
57
- }
58
- /**
59
- * 向房间内发布的媒体数据
60
- */
61
- export interface IPublishedResource extends IResource {
62
- /**
63
- * 资源禁用/启用标识,用于向 signal 同步本端资源状态,1 为启用,0 为禁用
64
- */
65
- state: 0 | 1;
66
- /**
67
- * 资源标识,同标识的资源将视作同道流,标识不可重复
68
- */
69
- tag: string;
70
- }
71
- export interface ISubscribeAttr {
72
- /**
73
- * 要订阅的音视轨数据 Id
74
- */
75
- track: RCRemoteTrack;
76
- /**
77
- * 订阅小流,默认为 `false`
78
- */
79
- subTiny?: boolean;
80
- }
81
- /**
82
- * 视频配置
83
- */
84
- export interface IVideoProfile {
85
- /**
86
- * 视频帧率
87
- */
88
- frameRate: RCFrameRate;
89
- /**
90
- * 视频分辨率
91
- */
92
- resolution: RCResolution;
93
- }
94
- /**
95
- * 屏幕共享流配置
96
- */
97
- export interface IScreenVideoProfile extends IVideoProfile {
98
- /**
99
- * Electron 平台下通过 `desktopCapturer.getSources` 获取到的 sourceId,
100
- * 不传 chromeMediaSourceId 时默认共享桌面,传入时共享指定窗口。
101
- * @see `https://www.electronjs.org/docs/api/desktop-capturer`
102
- */
103
- chromeMediaSourceId?: string;
104
- }
105
- /**
106
- * 待发布资源数据
107
- */
108
- export interface IPublishAttrs {
109
- /**
110
- * 待发布的轨道数据
111
- */
112
- track: RCLocalTrack;
113
- /**
114
- * 是否同时发布小流
115
- */
116
- pubTiny?: boolean | IVideoProfile;
117
- }
118
- /**
119
- * 资源可用性描述
120
- */
121
- export interface IResourceEnabled {
122
- resourceId: string;
123
- enabled: boolean;
124
- }
125
- /**
126
- * 资源地址字符串解析后的结构
127
- */
128
- export interface IUriInfo {
129
- clousterId: string;
130
- serverId: string;
131
- /**
132
- * 资源唯一标识,为 `userId_tag_mediaType` 拼接而来,mediaType 为 0 或 1,是单独的音频或视频资源
133
- */
134
- resourceId: string;
135
- connectionId: string;
136
- ssrc: string;
137
- serviceProvider: string;
138
- /**
139
- * 时间戳
140
- */
141
- userTimestamp: number;
142
- }
143
- /**
144
- * peerConnection 抛出给用户的 track 字段
145
- */
146
- export interface IRCTrackStat {
147
- /**
148
- * stat id
149
- */
150
- id?: string;
151
- /**
152
- * 资源 Id
153
- */
154
- trackId: string;
155
- /**
156
- * 资源类型
157
- */
158
- kind: 'audio' | 'video';
159
- /**
160
- * 丢包率,有效值 `0` - `1`
161
- */
162
- packetsLostRate: number | null;
163
- /**
164
- * 是否是远端资源
165
- */
166
- remoteResource: boolean;
167
- /**
168
- * 音量
169
- */
170
- audioLevel?: number | null;
171
- /**
172
- * 视频高度
173
- */
174
- frameHeight?: number | null;
175
- /**
176
- * 视频宽度
177
- */
178
- frameWidth?: number | null;
179
- /**
180
- * 视频帧率
181
- */
182
- frameRate?: number | null;
183
- /**
184
- * 码率
185
- */
186
- bitrate: number;
187
- /**
188
- * 网络抖动,单位 ms
189
- * @description 下行数据中,同道流中只有一个 track 会有值,另一轨道数据值为 `0`
190
- */
191
- jitter: number | null;
192
- }
193
- /**
194
- * peerConnection 抛出给用户的 iceCandidatePair 字段
195
- */
196
- export interface IRCCandidatePairStat {
197
- /**
198
- * 本端 IP
199
- */
200
- IP: string;
201
- /**
202
- * 本地 UDP 端口
203
- */
204
- port: number;
205
- /**
206
- * 本地网络类型
207
- */
208
- networkType: string | null;
209
- /**
210
- * 远端 IP
211
- */
212
- remoteIP: string;
213
- /**
214
- * 远端 UDP 端口
215
- */
216
- remotePort: number;
217
- /**
218
- * 协议
219
- */
220
- protocol: string;
221
- /**
222
- * 发送总码率,单位 kbps
223
- */
224
- bitrateSend: number;
225
- /**
226
- * 接收总码率,单位 kbps
227
- */
228
- bitrateRecv: number;
229
- /**
230
- * (Round-Trip-Time)往返时延,单位 ms
231
- */
232
- rtt: number | null;
233
- /**
234
- * 可用上行带宽,单位 bit
235
- */
236
- availableOutgoingBitrate: number | null;
237
- /**
238
- * 可用下行带宽,在无下行资源时,其值为 `0`,单位: `bit`
239
- */
240
- availableIncomingBitrate: number | null;
241
- }
242
- /**
243
- * iceCandidatePair 所有字段
244
- * 含 peerConnection 抛出给用户的 iceCandidatePair 字段
245
- * 含 北极星上报 R3、R4 所需的 totalPacketsLost
246
- */
247
- export interface IInnerIcePair extends IRCCandidatePairStat {
248
- /**
249
- * 上、下行总丢包率
250
- */
251
- totalPacketsLost?: number;
252
- }
253
- /**
254
- * send track 所有字段
255
- * 含 peerConnection 抛出给用户的 track 字段
256
- * 含 北极星上报 R3 track 所需字段
257
- */
258
- export interface ISendTrackState extends IRCTrackStat {
259
- /**
260
- * (Round-Trip-Time)往返时延,单位 ms
261
- */
262
- rtt: number | null;
263
- /**
264
- * 编码方式
265
- */
266
- encoderImplementation: string | null;
267
- /**
268
- * PLI 请求数
269
- */
270
- pliCount: number;
271
- /**
272
- * nack 数量
273
- */
274
- nackCount: number;
275
- /**
276
- * 第一个关键帧是否正常收到
277
- */
278
- googFirsSent: number;
279
- /**
280
- * 音频采样率
281
- */
282
- samplingRate: number;
283
- /**
284
- * 接收卡顿(间隔时间, 单位: ms)
285
- */
286
- googRenderDelayMs: number;
287
- /**
288
- * 流状态(0:不可用, 1:可用)
289
- */
290
- trackState: TrackState;
291
- }
292
- /**
293
- * receive track 所有字段
294
- * 含 peerConnection 抛出给用户的 track 字段
295
- * 含 北极星上报 R4 track 所需字段
296
- */
297
- export interface IRecvTrackState extends IRCTrackStat {
298
- /**
299
- * 解码方式
300
- */
301
- codecImplementationName: string | null;
302
- samplingRate: number;
303
- nackCount: number;
304
- pliCount: number;
305
- rtt: number | null;
306
- googFirsReceived: number;
307
- googRenderDelayMs: number;
308
- trackState: TrackState;
309
- }
310
- /**
311
- * peerConnection stats 解析出来业务所需的所有字段
312
- */
313
- export interface IInnerRCRTCStateReport {
314
- timestamp: number;
315
- iceCandidatePair?: IInnerIcePair;
316
- senders: ISendTrackState[];
317
- receivers: IRecvTrackState[];
318
- }
319
- /**
320
- * /**
321
- * peerConnection stats 抛给用户的字段
322
- */
323
- export interface IRCRTCStateReport {
324
- pcName?: string;
325
- /**
326
- * 报告生成时间戳
327
- */
328
- timestamp: number;
329
- /**
330
- * 对等连接状态数据
331
- */
332
- iceCandidatePair?: IRCCandidatePairStat;
333
- /**
334
- * 上行状态数据
335
- */
336
- senders: IRCTrackStat[];
337
- /**
338
- * 下行状态数据
339
- */
340
- receivers: IRCTrackStat[];
341
- }
342
- /**
343
- * 北极星上报 R3、R4 公共字段
344
- */
345
- export interface IR3R4BaseData {
346
- /**
347
- * 发送总码率,单位 kbps
348
- */
349
- bitrateSend: number;
350
- /**
351
- * 接收总码率,单位 kbps
352
- */
353
- bitrateRecv: number;
354
- /**
355
- * 本地网络类型
356
- */
357
- networkType: string;
358
- /**
359
- * (Round-Trip-Time)往返时延,单位 ms
360
- */
361
- rtt: number;
362
- /**
363
- * 本端地址
364
- */
365
- localAddress: string;
366
- /**
367
- * 远端地址
368
- */
369
- remoteAddress: string;
370
- /**
371
- * 可用下行带宽,在无下行资源时,其值为 `0`,单位: `bit`
372
- */
373
- receiveBand: number;
374
- /**
375
- * 可用上行带宽,单位 bit
376
- */
377
- sendBand: number;
378
- /**
379
- * 上、下行总丢包数
380
- */
381
- packetsLost: number;
382
- /**
383
- * 设备id
384
- */
385
- deviceId: string;
386
- }
387
- /**
388
- * 北极星上报 R3 track 字段
389
- */
390
- export interface IR3TackData {
391
- /**
392
- * trackId,内容为: userId_tag_video/(tiny_video)/audio
393
- */
394
- trackId: string;
395
- /**
396
- * 编解码名称
397
- */
398
- googCodecName: string;
399
- /**
400
- * 音量
401
- */
402
- audioLevel: number;
403
- /**
404
- * 音频采样率
405
- */
406
- samplingRate: number;
407
- /**
408
- * 上行码率
409
- */
410
- bitrate: number;
411
- /**
412
- * 丢包率
413
- */
414
- packetsLostRate: number;
415
- /**
416
- * 视频帧率,单位 fps
417
- */
418
- frameRate: number;
419
- /**
420
- * 分辨率,格式为 640*480
421
- */
422
- resolution: string;
423
- /**
424
- * 接收卡顿(间隔时间, 单位: ms)
425
- */
426
- googRenderDelayMs: number;
427
- /**
428
- * jitter 数据抖动
429
- */
430
- jitter: number;
431
- /**
432
- * nack 数量
433
- */
434
- nackCount: number;
435
- /**
436
- * PLI 请求数
437
- */
438
- pliCount: number;
439
- /**
440
- * googRtt 往返时长
441
- */
442
- rtt: number;
443
- /**
444
- * 第一个关键帧是否正常
445
- */
446
- googFirsSent: number;
447
- /**
448
- * 编码方式
449
- */
450
- encoderImplementation: string;
451
- /**
452
- * 流状态(0:不可用, 1:可用)
453
- */
454
- trackState: TrackState;
455
- }
456
- /**
457
- * 北极星上报 R4 track 字段
458
- */
459
- export interface IR4TackData {
460
- trackId: string;
461
- googCodecName: string;
462
- audioLevel: number;
463
- samplingRate: number;
464
- /**
465
- * 下行码率
466
- */
467
- bitrate: number;
468
- packetsLostRate: number;
469
- frameRate: number;
470
- resolution: string;
471
- googRenderDelayMs: number;
472
- jitter: number;
473
- nackCount: number;
474
- pliCount: number;
475
- rtt: number;
476
- /**
477
- * 第一个关键帧是否正常
478
- */
479
- googFirsReceived: number;
480
- /**
481
- * 解码方式
482
- */
483
- codecImplementationName: string;
484
- trackState: TrackState;
485
- }
486
- export interface IRCRTCReportListener {
487
- /**
488
- * RTCPeerConnection 的详细状态数据
489
- * @param report
490
- */
491
- onStateReport?(report: IRCRTCStateReport): void;
492
- /**
493
- * ICE 连接状态变更通知
494
- * @since version 5.1.5
495
- */
496
- onICEConnectionStateChange?(state: RTCIceConnectionState, pcName?: string): void;
497
- /**
498
- * @deprecated
499
- */
500
- onConnectionStateChange?(state: RTCPeerConnectionState, pcName?: string): void;
501
- }
502
- export interface IRCRTCTrackEventListener {
503
- /**
504
- * 订阅的音视频流通道已建立, track 已可以进行播放
505
- * @param track RCRemoteTrack 类实例
506
- */
507
- onTrackReady?(track: RCRemoteTrack): void;
508
- }
509
- export interface IRoomEventListener extends IRCRTCTrackEventListener {
510
- /**
511
- * 当 RTCPeerConnection 连接被异常关闭时触发,此时需业务层重新加入房间并重新发布、订阅资源。
512
- * 引起连接异常中断的原因包括但不限于:电脑休眠、浏览器页面长期后台运行等
513
- * @since 5.1.5
514
- */
515
- onRTCPeerConnectionCloseByException?(): void;
516
- /**
517
- * 当本端被剔出房间时触发
518
- * @description 被踢出房间可能是由于服务端超出一定时间未能收到 rtcPing 消息,所以认为己方离线。
519
- * 另一种可能是己方 rtcPing 失败次数超出上限
520
- * @param byServer 当值为 `false` 时,说明本端 rtcPing 超时;当值为 `true` 时,说明本端收到被踢出房间通知
521
- */
522
- onKickOff?(byServer: boolean, state?: RCKickReason, kickExtra?: any): void;
523
- /**
524
- * 接收到房间信令时回调,用户可通过房间实例的 sendMessage 接口发送信令
525
- * @param name 信令名
526
- * @param content 信令内容
527
- * @param senderUserId 发送者 Id
528
- * @param messageUId 消息唯一标识
529
- */
530
- onMessageReceive?(name: string, content: any, senderUserId: string, messageUId: string): void;
531
- /**
532
- * 房间属性变更回调
533
- * @param name
534
- * @param content
535
- */
536
- onRoomAttributeChange?(name: string, content?: string): void;
537
- /**
538
- * 房间用户禁用/启用音频
539
- * @param audioTrack RCRemoteAudioTrack 类实例
540
- */
541
- onAudioMuteChange?(audioTrack: RCRemoteAudioTrack): void;
542
- /**
543
- * 房间用户禁用/启用视频
544
- * @param videoTrack RCRemoteVideoTrack 类实例对象
545
- */
546
- onVideoMuteChange?(videoTrack: RCRemoteVideoTrack): void;
547
- /**
548
- * 房间内用户发布资源
549
- * @param tracks 新发布的音轨与视轨数据列表,包含新发布的 RCRemoteAudioTrack 与 RCRemoteVideoTrack 实例
550
- */
551
- onTrackPublish?(tracks: RCRemoteTrack[]): void;
552
- /**
553
- * 房间用户取消发布资源
554
- * @param tracks 被取消发布的音轨与视轨数据列表
555
- * @description 当资源被取消发布时,SDK 内部会取消对相关资源的订阅,业务层仅需处理 UI 业务
556
- */
557
- onTrackUnpublish?(tracks: RCRemoteTrack[]): void;
558
- /**
559
- * 人员加入
560
- * @param userIds 加入的人员 id 列表
561
- */
562
- onUserJoin?(userIds: string[]): void;
563
- /**
564
- * 人员退出
565
- * @param userIds
566
- */
567
- onUserLeave?(userIds: string[]): void;
568
- /**
569
- * 主播开启、停止推 CDN 状态通知
570
- */
571
- onCDNEnableChange?(enable: boolean): void;
572
- /**
573
- * RTC 每次 Ping 的结果
574
- * @since version: 5.1.5
575
- */
576
- onPing?(result: RCRTCPingResult): void;
577
- /**
578
- * 主播和观众切换身份通知
579
- */
580
- onSwitchRole?(userId: string, role: RCRTCLiveRole): void;
581
- /**
582
- * 房间任务完成时调用的函数。
583
- * @param code 任务完成后的状态
584
- * @param subscribe 订阅成功的列表
585
- * @param unsubscribe 取消订阅成功的列表
586
- * @param failedList 订阅失败的列表
587
- */
588
- onTaskCompleted?(code: RCRTCCode, subscribe: ISubscribeAttr[], unsubscribe: ISubscribeAttr[], failedList: ISubscribeAttr[]): void;
589
- }
590
- /**
591
- * RTCClient 初始化配置
592
- * @public
593
- */
594
- export interface IRCRTCInitOptions {
595
- /**
596
- * 自定义 MediaServer Url,公有云用户无需关注
597
- * @description
598
- * 1. 仅当 `location.hostname` 为 `localhost` 时,`http` 协议地址有效,否则必须使用 `https` 协议地址
599
- * 2. 当该值有效时,将不再从 IMLib 导航数据中获取 mediaServer 地址
600
- */
601
- mediaServer?: string;
602
- /**
603
- * 输出日志等级,生产环境默认使用 WARN,开发环境默认为 DEBUG
604
- * @description
605
- * * 0 - DEBUG
606
- * * 1 - INFO
607
- * * 2 - WARN
608
- * * 3 - ERROR
609
- */
610
- logLevel?: LogLevel;
611
- /**
612
- * 修改默认的 log 输出函数
613
- */
614
- logStdout?: (logLevel: LogLevel, content: string) => void;
615
- /**
616
- * 与 MediaServer 的 http 请求超时时间,单位为毫秒,默认值为 `5000`,有效值 `5000-30000`。
617
- * 优先级:用户配置 > 导航配置 > 默认时间。
618
- */
619
- timeout?: number;
620
- /**
621
- * 房间 Ping 间隔时长,默认 `10000` ms,有效值 `3000`-`10000`
622
- */
623
- pingGap?: number;
624
- /**
625
- * 优化使用的 SDP 协议版本,仅当运行时浏览器支持相应 SDP 协议版本时生效
626
- */
627
- sdpSemantics?: ISdpSemantics;
628
- /**
629
- * 观众拉内置 CDN 资源的直播拉流协议,默认为 RCInnerCDNPullKind.FLV
630
- */
631
- pullInnerCDNProtocol?: RCInnerCDNPullKind;
632
- /**
633
- * 观众拉内置 CDN 资源时是否使用 https,默认为 RCInnerCDNPullIsHttps.HTTPS
634
- */
635
- pullInnerCDNUseHttps?: RCInnerCDNPullIsHttps;
636
- /**
637
- * 音频降噪处理
638
- * - workletModule 默认值为 https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.1/process-worklet.js
639
- * - workletWasm 默认值为 https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.1/AudioProcessing.wasm
640
- * - isOpen 默认值为 false
641
- */
642
- audio?: {
643
- workletModule?: string;
644
- workletWasm?: string;
645
- isOpen?: boolean;
646
- };
647
- }
648
- export interface ICameraVideoProfile extends IVideoProfile {
649
- cameraId?: string;
650
- faceMode?: 'user' | 'environment';
651
- }
652
- export interface IMicphoneAudioProfile {
653
- micphoneId?: string;
654
- sampleRate?: number;
655
- }
656
- export interface ICreateLocalTrackOptions {
657
- /**
658
- * 剔除音轨
659
- */
660
- withoutAudio?: boolean;
661
- /**
662
- * 剔除视轨
663
- */
664
- withoutVideo?: boolean;
665
- }
666
- /**
667
- * 音量上报事件接口
668
- */
669
- export interface IAudioLevelChangeHandler {
670
- (audioLevelReportList: {
671
- track: RCLocalAudioTrack | RCRemoteAudioTrack;
672
- audioLevel: number;
673
- }[]): void;
674
- }
675
- /**
676
- * 房间资源数据
677
- */
678
- export declare type RoomData = {
679
- [userId: string]: IPublishedResource[];
680
- };
681
- /**
682
- * RCRTCMessageType.KICK content
683
- */
684
- export interface IRCRTCKickContent {
685
- users: {
686
- userId: string;
687
- type: RCKickReason;
688
- kickExtra?: any;
689
- }[];
690
- }
691
- /**
692
- * IMutilPeerC 中的 track 类型
693
- */
694
- export declare type TrackParam = RCLocalTrack | IPublishAttrs | RCRemoteTrack | ISubscribeAttr;
695
- /**
696
- * RCRTCPeerCManager 创建的一条 pcItem 上的数据类型
697
- */
698
- export interface IMutilPeerC {
699
- /**
700
- * pcName,/exchange 请求中 request header 中的 Peer-Connection-Id 值
701
- */
702
- pcName: string;
703
- /**
704
- * RCRTCPeerConnection 对象
705
- */
706
- pc: RCRTCPeerConnection;
707
- /**
708
- * 存放 peerConnection 上本次要发布、取消发布、订阅、取消订阅的 track
709
- */
710
- tracks: TrackParam[];
711
- }
712
- export interface IPKInfo {
713
- [roomId: string]: {
714
- inviteSessionId: string;
715
- inviterRoomId: string;
716
- inviterUserId: string;
717
- inviterUserAutoMix?: boolean;
718
- inviteeRoomId: string;
719
- inviteeUserAutoMix?: boolean;
720
- };
721
- }
722
- /**
723
- * 业务层发起连麦、响应连麦可选参数定义
724
- */
725
- export interface IReqResPKOptions {
726
- autoMix?: boolean;
727
- extra?: string;
728
- }
729
- export interface IPKInviterBaseInfo {
730
- /**
731
- * 邀请者房间 ID
732
- */
733
- inviterRoomId: string;
734
- /**
735
- * 邀请者用户 ID
736
- */
737
- inviterUserId: string;
738
- }
739
- export interface IPKInviteeBaseInfo {
740
- /**
741
- * 被邀请者房间 ID
742
- */
743
- inviteeRoomId: string;
744
- /**
745
- * 被邀请者用户 ID
746
- */
747
- inviteeUserId: string;
748
- }
749
- /**
750
- * 业务层监听收到连麦邀请、取消连麦的字段
751
- */
752
- export interface IPKInviteInfo extends IPKInviterBaseInfo {
753
- /**
754
- * 邀请额外信息
755
- */
756
- extra?: string;
757
- }
758
- export interface IPKInviteTimeoutInfo {
759
- /**
760
- * 被邀请者房间 ID
761
- */
762
- inviteeRoomId: string;
763
- /**
764
- * 被邀请者用户 ID
765
- */
766
- inviteUserId: string;
767
- }
768
- /**
769
- * 业务层监听收到连麦应答的字段
770
- */
771
- export interface IPKInviteAnswerInfo extends IPKInviterBaseInfo, IPKInviteeBaseInfo {
772
- /**
773
- * 是否同意邀请
774
- */
775
- agree: boolean;
776
- /**
777
- * 响应额外信息
778
- */
779
- extra?: string;
780
- }
781
- /**
782
- * 业务层监听收到连麦结束的字段
783
- */
784
- export interface IPKEndInfo {
785
- /**
786
- * 发起结束的房间 ID
787
- */
788
- endRoomId: string;
789
- /**
790
- * 发起结束的用户 ID
791
- */
792
- endUserId: string;
793
- }
794
- /**
795
- * 给 signal 发邀请连麦时,inviteInfo 字段的内容定义
796
- */
797
- export interface IReqInviteInfo extends IPKInviterBaseInfo, IPKInviteeBaseInfo {
798
- /**
799
- * 邀请超时时间
800
- */
801
- inviteeTimeoutTime: number;
802
- /**
803
- * 邀请 sessionId
804
- */
805
- inviteSessionId: string;
806
- /**
807
- * 邀请者房间是否合流
808
- */
809
- inviterUserAutoMix: boolean;
810
- /**
811
- * 额外信息
812
- */
813
- extra: string;
814
- }
815
- /**
816
- * 给 signal 发取消连麦时,inviteInfo 字段的内容定义
817
- */
818
- export interface ICancelReqInviteInfo extends IPKInviterBaseInfo, IPKInviteeBaseInfo {
819
- /**
820
- * 额外信息
821
- */
822
- extra: string;
823
- }
824
- /**
825
- * 给 signal 发响应连麦时,content 字段的内容定义
826
- */
827
- export interface IResInviteContent extends IPKInviterBaseInfo, IPKInviteeBaseInfo {
828
- /**
829
- * 邀请 sessionId
830
- */
831
- inviteSessionId: string;
832
- /**
833
- * 邀请者房间是否合流,收到 signal 转发的响应时存在
834
- */
835
- inviterUserAutoMix?: boolean;
836
- /**
837
- * 被邀请者房间是否合流
838
- */
839
- inviteeUserAutoMix: boolean;
840
- /**
841
- * 同意邀请时必传 `${inviterRoomId}|${inviteeRoomId}`
842
- */
843
- MultiRoomKey?: string;
844
- /**
845
- * 同意邀请时必传
846
- */
847
- MultiRoomValue?: string;
848
- /**
849
- * 额外信息
850
- */
851
- extra?: string;
852
- }
853
- /**
854
- * 给 signal 发结束连麦时,content 字段的内容定义
855
- */
856
- export interface IEndPKContent {
857
- /**
858
- * 被邀请者房间 ID
859
- */
860
- inviteeRoomId: string;
861
- /**
862
- * 邀请者房间 ID
863
- */
864
- inviterRoomId: string;
865
- /**
866
- * 当前登录用户 ID
867
- */
868
- userId: string;
869
- }
870
- /**
871
- * 收到结束 PK 时的消息字段
872
- */
873
- export interface IEndPKMsgContent {
874
- inviteInfo: IEndPKContent;
875
- inviteSessionId: string;
876
- }
877
- /**
878
- * 收到连麦邀请、取消连麦的消息体字段
879
- */
880
- export interface IPKMsgContent {
881
- /**
882
- * 邀请 sessionId
883
- */
884
- inviteSessionId: string;
885
- /**
886
- * 邀请消息为:IReqInviteInfo 序列化后字符串
887
- * 取消邀请消息为:ICancelReqInviteInfo 序列化后字符串
888
- * 超时消息为:IReqInviteInfo 序列化后字符串
889
- * 结束消息为:IEndPKContent 序列化后字符串
890
- */
891
- inviteInfo: IReqInviteInfo;
892
- }
893
- /**
894
- * 收到 PK 应答消息体字段
895
- */
896
- export interface IPKAnswerMsgContent {
897
- /**
898
- * 响应结果 0: 拒绝; 1: 接收
899
- */
900
- answerCode: number;
901
- /**
902
- * 邀请 sessionId
903
- */
904
- inviteSessionId: string;
905
- inviteeUserAutoMix: boolean;
906
- /**
907
- * 消息内容 IResInviteContent 序列化后字符串
908
- */
909
- inviteContent: IResInviteContent;
910
- }
911
- /**
912
- * 观众加房间返回给客户的 CDN 信息
913
- */
914
- export interface IJoinResCDNInfo {
915
- resolution?: RCResolution;
916
- fps?: RCFrameRate;
917
- CDNEnable?: boolean;
918
- }
919
- export interface IPubSuccessRes {
920
- code: RCRTCCode;
921
- liveUrl?: string;
922
- failedTracks?: {
923
- code: RCRTCCode;
924
- tracks: RCLocalTrack[];
925
- }[];
926
- }
927
- export interface IPubTaskRes {
928
- code: RCRTCCode;
929
- data?: IExchangeResponse | undefined;
930
- tracks: RCLocalTrack[];
931
- }
932
- export interface IChrmKVPullData {
933
- kvEntries: IServerRTCRoomEntry[];
934
- isFullUpdate?: boolean;
935
- syncTime?: number;
936
- }
937
- export interface IServerRTCKVList {
938
- entries: IServerRTCRoomEntry[];
939
- bFullUpdate: boolean;
940
- syncTime: number;
941
- }
942
- //# sourceMappingURL=interfaces.d.ts.map