@rongcloud/plugin-rtc 5.4.3 → 5.4.4

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 (39) hide show
  1. package/dist/core/Invoker.d.ts +8 -0
  2. package/dist/core/Store.d.ts +8 -4
  3. package/dist/core/command/AsyncCommand.d.ts +55 -0
  4. package/dist/core/command/AsyncSubscribeCommand.d.ts +28 -0
  5. package/dist/core/command/AsyncUnsubscribeCommand.d.ts +28 -0
  6. package/dist/core/command/AsyncUpdateSubscribeListCommand.d.ts +25 -0
  7. package/dist/core/command/BaseCommand.d.ts +9 -0
  8. package/dist/core/command/JoinRoomCommand.d.ts +2 -0
  9. package/dist/core/command/LeaveOtherRoomCommand.d.ts +2 -0
  10. package/dist/core/command/OnRemoteUserUnpubCommand.d.ts +2 -2
  11. package/dist/core/command/OnSignalReconnectedCommand.d.ts +2 -2
  12. package/dist/core/command/ParseRemoteResCommand.d.ts +5 -5
  13. package/dist/core/command/ParseUserStateCommand.d.ts +2 -2
  14. package/dist/core/command/{PubCommand.d.ts → PublishCommand.d.ts} +4 -2
  15. package/dist/core/command/{SubCommand.d.ts → SubscribeCommand.d.ts} +4 -4
  16. package/dist/core/command/{UnpubCommand.d.ts → UnpublishCommand.d.ts} +4 -2
  17. package/dist/core/command/UnpublishPrevCommand.d.ts +11 -0
  18. package/dist/core/command/{UnsubCommand.d.ts → UnsubscribeCommand.d.ts} +4 -4
  19. package/dist/core/command/{UpdateSubListCommand.d.ts → UpdateSubscribeListCommand.d.ts} +5 -5
  20. package/dist/core/enums/RCCommandKind.d.ts +12 -0
  21. package/dist/core/enums/RCLinkedListPoint.d.ts +6 -0
  22. package/dist/core/enums/RCLoggerTag.d.ts +13 -1
  23. package/dist/core/enums/RCRTCCode.d.ts +4 -2
  24. package/dist/core/enums/inner/RCRTCMessageType.d.ts +5 -1
  25. package/dist/core/interfaces.d.ts +19 -0
  26. package/dist/core/room/RCAbstractRoom.d.ts +30 -7
  27. package/dist/core/room/RCAudienceLivingRoom.d.ts +8 -0
  28. package/dist/core/tracks/RC3AnoiseTrack.d.ts +27 -0
  29. package/dist/core/tracks/RCLocalTrack.d.ts +14 -0
  30. package/dist/core/tracks/RCRemoteTrack.d.ts +6 -0
  31. package/dist/core/tracks/RCTrack.d.ts +5 -1
  32. package/dist/core/webrtc/RCRTCPeerCManager.d.ts +2 -0
  33. package/dist/core/webrtc/RCRTCPeerConnection.d.ts +2 -0
  34. package/dist/index.d.ts +130 -17
  35. package/dist/index.esm.js +2 -2
  36. package/dist/index.js +1 -1
  37. package/dist/index.umd.js +1 -1
  38. package/package.json +2 -2
  39. package/dist/core/command/UnpubPrevCommand.d.ts +0 -6
@@ -221,6 +221,10 @@ export default class RCAudienceLivingRoom {
221
221
  code: RCRTCCode;
222
222
  failedList?: ISubscribeAttr[];
223
223
  }>;
224
+ addSubscribeTask(tracks: (RCRemoteTrack | ISubscribeAttr)[]): Promise<{
225
+ code: RCRTCCode;
226
+ failedList?: ISubscribeAttr[];
227
+ }>;
224
228
  private __unsubscribe;
225
229
  /**
226
230
  * 取消订阅资源
@@ -230,6 +234,10 @@ export default class RCAudienceLivingRoom {
230
234
  code: RCRTCCode;
231
235
  failedList?: ISubscribeAttr[];
232
236
  }>;
237
+ addUnsubscribeTask(tracks: RCRemoteTrack[]): Promise<{
238
+ code: RCRTCCode;
239
+ failedList?: ISubscribeAttr[];
240
+ }>;
233
241
  /**
234
242
  * 退出房间并销毁当前房间实例,退出后该房间的所有方法将不可用
235
243
  */
@@ -0,0 +1,27 @@
1
+ export default class RC3AnoiseTrack {
2
+ static workletModule: string;
3
+ static workletWasm: string;
4
+ static isOpen: boolean;
5
+ /**
6
+ * 该函数接受一个布尔值作为参数,如果没有传递参数,该函数将默认为 true
7
+ * @param {boolean} [isOpen=true] - 轨道是否开放。
8
+ */
9
+ static setStatus(isOpen?: boolean): void;
10
+ /**
11
+ * 它设置 worklet 模块和 wasm。
12
+ * @param {string} module - 将用于创建工作集的模块的名称。
13
+ * @param {string} wasm - Rust 编译器生成的 wasm 文件。
14
+ */
15
+ static setWroklet(module: string, wasm: string): void;
16
+ /**
17
+ * 它创建一个 AudioContext,从输入流创建一个 MediaStreamSource,
18
+ * 创建一个 MediaStreamDestination,创建一个 AudioWorkletNode,并将节点连接在一起。
19
+ * @param {MediaStream} audioStream - 媒体流
20
+ * @returns 一个媒体流对象。
21
+ */
22
+ static transformStreamTrack(audioStream: MediaStream): Promise<{
23
+ track: MediaStreamTrack;
24
+ stop: Function;
25
+ }>;
26
+ }
27
+ //# sourceMappingURL=RC3AnoiseTrack.d.ts.map
@@ -61,6 +61,13 @@ export declare class RCLocalAudioTrack extends RCLocalTrack {
61
61
  * @param {number[]} args - [分钟,开始]
62
62
  */
63
63
  setBitrate(max: number, ...args: number[]): void;
64
+ protected _stopProcess: Function;
65
+ /**
66
+ * @override __innerSetMediaStreamTrack
67
+ * @params {track} MediaStreamTrack 添加音频流
68
+ * @params {track} undefined 销毁音频流
69
+ */
70
+ __innerSetMediaStreamTrack(track: MediaStreamTrack | undefined): void;
64
71
  }
65
72
  export declare class RCLocalVideoTrack extends RCLocalTrack {
66
73
  private _isTiny;
@@ -109,6 +116,13 @@ export declare class RCLocalFileAudioTrack extends RCLocalFileTrack {
109
116
  play(): Promise<{
110
117
  code: RCRTCCode;
111
118
  }>;
119
+ protected _stopProcess: Function;
120
+ /**
121
+ * @override __innerSetMediaStreamTrack
122
+ * @params {track} MediaStreamTrack 添加音频流
123
+ * @params {track} undefined 销毁音频流
124
+ */
125
+ __innerSetMediaStreamTrack(track: MediaStreamTrack | undefined): void;
112
126
  }
113
127
  export declare class RCMicphoneAudioTrack extends RCLocalAudioTrack {
114
128
  }
@@ -19,5 +19,11 @@ export declare class RCRemoteAudioTrack extends RCRemoteTrack {
19
19
  }
20
20
  export declare class RCRemoteVideoTrack extends RCRemoteTrack {
21
21
  constructor(tag: string, userId: string, roomId?: string);
22
+ private _isSubTiny;
23
+ __innerSetIsTinyTrack(bool: boolean): void;
24
+ /**
25
+ * 是否订阅的小流
26
+ */
27
+ isSubTiny(): boolean;
22
28
  }
23
29
  //# sourceMappingURL=RCRemoteTrack.d.ts.map
@@ -28,6 +28,11 @@ export declare abstract class RCTrack extends EventEmitter {
28
28
  */
29
29
  getUserId(): string;
30
30
  __innerGetMediaStreamTrack(): MediaStreamTrack | undefined;
31
+ /**
32
+ * 它返回 MediaStreamTrack 对象。
33
+ * @returns 表示媒体源的 MediaStreamTrack 对象。
34
+ */
35
+ get streamTrack(): (MediaStreamTrack | undefined);
31
36
  /**
32
37
  * 获取数据标识
33
38
  * @returns
@@ -72,7 +77,6 @@ export declare abstract class RCTrack extends EventEmitter {
72
77
  play(element?: HTMLVideoElement, options?: {
73
78
  volume?: number;
74
79
  audioDeviceId?: string;
75
- autoplay: boolean;
76
80
  }): Promise<{
77
81
  code: RCRTCCode;
78
82
  }>;
@@ -74,6 +74,8 @@ export default class RCRTCPeerCManager {
74
74
  private _createOnePeerCItem;
75
75
  /**
76
76
  * 创建一组 peerC
77
+ * 为了适应多 peerConnection 的场景做出的冗余设计,对单 peerConnection 进行数组进行封装
78
+ * 提示:useMutilPeerC 用户自定义的,没有明确场景,必须使用多 peerConnection
77
79
  * @param pcName
78
80
  * @returns
79
81
  */
@@ -32,6 +32,7 @@ export default class RCRTCPeerConnection extends EventEmitter {
32
32
  private _reTryExchangeTimer;
33
33
  private _reportStatsTimer;
34
34
  private _reportR3R4ToPolarisTimer;
35
+ private _isDestroyed;
35
36
  constructor(
36
37
  /**
37
38
  * peerConnection 对应名称
@@ -106,5 +107,6 @@ export default class RCRTCPeerConnection extends EventEmitter {
106
107
  getRTCPeerConn(): RTCPeerConnection;
107
108
  destroy(): void;
108
109
  clearReTryExchangeTimer(): void;
110
+ isDestroyed(): boolean;
109
111
  }
110
112
  //# sourceMappingURL=RCRTCPeerConnection.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.4.3
3
- * CommitId - 14f0acc9bca79c93547703c573d297dbd301594c
4
- * Tue Aug 02 2022 09:57:21 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.4.4
3
+ * CommitId - bc1f8f530851278c199d53868ad7c199d465f45e
4
+ * Tue Aug 09 2022 15:25:48 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  import { EventEmitter, RTCMode, IRuntime, RTCPluginContext, IJoinRTCRoomData, IReceivedMessage, ErrorCode, RTCJoinType, IRTCUserData, KVString, IServerRTCRoomEntry, LogLevel, IRTCJoinedInfo, IPluginGenerator } from '@rongcloud/engine';
@@ -50,7 +50,7 @@ declare enum RCRTCCode {
50
50
  /** 获取屏幕共享流失败 */
51
51
  GET_DISPLAY_MEDIA_FAILED = 53011,
52
52
  /** 权限问题导致获取媒体流被拒绝 */
53
- PERMISSION_DENIED = 53012,
53
+ BROWSER_PERMISSION_DENIED = 53012,
54
54
  /** 创建自定义流失败 */
55
55
  CREATE_CUSTOM_TRACK_FAILED = 53013,
56
56
  /** 无效的 TAG 定义 */
@@ -90,7 +90,9 @@ declare enum RCRTCCode {
90
90
  /** 资源没有全部发成功 */
91
91
  SOME_TRACKS_PUBLISH_FAILED = 53031,
92
92
  /** electron 中 mac 系统暂不支持屏幕共享采集声音 */
93
- MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO = 53032
93
+ MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO = 53032,
94
+ /** 获取媒体资源时,无系统权限 */
95
+ SYSTEM_PERMISSION_DENIED = 53033
94
96
  }
95
97
 
96
98
  /**
@@ -172,6 +174,11 @@ declare abstract class RCTrack extends EventEmitter {
172
174
  */
173
175
  getUserId(): string;
174
176
  __innerGetMediaStreamTrack(): MediaStreamTrack | undefined;
177
+ /**
178
+ * 它返回 MediaStreamTrack 对象。
179
+ * @returns 表示媒体源的 MediaStreamTrack 对象。
180
+ */
181
+ get streamTrack(): (MediaStreamTrack | undefined);
175
182
  /**
176
183
  * 获取数据标识
177
184
  * @returns
@@ -216,7 +223,6 @@ declare abstract class RCTrack extends EventEmitter {
216
223
  play(element?: HTMLVideoElement, options?: {
217
224
  volume?: number;
218
225
  audioDeviceId?: string;
219
- autoplay: boolean;
220
226
  }): Promise<{
221
227
  code: RCRTCCode;
222
228
  }>;
@@ -333,6 +339,13 @@ declare class RCLocalAudioTrack extends RCLocalTrack {
333
339
  * @param {number[]} args - [分钟,开始]
334
340
  */
335
341
  setBitrate(max: number, ...args: number[]): void;
342
+ protected _stopProcess: Function;
343
+ /**
344
+ * @override __innerSetMediaStreamTrack
345
+ * @params {track} MediaStreamTrack 添加音频流
346
+ * @params {track} undefined 销毁音频流
347
+ */
348
+ __innerSetMediaStreamTrack(track: MediaStreamTrack | undefined): void;
336
349
  }
337
350
  declare class RCLocalVideoTrack extends RCLocalTrack {
338
351
  private _isTiny;
@@ -381,6 +394,13 @@ declare class RCLocalFileAudioTrack extends RCLocalFileTrack {
381
394
  play(): Promise<{
382
395
  code: RCRTCCode;
383
396
  }>;
397
+ protected _stopProcess: Function;
398
+ /**
399
+ * @override __innerSetMediaStreamTrack
400
+ * @params {track} MediaStreamTrack 添加音频流
401
+ * @params {track} undefined 销毁音频流
402
+ */
403
+ __innerSetMediaStreamTrack(track: MediaStreamTrack | undefined): void;
384
404
  }
385
405
  declare class RCMicphoneAudioTrack extends RCLocalAudioTrack {
386
406
  }
@@ -411,6 +431,12 @@ declare class RCRemoteAudioTrack extends RCRemoteTrack {
411
431
  }
412
432
  declare class RCRemoteVideoTrack extends RCRemoteTrack {
413
433
  constructor(tag: string, userId: string, roomId?: string);
434
+ private _isSubTiny;
435
+ __innerSetIsTinyTrack(bool: boolean): void;
436
+ /**
437
+ * 是否订阅的小流
438
+ */
439
+ isSubTiny(): boolean;
414
440
  }
415
441
 
416
442
  /**
@@ -566,7 +592,11 @@ declare enum RCRTCMessageType {
566
592
  /**
567
593
  * 连麦的房间不再了或离线了,主直播房间会收到的消息通知
568
594
  */
569
- OTHER_ROOM_OFFLINE = "RCRTC:otherRoomOffline"
595
+ OTHER_ROOM_OFFLINE = "RCRTC:otherRoomOffline",
596
+ /**
597
+ * 订阅、取消订阅动作成功
598
+ */
599
+ ROOM_TASK_FINISH = "RCRTC:roomTaskFinish"
570
600
  }
571
601
 
572
602
  declare enum RCInnerCDNPushMode {
@@ -1248,6 +1278,18 @@ declare enum RCLivingType {
1248
1278
  AUDIO = 1
1249
1279
  }
1250
1280
 
1281
+ declare enum RCCommandKind {
1282
+ Unknow = 0,
1283
+ Publish = 1,
1284
+ UnPublish = 2,
1285
+ JoinRoom = 3,
1286
+ LeaveRoom = 4,
1287
+ UpdateSubscribeTask = 5,
1288
+ SubscribedTask = 6,
1289
+ UnSubscribedTask = 7,
1290
+ AsyncCommand = "AsyncCommand"
1291
+ }
1292
+
1251
1293
  declare class RCRTCPeerCManager {
1252
1294
  /**
1253
1295
  * 是否使用多 peerConnection
@@ -1321,6 +1363,8 @@ declare class RCRTCPeerCManager {
1321
1363
  private _createOnePeerCItem;
1322
1364
  /**
1323
1365
  * 创建一组 peerC
1366
+ * 为了适应多 peerConnection 的场景做出的冗余设计,对单 peerConnection 进行数组进行封装
1367
+ * 提示:useMutilPeerC 用户自定义的,没有明确场景,必须使用多 peerConnection
1324
1368
  * @param pcName
1325
1369
  * @returns
1326
1370
  */
@@ -1422,12 +1466,13 @@ declare abstract class ReadableStore {
1422
1466
  * 远端 track
1423
1467
  */
1424
1468
  protected _remoteTracks: {
1425
- [trackId: string]: RCRemoteTrack;
1469
+ [trackId: string]: RCRemoteAudioTrack | RCRemoteVideoTrack;
1426
1470
  };
1427
1471
  /**
1428
1472
  * 已订阅参数
1429
1473
  */
1430
- protected readonly _subscribedList: ISubscribeAttr[];
1474
+ protected _subscribedList: ISubscribeAttr[];
1475
+ protected _collectSubscribeList: ISubscribeAttr[];
1431
1476
  /**
1432
1477
  * 与 MediaServer 交互需要的 token 信息
1433
1478
  */
@@ -1448,12 +1493,13 @@ declare abstract class ReadableStore {
1448
1493
  getRemoteTrack(trackId: string): RCRemoteTrack | undefined;
1449
1494
  getRemoteTracksByUserId(userId: string): RCRemoteTrack[];
1450
1495
  getRemoteTracks(): {
1451
- [trackId: string]: RCRemoteTrack;
1496
+ [trackId: string]: RCRemoteAudioTrack | RCRemoteVideoTrack;
1452
1497
  };
1453
1498
  getSessionId(): string;
1454
1499
  getAllUserIds(): string[];
1455
1500
  getRemoteUserIds(): string[];
1456
1501
  getSubscribedList(): ISubscribeAttr[];
1502
+ getCollectSubscribeList(): ISubscribeAttr[];
1457
1503
  getPublishedResourceByTrackId(trackId: string): IPublishedResource | undefined;
1458
1504
  getToken(): string;
1459
1505
  getLocalTrack(trackId: string): RCLocalTrack | null;
@@ -1473,6 +1519,8 @@ declare class Store extends ReadableStore {
1473
1519
  removeRemoteTracks(): void;
1474
1520
  setCDNEnabel(bool: boolean): void;
1475
1521
  setCDNUris(uris: ICDNUris | null): void;
1522
+ resetSubscribedList(subscribeList: ISubscribeAttr[]): void;
1523
+ resetCollectSubscribeList(collectSubscribeList: ISubscribeAttr[]): void;
1476
1524
  }
1477
1525
 
1478
1526
  declare enum CommandPriority {
@@ -1493,6 +1541,11 @@ declare abstract class BaseCommand<RES, STORE = Store> {
1493
1541
  * 获取指令优先级,必要时可 override 此函数
1494
1542
  */
1495
1543
  get priority(): CommandPriority;
1544
+ /**
1545
+ * 它返回命令的种类。
1546
+ * @returns 命令的种类。
1547
+ */
1548
+ get kind(): RCCommandKind;
1496
1549
  }
1497
1550
 
1498
1551
  declare class BaseInvoker<STORE> {
@@ -1519,6 +1572,14 @@ declare class BaseInvoker<STORE> {
1519
1572
  private _execute;
1520
1573
  push<R>(command: BaseCommand<R, STORE>): Promise<R>;
1521
1574
  private _isDestroyed;
1575
+ /**
1576
+ * 查找出 RCCommandKind.AsyncCommand 类型的 Command,并将其从队列中删除
1577
+ * 并使用最新的一次 Command 接管它的 resolve & reject
1578
+ * @param resolve
1579
+ * @param reject
1580
+ * @returns 具有两个属性的对象,resolve 和 reject。
1581
+ */
1582
+ private commandOffset;
1522
1583
  isDestroyed(): boolean;
1523
1584
  destroy(): void;
1524
1585
  }
@@ -1944,6 +2005,12 @@ declare abstract class RCAbstractRoom extends EventEmitter {
1944
2005
  code: RCRTCCode;
1945
2006
  failedList?: ISubscribeAttr[];
1946
2007
  }>;
2008
+ /**
2009
+ * 它将订阅任务添加到队列中。
2010
+ * @param {(RCRemoteTrack | ISubscribeAttr)[]} tracks - (RCRemoteTrack | ISubscribeAttr)[]
2011
+ * @returns 一个用代码和失败列表解析为对象的承诺。
2012
+ */
2013
+ addSubscribeTask(tracks: (RCRemoteTrack | ISubscribeAttr)[]): void;
1947
2014
  /**
1948
2015
  * 取消订阅资源
1949
2016
  * @param tracks 预取消远端资源
@@ -1952,6 +2019,27 @@ declare abstract class RCAbstractRoom extends EventEmitter {
1952
2019
  code: RCRTCCode;
1953
2020
  failedList?: ISubscribeAttr[];
1954
2021
  }>;
2022
+ /**
2023
+ * 它将取消订阅任务添加到队列中。
2024
+ * @param {RCRemoteTrack[]} tracks - 要取消订阅的曲目。
2025
+ * @returns 一个用代码和失败列表解析为对象的承诺。
2026
+ */
2027
+ addUnsubscribeTask(tracks: RCRemoteTrack[]): void;
2028
+ /**
2029
+ * 强制修改订阅列表,仅订阅数组中的资源,取消订阅其他已订阅资源。
2030
+ * 当参数为 `[]` 时,意味着不再订阅任何资源
2031
+ * @param tracks 变更的资源列表
2032
+ */
2033
+ updateSubList(tracks: (RCRemoteTrack | ISubscribeAttr)[]): Promise<{
2034
+ code: RCRTCCode;
2035
+ failedList?: ISubscribeAttr[];
2036
+ }>;
2037
+ /**
2038
+ * 将任务添加到任务队列的函数。
2039
+ * @param {(RCRemoteTrack | ISubscribeAttr)[]} tracks - (RCRemoteTrack | ISubscribeAttr)[]
2040
+ */
2041
+ addUpdateSubscribeListTask(tracks: (RCRemoteTrack | ISubscribeAttr)[]): void;
2042
+ private _onTaskCompleted;
1955
2043
  /**
1956
2044
  * 获取已发布的本地资源
1957
2045
  * @param trackId
@@ -1969,14 +2057,10 @@ declare abstract class RCAbstractRoom extends EventEmitter {
1969
2057
  */
1970
2058
  getRemoteTrack(trackId: string): RCRemoteTrack | null;
1971
2059
  /**
1972
- * 强制修改订阅列表,仅订阅数组中的资源,取消订阅其他已订阅资源。
1973
- * 当参数为 `[]` 时,意味着不再订阅任何资源
1974
- * @param tracks 变更的资源列表
2060
+ * 获取当前已经订阅的全量资源
2061
+ * returns subscribedTracks ISubscribeAttr[]
1975
2062
  */
1976
- updateSubList(tracks: (RCRemoteTrack | ISubscribeAttr)[]): Promise<{
1977
- code: RCRTCCode;
1978
- failedList?: ISubscribeAttr[];
1979
- }>;
2063
+ get subscribedTracks(): ISubscribeAttr[];
1980
2064
  private _appListener;
1981
2065
  /**
1982
2066
  * 注册事件监听器,多次注册会导致后者覆盖前者,可以通过使用 `registerRoomEventListener(null)` 取消注册
@@ -2239,6 +2323,10 @@ declare class RCAudienceLivingRoom {
2239
2323
  code: RCRTCCode;
2240
2324
  failedList?: ISubscribeAttr[];
2241
2325
  }>;
2326
+ addSubscribeTask(tracks: (RCRemoteTrack | ISubscribeAttr)[]): Promise<{
2327
+ code: RCRTCCode;
2328
+ failedList?: ISubscribeAttr[];
2329
+ }>;
2242
2330
  private __unsubscribe;
2243
2331
  /**
2244
2332
  * 取消订阅资源
@@ -2248,6 +2336,10 @@ declare class RCAudienceLivingRoom {
2248
2336
  code: RCRTCCode;
2249
2337
  failedList?: ISubscribeAttr[];
2250
2338
  }>;
2339
+ addUnsubscribeTask(tracks: RCRemoteTrack[]): Promise<{
2340
+ code: RCRTCCode;
2341
+ failedList?: ISubscribeAttr[];
2342
+ }>;
2251
2343
  /**
2252
2344
  * 退出房间并销毁当前房间实例,退出后该房间的所有方法将不可用
2253
2345
  */
@@ -2409,6 +2501,7 @@ declare class RCRTCPeerConnection extends EventEmitter {
2409
2501
  private _reTryExchangeTimer;
2410
2502
  private _reportStatsTimer;
2411
2503
  private _reportR3R4ToPolarisTimer;
2504
+ private _isDestroyed;
2412
2505
  constructor(
2413
2506
  /**
2414
2507
  * peerConnection 对应名称
@@ -2483,6 +2576,7 @@ declare class RCRTCPeerConnection extends EventEmitter {
2483
2576
  getRTCPeerConn(): RTCPeerConnection;
2484
2577
  destroy(): void;
2485
2578
  clearReTryExchangeTimer(): void;
2579
+ isDestroyed(): boolean;
2486
2580
  }
2487
2581
 
2488
2582
  interface IRCTrackBitrate {
@@ -2879,6 +2973,14 @@ interface IRoomEventListener extends IRCRTCTrackEventListener {
2879
2973
  * 主播和观众切换身份通知
2880
2974
  */
2881
2975
  onSwitchRole?(userId: string, role: RCRTCLiveRole): void;
2976
+ /**
2977
+ * 房间任务完成时调用的函数。
2978
+ * @param code 任务完成后的状态
2979
+ * @param subscribe 订阅成功的列表
2980
+ * @param unsubscribe 取消订阅成功的列表
2981
+ * @param failedList 订阅失败的列表
2982
+ */
2983
+ onTaskCompleted?(code: RCRTCCode, subscribe: ISubscribeAttr[], unsubscribe: ISubscribeAttr[], failedList: ISubscribeAttr[]): void;
2882
2984
  }
2883
2985
  /**
2884
2986
  * RTCClient 初始化配置
@@ -2926,6 +3028,17 @@ interface IRCRTCInitOptions {
2926
3028
  * 观众拉内置 CDN 资源时是否使用 https,默认为 RCInnerCDNPullIsHttps.HTTPS
2927
3029
  */
2928
3030
  pullInnerCDNUseHttps?: RCInnerCDNPullIsHttps;
3031
+ /**
3032
+ * 音频降噪处理
3033
+ * - workletModule 默认值为 https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.1/process-worklet.js
3034
+ * - workletWasm 默认值为 https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.1/AudioProcessing.wasm
3035
+ * - isOpen 默认值为 false
3036
+ */
3037
+ audio?: {
3038
+ workletModule?: string;
3039
+ workletWasm?: string;
3040
+ isOpen?: boolean;
3041
+ };
2929
3042
  }
2930
3043
  interface ICameraVideoProfile extends IVideoProfile {
2931
3044
  cameraId?: string;