@rongcloud/plugin-rtc 5.6.21 → 5.7.0-enterprise-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.
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +281 -232
- package/dist/index.esm.js +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -581,11 +581,12 @@ declare enum RTCMode {
|
|
|
581
581
|
*/
|
|
582
582
|
CROSS_MUTI = 7,
|
|
583
583
|
/**
|
|
584
|
-
*
|
|
584
|
+
* SIP 呼叫
|
|
585
|
+
* @private
|
|
585
586
|
*/
|
|
586
587
|
SIP = 4,
|
|
587
588
|
/**
|
|
588
|
-
* 内部 Callplus
|
|
589
|
+
* 内部 Callplus 呼叫类型,请勿使用
|
|
589
590
|
* @private
|
|
590
591
|
*/
|
|
591
592
|
CALL = 5
|
|
@@ -1242,6 +1243,19 @@ declare enum PullRoomStatusEvent {
|
|
|
1242
1243
|
RESOURCECHANGE = 3
|
|
1243
1244
|
}
|
|
1244
1245
|
|
|
1246
|
+
declare type RTCEncodedFrame = RTCEncodedAudioFrame | RTCEncodedVideoFrame;
|
|
1247
|
+
declare type RCEncryptFunction<T extends RTCEncodedFrame> = (data: T) => T;
|
|
1248
|
+
interface IRCEncryptorHooks {
|
|
1249
|
+
/**
|
|
1250
|
+
* 加密回调,用于接收待加密的 opus 音频和 h.264 视频帧数据
|
|
1251
|
+
*/
|
|
1252
|
+
decode: RCEncryptFunction<RTCEncodedFrame>;
|
|
1253
|
+
/**
|
|
1254
|
+
* 解密回调,用于接收待解密的 opus 音频和 h.264 视频帧数据
|
|
1255
|
+
*/
|
|
1256
|
+
encode: RCEncryptFunction<RTCEncodedFrame>;
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1245
1259
|
interface IRCTrackBitrate {
|
|
1246
1260
|
/**
|
|
1247
1261
|
* 最大码率
|
|
@@ -1949,6 +1963,10 @@ interface IRCRTCInitOptions {
|
|
|
1949
1963
|
* @deprecated
|
|
1950
1964
|
*/
|
|
1951
1965
|
audio?: any;
|
|
1966
|
+
/**
|
|
1967
|
+
* 加密机创建参数
|
|
1968
|
+
*/
|
|
1969
|
+
encryptor?: IRCEncryptorHooks;
|
|
1952
1970
|
}
|
|
1953
1971
|
interface ICameraVideoProfile extends IVideoProfile {
|
|
1954
1972
|
cameraId?: string;
|
|
@@ -2455,19 +2473,19 @@ interface ISetEnableCDN {
|
|
|
2455
2473
|
}
|
|
2456
2474
|
|
|
2457
2475
|
/**
|
|
2458
|
-
*
|
|
2476
|
+
* 多端登录时,加入房间时的踢人策略
|
|
2459
2477
|
*/
|
|
2460
2478
|
declare enum RTCJoinType {
|
|
2461
2479
|
/**
|
|
2462
|
-
*
|
|
2480
|
+
* 踢出已存在于房间的设备,以便于当前设备加入房间
|
|
2463
2481
|
*/
|
|
2464
2482
|
KICK = 0,
|
|
2465
2483
|
/**
|
|
2466
|
-
*
|
|
2484
|
+
* 保持已存在于房间的设备,拒绝当前设备加入房间
|
|
2467
2485
|
*/
|
|
2468
2486
|
REFUSE = 1,
|
|
2469
2487
|
/**
|
|
2470
|
-
*
|
|
2488
|
+
* 两个设备共存,但发布的资源会相互覆盖,以最后发布的为准
|
|
2471
2489
|
*/
|
|
2472
2490
|
COEXIST = 2
|
|
2473
2491
|
}
|
|
@@ -2789,74 +2807,135 @@ declare class RCMediaService {
|
|
|
2789
2807
|
}>;
|
|
2790
2808
|
}
|
|
2791
2809
|
|
|
2792
|
-
|
|
2793
|
-
* RTC 消息类型常量
|
|
2794
|
-
* @private
|
|
2795
|
-
*/
|
|
2796
|
-
declare enum RCRTCMessageType {
|
|
2810
|
+
declare enum RCCommandKind {
|
|
2797
2811
|
/**
|
|
2798
|
-
*
|
|
2799
|
-
* @deprecated
|
|
2812
|
+
* 发信令取消加入房间之前的资源
|
|
2800
2813
|
*/
|
|
2801
|
-
|
|
2814
|
+
UNPUBLISH_PREV = "UnpublishPrevCommand",
|
|
2802
2815
|
/**
|
|
2803
|
-
*
|
|
2804
|
-
* @deprecated
|
|
2816
|
+
* 拉取房间内数据
|
|
2805
2817
|
*/
|
|
2806
|
-
|
|
2818
|
+
PULL_RTCROOM_STATUS = "PullRTCRoomStatusCommand",
|
|
2807
2819
|
/**
|
|
2808
|
-
*
|
|
2809
|
-
* @deprecated
|
|
2820
|
+
* 加入房间
|
|
2810
2821
|
*/
|
|
2811
|
-
|
|
2822
|
+
JOINROOM = "JoinRoomCommand",
|
|
2812
2823
|
/**
|
|
2813
|
-
*
|
|
2824
|
+
* 解析远端资源数据
|
|
2814
2825
|
*/
|
|
2815
|
-
|
|
2826
|
+
PARSE_REMOTERES = "ParseRemoteResCommand",
|
|
2816
2827
|
/**
|
|
2817
|
-
*
|
|
2828
|
+
* 解析远端人员数据
|
|
2818
2829
|
*/
|
|
2819
|
-
|
|
2830
|
+
PARSE_USERSTATE = "ParseUserStateCommand",
|
|
2820
2831
|
/**
|
|
2821
|
-
*
|
|
2832
|
+
* 本端 track 禁用/启用
|
|
2822
2833
|
*/
|
|
2823
|
-
|
|
2834
|
+
LOCAL_TRACK_MUTE = "LocalTrackMuteCommand",
|
|
2824
2835
|
/**
|
|
2825
|
-
*
|
|
2836
|
+
* 发布资源
|
|
2826
2837
|
*/
|
|
2827
|
-
|
|
2838
|
+
PUBLISH = "PublishCommand",
|
|
2828
2839
|
/**
|
|
2829
|
-
*
|
|
2840
|
+
* 恢复 ice 连接
|
|
2830
2841
|
*/
|
|
2831
|
-
|
|
2842
|
+
RETRY_EXCHANGE = "RetryExchangeCommand",
|
|
2832
2843
|
/**
|
|
2833
|
-
*
|
|
2844
|
+
* 取消发布
|
|
2834
2845
|
*/
|
|
2835
|
-
|
|
2846
|
+
UNPUBLISH = "UnpublishCommand",
|
|
2836
2847
|
/**
|
|
2837
|
-
*
|
|
2848
|
+
* 订阅
|
|
2838
2849
|
*/
|
|
2839
|
-
|
|
2850
|
+
SUBSCRIBE = "SubscribeCommand",
|
|
2840
2851
|
/**
|
|
2841
|
-
*
|
|
2852
|
+
* 取消订阅
|
|
2842
2853
|
*/
|
|
2843
|
-
|
|
2854
|
+
UNSUBSCRIBE = "UnsubscribeCommand",
|
|
2844
2855
|
/**
|
|
2845
|
-
*
|
|
2856
|
+
* 全量订阅
|
|
2846
2857
|
*/
|
|
2847
|
-
|
|
2858
|
+
UPDATE_SUBSCRIBE_LIST = "UpdateSubscribeListCommand",
|
|
2848
2859
|
/**
|
|
2849
|
-
*
|
|
2860
|
+
* im 重连房间内人员、资源处理
|
|
2850
2861
|
*/
|
|
2851
|
-
|
|
2862
|
+
ON_SIGNAL_RECONNECTED = "OnSignalReconnectedCommand",
|
|
2852
2863
|
/**
|
|
2853
|
-
*
|
|
2864
|
+
* 退出副房间
|
|
2854
2865
|
*/
|
|
2855
|
-
|
|
2866
|
+
LEAVE_OTHER_ROOM = "LeaveOtherRoomCommand",
|
|
2856
2867
|
/**
|
|
2857
|
-
*
|
|
2868
|
+
* 主播、观众切换身份
|
|
2858
2869
|
*/
|
|
2859
|
-
|
|
2870
|
+
RTC_IDENTITY_CHANGE = "RTCIdentityChangeCommand",
|
|
2871
|
+
/**
|
|
2872
|
+
* 开/关 CDN
|
|
2873
|
+
*/
|
|
2874
|
+
ENABLE_INNER_CDN = "EnableInnerCDNCommand",
|
|
2875
|
+
/**
|
|
2876
|
+
* 携带副房间信息重新发 /exchange 请求
|
|
2877
|
+
*/
|
|
2878
|
+
EXCHANGE_WITH_PUSH_OTHER_ROOM = "ExchangeWithPushOtherRoomCommand",
|
|
2879
|
+
/**
|
|
2880
|
+
* 发送 MCU 请求
|
|
2881
|
+
*/
|
|
2882
|
+
MCUCONFIG_FLUSH = "MCUConfigFlushCommand",
|
|
2883
|
+
UNKNOWN = "Unknown"
|
|
2884
|
+
}
|
|
2885
|
+
|
|
2886
|
+
declare class ReportMediaActionLogger {
|
|
2887
|
+
private readonly _logger;
|
|
2888
|
+
private _roomId;
|
|
2889
|
+
private _clientSessionId;
|
|
2890
|
+
private _userId;
|
|
2891
|
+
/**
|
|
2892
|
+
* 埋点上报的基础数据
|
|
2893
|
+
*/
|
|
2894
|
+
private _baseReportData;
|
|
2895
|
+
/**
|
|
2896
|
+
* 埋点上报的网络数据
|
|
2897
|
+
*/
|
|
2898
|
+
private _networkReportData;
|
|
2899
|
+
/**
|
|
2900
|
+
* 最新发布或订阅成功的时间
|
|
2901
|
+
*/
|
|
2902
|
+
private _pubOrSubSuccessTime;
|
|
2903
|
+
/**
|
|
2904
|
+
* 记录每一条 peerConnection 当前的连接状态和更新时间
|
|
2905
|
+
*/
|
|
2906
|
+
private _peerCStatus?;
|
|
2907
|
+
constructor(_logger: BasicLogger, _roomId: string, _clientSessionId: string, _userId: string);
|
|
2908
|
+
/**
|
|
2909
|
+
* 加房间
|
|
2910
|
+
*/
|
|
2911
|
+
reportQualityJoinRoomData: (start: number, code: ErrorCode, roomType: RTCMode$1, sessionId?: string | undefined) => void;
|
|
2912
|
+
/**
|
|
2913
|
+
* 异常掉线
|
|
2914
|
+
*/
|
|
2915
|
+
reportQualityKickedData(kickType: RCKickReason): void;
|
|
2916
|
+
/**
|
|
2917
|
+
* 发布资源、取消发布、订阅、取消订阅
|
|
2918
|
+
*/
|
|
2919
|
+
reportPubOrSubQualityData(type: RCRTCResourceAction, start: number, tracks: (RCLocalTrack | ISubscribeAttr | RCRemoteTrack)[], code: ErrorCode | RCRTCCode, msas?: {
|
|
2920
|
+
[trackId: string]: IMediaServerQualityData[];
|
|
2921
|
+
}, sigs?: ISignalQualityData[]): void;
|
|
2922
|
+
/**
|
|
2923
|
+
* 收到其他端发布通知
|
|
2924
|
+
*/
|
|
2925
|
+
reportQualityRecvPubMsgData(sentTime: number, senderUserId: string): void;
|
|
2926
|
+
/**
|
|
2927
|
+
* 设置最新发布或订阅成功的时间
|
|
2928
|
+
*/
|
|
2929
|
+
setPubOrSubSuccessTime(time: number): void;
|
|
2930
|
+
/**
|
|
2931
|
+
* 发布或订阅成功到 ICE 首次连接成功
|
|
2932
|
+
* 一个 peerConnection 只会触发一次
|
|
2933
|
+
*/
|
|
2934
|
+
reportIceFirstConnectData(type: string): void;
|
|
2935
|
+
/**
|
|
2936
|
+
* ice 连接状态统计
|
|
2937
|
+
*/
|
|
2938
|
+
recordQualityIceStatusData(iceCandidatePair: IRCCandidatePairStat, status: RTCIceConnectionState, time: number): void;
|
|
2860
2939
|
}
|
|
2861
2940
|
|
|
2862
2941
|
declare enum RCEncoder {
|
|
@@ -3324,7 +3403,7 @@ declare class RCRTCPeerConnection extends EventEmitter {
|
|
|
3324
3403
|
/**
|
|
3325
3404
|
* _reTryExchange 方法
|
|
3326
3405
|
*/
|
|
3327
|
-
_reTryExchange: () => void
|
|
3406
|
+
_reTryExchange: () => Promise<ICommandResult<void>>,
|
|
3328
3407
|
/**
|
|
3329
3408
|
* 当前用户 id
|
|
3330
3409
|
*/
|
|
@@ -3340,12 +3419,18 @@ declare class RCRTCPeerConnection extends EventEmitter {
|
|
|
3340
3419
|
/**
|
|
3341
3420
|
* 是否是房间内观众
|
|
3342
3421
|
*/
|
|
3343
|
-
_isRoomAudience?: boolean
|
|
3422
|
+
_isRoomAudience?: boolean,
|
|
3423
|
+
/**
|
|
3424
|
+
* 是否启用自定义加密
|
|
3425
|
+
*/
|
|
3426
|
+
encrypt?: boolean);
|
|
3344
3427
|
getLocalTracks(): RCLocalTrack[];
|
|
3345
3428
|
private _onConnectionStateChange;
|
|
3346
3429
|
private startAutoExecute;
|
|
3347
3430
|
private stopAutoExecute;
|
|
3348
3431
|
private _onICEConnectionStateChange;
|
|
3432
|
+
private _inRetry;
|
|
3433
|
+
private _handleRetry;
|
|
3349
3434
|
private _onTrackReady;
|
|
3350
3435
|
/**
|
|
3351
3436
|
* @deprecated use RCLocalTrack.setBitrate instead of setBitrate
|
|
@@ -3452,137 +3537,6 @@ declare class RCRTCPeerConnection extends EventEmitter {
|
|
|
3452
3537
|
isDestroyed(): boolean;
|
|
3453
3538
|
}
|
|
3454
3539
|
|
|
3455
|
-
declare enum RCCommandKind {
|
|
3456
|
-
/**
|
|
3457
|
-
* 发信令取消加入房间之前的资源
|
|
3458
|
-
*/
|
|
3459
|
-
UNPUBLISH_PREV = "UnpublishPrevCommand",
|
|
3460
|
-
/**
|
|
3461
|
-
* 拉取房间内数据
|
|
3462
|
-
*/
|
|
3463
|
-
PULL_RTCROOM_STATUS = "PullRTCRoomStatusCommand",
|
|
3464
|
-
/**
|
|
3465
|
-
* 加入房间
|
|
3466
|
-
*/
|
|
3467
|
-
JOINROOM = "JoinRoomCommand",
|
|
3468
|
-
/**
|
|
3469
|
-
* 解析远端资源数据
|
|
3470
|
-
*/
|
|
3471
|
-
PARSE_REMOTERES = "ParseRemoteResCommand",
|
|
3472
|
-
/**
|
|
3473
|
-
* 解析远端人员数据
|
|
3474
|
-
*/
|
|
3475
|
-
PARSE_USERSTATE = "ParseUserStateCommand",
|
|
3476
|
-
/**
|
|
3477
|
-
* 本端 track 禁用/启用
|
|
3478
|
-
*/
|
|
3479
|
-
LOCAL_TRACK_MUTE = "LocalTrackMuteCommand",
|
|
3480
|
-
/**
|
|
3481
|
-
* 发布资源
|
|
3482
|
-
*/
|
|
3483
|
-
PUBLISH = "PublishCommand",
|
|
3484
|
-
/**
|
|
3485
|
-
* 恢复 ice 连接
|
|
3486
|
-
*/
|
|
3487
|
-
RETRY_EXCHANGE = "RetryExchangeCommand",
|
|
3488
|
-
/**
|
|
3489
|
-
* 取消发布
|
|
3490
|
-
*/
|
|
3491
|
-
UNPUBLISH = "UnpublishCommand",
|
|
3492
|
-
/**
|
|
3493
|
-
* 订阅
|
|
3494
|
-
*/
|
|
3495
|
-
SUBSCRIBE = "SubscribeCommand",
|
|
3496
|
-
/**
|
|
3497
|
-
* 取消订阅
|
|
3498
|
-
*/
|
|
3499
|
-
UNSUBSCRIBE = "UnsubscribeCommand",
|
|
3500
|
-
/**
|
|
3501
|
-
* 全量订阅
|
|
3502
|
-
*/
|
|
3503
|
-
UPDATE_SUBSCRIBE_LIST = "UpdateSubscribeListCommand",
|
|
3504
|
-
/**
|
|
3505
|
-
* im 重连房间内人员、资源处理
|
|
3506
|
-
*/
|
|
3507
|
-
ON_SIGNAL_RECONNECTED = "OnSignalReconnectedCommand",
|
|
3508
|
-
/**
|
|
3509
|
-
* 退出副房间
|
|
3510
|
-
*/
|
|
3511
|
-
LEAVE_OTHER_ROOM = "LeaveOtherRoomCommand",
|
|
3512
|
-
/**
|
|
3513
|
-
* 主播、观众切换身份
|
|
3514
|
-
*/
|
|
3515
|
-
RTC_IDENTITY_CHANGE = "RTCIdentityChangeCommand",
|
|
3516
|
-
/**
|
|
3517
|
-
* 开/关 CDN
|
|
3518
|
-
*/
|
|
3519
|
-
ENABLE_INNER_CDN = "EnableInnerCDNCommand",
|
|
3520
|
-
/**
|
|
3521
|
-
* 携带副房间信息重新发 /exchange 请求
|
|
3522
|
-
*/
|
|
3523
|
-
EXCHANGE_WITH_PUSH_OTHER_ROOM = "ExchangeWithPushOtherRoomCommand",
|
|
3524
|
-
/**
|
|
3525
|
-
* 发送 MCU 请求
|
|
3526
|
-
*/
|
|
3527
|
-
MCUCONFIG_FLUSH = "MCUConfigFlushCommand",
|
|
3528
|
-
UNKNOWN = "Unknown"
|
|
3529
|
-
}
|
|
3530
|
-
|
|
3531
|
-
declare class ReportMediaActionLogger {
|
|
3532
|
-
private readonly _logger;
|
|
3533
|
-
private _roomId;
|
|
3534
|
-
private _clientSessionId;
|
|
3535
|
-
private _userId;
|
|
3536
|
-
/**
|
|
3537
|
-
* 埋点上报的基础数据
|
|
3538
|
-
*/
|
|
3539
|
-
private _baseReportData;
|
|
3540
|
-
/**
|
|
3541
|
-
* 埋点上报的网络数据
|
|
3542
|
-
*/
|
|
3543
|
-
private _networkReportData;
|
|
3544
|
-
/**
|
|
3545
|
-
* 最新发布或订阅成功的时间
|
|
3546
|
-
*/
|
|
3547
|
-
private _pubOrSubSuccessTime;
|
|
3548
|
-
/**
|
|
3549
|
-
* 记录每一条 peerConnection 当前的连接状态和更新时间
|
|
3550
|
-
*/
|
|
3551
|
-
private _peerCStatus?;
|
|
3552
|
-
constructor(_logger: BasicLogger, _roomId: string, _clientSessionId: string, _userId: string);
|
|
3553
|
-
/**
|
|
3554
|
-
* 加房间
|
|
3555
|
-
*/
|
|
3556
|
-
reportQualityJoinRoomData: (start: number, code: ErrorCode, roomType: RTCMode$1, sessionId?: string | undefined) => void;
|
|
3557
|
-
/**
|
|
3558
|
-
* 异常掉线
|
|
3559
|
-
*/
|
|
3560
|
-
reportQualityKickedData(kickType: RCKickReason): void;
|
|
3561
|
-
/**
|
|
3562
|
-
* 发布资源、取消发布、订阅、取消订阅
|
|
3563
|
-
*/
|
|
3564
|
-
reportPubOrSubQualityData(type: RCRTCResourceAction, start: number, tracks: (RCLocalTrack | ISubscribeAttr | RCRemoteTrack)[], code: ErrorCode | RCRTCCode, msas?: {
|
|
3565
|
-
[trackId: string]: IMediaServerQualityData[];
|
|
3566
|
-
}, sigs?: ISignalQualityData[]): void;
|
|
3567
|
-
/**
|
|
3568
|
-
* 收到其他端发布通知
|
|
3569
|
-
*/
|
|
3570
|
-
reportQualityRecvPubMsgData(sentTime: number, senderUserId: string): void;
|
|
3571
|
-
/**
|
|
3572
|
-
* 设置最新发布或订阅成功的时间
|
|
3573
|
-
*/
|
|
3574
|
-
setPubOrSubSuccessTime(time: number): void;
|
|
3575
|
-
/**
|
|
3576
|
-
* 发布或订阅成功到 ICE 首次连接成功
|
|
3577
|
-
* 一个 peerConnection 只会触发一次
|
|
3578
|
-
*/
|
|
3579
|
-
reportIceFirstConnectData(type: string): void;
|
|
3580
|
-
/**
|
|
3581
|
-
* ice 连接状态统计
|
|
3582
|
-
*/
|
|
3583
|
-
recordQualityIceStatusData(iceCandidatePair: IRCCandidatePairStat, status: RTCIceConnectionState, time: number): void;
|
|
3584
|
-
}
|
|
3585
|
-
|
|
3586
3540
|
/**
|
|
3587
3541
|
* 命令执行上下文
|
|
3588
3542
|
*/
|
|
@@ -3658,40 +3612,6 @@ declare class CommandExecuteContext extends EventEmitter {
|
|
|
3658
3612
|
getPushOtherRooms: () => IPushOtherRooms[];
|
|
3659
3613
|
}
|
|
3660
3614
|
|
|
3661
|
-
declare enum CommandPriority {
|
|
3662
|
-
LOW = 0,
|
|
3663
|
-
NORMAL = 1,
|
|
3664
|
-
HIGH = 2
|
|
3665
|
-
}
|
|
3666
|
-
declare type ICommandResult<R = void> = {
|
|
3667
|
-
code: number;
|
|
3668
|
-
data?: R;
|
|
3669
|
-
};
|
|
3670
|
-
/**
|
|
3671
|
-
* 命令基类
|
|
3672
|
-
* @typeParams R - 返回值类型声明
|
|
3673
|
-
* @typeParams T - 命令执行上下文类型
|
|
3674
|
-
* @typeParams S - 内存数据缓存模块
|
|
3675
|
-
*/
|
|
3676
|
-
declare abstract class BaseCommand<R = void, T = CommandExecuteContext, S = Store> {
|
|
3677
|
-
/**
|
|
3678
|
-
* 事务执行函数
|
|
3679
|
-
* @param context - 事务执行上下文
|
|
3680
|
-
* @param store - 内存读写模块
|
|
3681
|
-
* @param invoker - 任务队列
|
|
3682
|
-
*/
|
|
3683
|
-
abstract execute(context: T, store: S, invoker: BaseInvoker<T, S>): Promise<ICommandResult<R>>;
|
|
3684
|
-
/**
|
|
3685
|
-
* 获取指令优先级,必要时可 override 此函数
|
|
3686
|
-
*/
|
|
3687
|
-
get priority(): CommandPriority;
|
|
3688
|
-
/**
|
|
3689
|
-
* 它返回命令的种类。
|
|
3690
|
-
* @returns 命令的种类。
|
|
3691
|
-
*/
|
|
3692
|
-
get kind(): RCCommandKind;
|
|
3693
|
-
}
|
|
3694
|
-
|
|
3695
3615
|
/**
|
|
3696
3616
|
* @typeParams T - 事务执行上下文类型
|
|
3697
3617
|
* @typeParams S - 内存读写模块类型
|
|
@@ -3744,6 +3664,110 @@ declare class Invoker extends BaseInvoker<CommandExecuteContext, Store> {
|
|
|
3744
3664
|
destroy(): void;
|
|
3745
3665
|
}
|
|
3746
3666
|
|
|
3667
|
+
declare enum CommandPriority {
|
|
3668
|
+
LOW = 0,
|
|
3669
|
+
NORMAL = 1,
|
|
3670
|
+
HIGH = 2
|
|
3671
|
+
}
|
|
3672
|
+
declare type ICommandResult<R = void> = {
|
|
3673
|
+
code: number;
|
|
3674
|
+
data?: R;
|
|
3675
|
+
};
|
|
3676
|
+
/**
|
|
3677
|
+
* 命令基类
|
|
3678
|
+
* @typeParams R - 返回值类型声明
|
|
3679
|
+
* @typeParams T - 命令执行上下文类型
|
|
3680
|
+
* @typeParams S - 内存数据缓存模块
|
|
3681
|
+
*/
|
|
3682
|
+
declare abstract class BaseCommand<R = void, T = CommandExecuteContext, S = Store> {
|
|
3683
|
+
/**
|
|
3684
|
+
* 事务执行函数
|
|
3685
|
+
* @param context - 事务执行上下文
|
|
3686
|
+
* @param store - 内存读写模块
|
|
3687
|
+
* @param invoker - 任务队列
|
|
3688
|
+
*/
|
|
3689
|
+
abstract execute(context: T, store: S, invoker: BaseInvoker<T, S>): Promise<ICommandResult<R>>;
|
|
3690
|
+
/**
|
|
3691
|
+
* 获取指令优先级,必要时可 override 此函数
|
|
3692
|
+
*/
|
|
3693
|
+
get priority(): CommandPriority;
|
|
3694
|
+
/**
|
|
3695
|
+
* 它返回命令的种类。
|
|
3696
|
+
* @returns 命令的种类。
|
|
3697
|
+
*/
|
|
3698
|
+
get kind(): RCCommandKind;
|
|
3699
|
+
}
|
|
3700
|
+
|
|
3701
|
+
/**
|
|
3702
|
+
* RTC 消息类型常量
|
|
3703
|
+
* @private
|
|
3704
|
+
*/
|
|
3705
|
+
declare enum RCRTCMessageType {
|
|
3706
|
+
/**
|
|
3707
|
+
* 增量资源发布消息
|
|
3708
|
+
* @deprecated
|
|
3709
|
+
*/
|
|
3710
|
+
PUBLISH = "RCRTC:PublishResource",
|
|
3711
|
+
/**
|
|
3712
|
+
* 增量资源取消发布消息
|
|
3713
|
+
* @deprecated
|
|
3714
|
+
*/
|
|
3715
|
+
UNPUBLISH = "RCRTC:UnpublishResource",
|
|
3716
|
+
/**
|
|
3717
|
+
* 增量资源状态变更消息
|
|
3718
|
+
* @deprecated
|
|
3719
|
+
*/
|
|
3720
|
+
MODIFY = "RCRTC:ModifyResource",
|
|
3721
|
+
/**
|
|
3722
|
+
* 全量资源变更消息
|
|
3723
|
+
*/
|
|
3724
|
+
TOTAL_CONTENT_RESOURCE = "RCRTC:TotalContentResources",
|
|
3725
|
+
/**
|
|
3726
|
+
* 房间人员变更
|
|
3727
|
+
*/
|
|
3728
|
+
STATE = "RCRTC:state",
|
|
3729
|
+
/**
|
|
3730
|
+
* 房间属性变更
|
|
3731
|
+
*/
|
|
3732
|
+
ROOM_NOTIFY = "RCRTC:RoomNtf",
|
|
3733
|
+
/**
|
|
3734
|
+
* 房间用户属性变更
|
|
3735
|
+
*/
|
|
3736
|
+
USER_NOTIFY = "RCRTC:UserNtf",
|
|
3737
|
+
/**
|
|
3738
|
+
* 被服务踢出房间
|
|
3739
|
+
*/
|
|
3740
|
+
KICK = "RCRTC:kick",
|
|
3741
|
+
/**
|
|
3742
|
+
* 跨房间连麦 PK 请求消息
|
|
3743
|
+
*/
|
|
3744
|
+
PK_INVITE = "RCRTC:invite",
|
|
3745
|
+
/**
|
|
3746
|
+
* 连麦请求超时
|
|
3747
|
+
*/
|
|
3748
|
+
PK_INVITE_TIMEOUT = "RCRTC:inviteTimeout",
|
|
3749
|
+
/**
|
|
3750
|
+
* 跨房间连麦 PK 取消请求消息
|
|
3751
|
+
*/
|
|
3752
|
+
PK_CANCEL_INVITE = "RCRTC:cancelInvite",
|
|
3753
|
+
/**
|
|
3754
|
+
* 跨房间连麦 PK 请求响应消息
|
|
3755
|
+
*/
|
|
3756
|
+
PK_INVITE_ANSWER = "RCRTC:answerInvite",
|
|
3757
|
+
/**
|
|
3758
|
+
* 结束跨房间连麦 PK 消息
|
|
3759
|
+
*/
|
|
3760
|
+
PK_END = "RCRTC:endInvite",
|
|
3761
|
+
/**
|
|
3762
|
+
* 连麦的房间不再了或离线了,主直播房间会收到的消息通知
|
|
3763
|
+
*/
|
|
3764
|
+
OTHER_ROOM_OFFLINE = "RCRTC:otherRoomOffline",
|
|
3765
|
+
/**
|
|
3766
|
+
* 订阅、取消订阅动作成功
|
|
3767
|
+
*/
|
|
3768
|
+
ROOM_TASK_FINISH = "RCRTC:roomTaskFinish"
|
|
3769
|
+
}
|
|
3770
|
+
|
|
3747
3771
|
declare type IOnRecvPKMsg = (msg: IReceivedMessage) => void;
|
|
3748
3772
|
interface IRoomPKEventListener {
|
|
3749
3773
|
/**
|
|
@@ -3954,7 +3978,7 @@ declare abstract class RCAbstractRoom extends EventEmitter {
|
|
|
3954
3978
|
* @param {boolean} [isMainRoom] - 无论是主房间,主房间都是用户创建的房间,子房间是用户创建的房间。
|
|
3955
3979
|
* @param {string} _clientSessionId - 客户端会话 ID,用于标识客户端。
|
|
3956
3980
|
*/
|
|
3957
|
-
constructor(_context: RTCContext, _runtime: IRuntime, _roomId: string, _roomMode: RTCMode, _service: RCMediaService, _initOptions: IRCRTCInitOptions, isUpgrade?: boolean, isMainRoom?: boolean, _clientSessionId?: string);
|
|
3981
|
+
constructor(_context: RTCContext, _runtime: IRuntime, _roomId: string, _roomMode: RTCMode, _service: RCMediaService, _initOptions: IRCRTCInitOptions, isUpgrade?: boolean, isMainRoom?: boolean, _clientSessionId?: string, encrypt?: boolean);
|
|
3958
3982
|
/**
|
|
3959
3983
|
* 注册 RCRTCPeerConnection 事件监听器
|
|
3960
3984
|
*/
|
|
@@ -4144,7 +4168,7 @@ declare abstract class RCAbstractRoom extends EventEmitter {
|
|
|
4144
4168
|
/**
|
|
4145
4169
|
* ice 断线后,尝试重新走 exchange
|
|
4146
4170
|
*/
|
|
4147
|
-
protected _reTryExchange(): Promise<void
|
|
4171
|
+
protected _reTryExchange(): Promise<ICommandResult<void>>;
|
|
4148
4172
|
/**
|
|
4149
4173
|
* 增量取消资源发布,若相应资源中存在小流资源,则同时取消发布
|
|
4150
4174
|
* @param tracks 取消发布的 RCLocalTrack 列表
|
|
@@ -4576,12 +4600,10 @@ declare class RCRTCRoom extends RCAbstractRoom {
|
|
|
4576
4600
|
* @param {string} roomId - 房间号
|
|
4577
4601
|
* @param {RCMediaService} service - RCMediaService
|
|
4578
4602
|
* @param {IRCRTCInitOptions} initOptions - IRCRTCInitOptions
|
|
4579
|
-
* @param {boolean} [isUpgrade] - 是否升级房间,默认为false
|
|
4580
|
-
* @param {boolean} [isMainRoom] - 无论是主房间,主房间是用户进入的房间,子房间是用户进入主房间后进入的房间。
|
|
4581
4603
|
* @param {string} [_clientSessionId] - 当前房间的clientSessionId,用于区分当前房间和其他房间。
|
|
4582
4604
|
* @param {RTCMode} roomType - RTCMode = RTCMode.RTC,
|
|
4583
4605
|
*/
|
|
4584
|
-
constructor(context: RTCContext, runtime: IRuntime, roomId: string, service: RCMediaService, initOptions: IRCRTCInitOptions,
|
|
4606
|
+
constructor(context: RTCContext, runtime: IRuntime, roomId: string, service: RCMediaService, initOptions: IRCRTCInitOptions, roomType?: RTCMode, encrypt?: boolean);
|
|
4585
4607
|
}
|
|
4586
4608
|
|
|
4587
4609
|
/**
|
|
@@ -4793,6 +4815,24 @@ declare class RCMediaStreamCapture {
|
|
|
4793
4815
|
private static getTracksWithOptions;
|
|
4794
4816
|
}
|
|
4795
4817
|
|
|
4818
|
+
interface IJoinRTCRoomOptions {
|
|
4819
|
+
/**
|
|
4820
|
+
* 房间模式,默认为 `RTCMode.RTC`
|
|
4821
|
+
*/
|
|
4822
|
+
mode?: RTCMode.RTC | RTCMode.CALL | RTCMode.CROSS_MUTI | RTCMode.SIP;
|
|
4823
|
+
/**
|
|
4824
|
+
* 同一账号多设备登录时,加入房间时的踢人策略,默认为 `RTCJoinType.KICK`
|
|
4825
|
+
*/
|
|
4826
|
+
joinType?: RTCJoinType;
|
|
4827
|
+
/**
|
|
4828
|
+
* 是否启用自定义加密;需配合初始化 RTCLib 时定义的 `encrypt` 配置项使用,由配置项定义自定义加解密算法
|
|
4829
|
+
*/
|
|
4830
|
+
encrypt?: boolean;
|
|
4831
|
+
/**
|
|
4832
|
+
* 设置用户属性
|
|
4833
|
+
*/
|
|
4834
|
+
userData?: IRTCUserData;
|
|
4835
|
+
}
|
|
4796
4836
|
/**
|
|
4797
4837
|
* RTC 业务客户端
|
|
4798
4838
|
* @public
|
|
@@ -4818,30 +4858,43 @@ declare class RCRTCClient extends RCMediaStreamCapture {
|
|
|
4818
4858
|
*/
|
|
4819
4859
|
getCurrentId(): string;
|
|
4820
4860
|
private _crtRoom;
|
|
4821
|
-
|
|
4861
|
+
/**
|
|
4862
|
+
* 加入跨 AppKey 音视频房间
|
|
4863
|
+
* @deprecated @since 5.7.0; 请使用 `joinRTCRoomWithOptions` 方法替代
|
|
4864
|
+
* @param roomId
|
|
4865
|
+
* @param joinType 多端处理方式
|
|
4866
|
+
* @param userData 设置用户属性
|
|
4867
|
+
* @param _ 参数已废弃
|
|
4868
|
+
* @param __ 参数已废弃
|
|
4869
|
+
*/
|
|
4870
|
+
joinCrossRTCRoom(roomId: string, joinType?: RTCJoinType, userData?: IRTCUserData, _?: boolean, __?: RTCMode): Promise<{
|
|
4871
|
+
room?: RCRTCRoom;
|
|
4872
|
+
code: RCRTCCode;
|
|
4873
|
+
userIds?: string[];
|
|
4874
|
+
tracks?: RCRemoteTrack[];
|
|
4875
|
+
}>;
|
|
4822
4876
|
/**
|
|
4823
4877
|
* 加入普通音视频房间,加入成功后返回 room 实例、code、userIds、tracks
|
|
4878
|
+
* @deprecated @since 5.7.0; 请使用 `joinRTCRoomWithOptions` 方法替代
|
|
4824
4879
|
* @param {string} roomId - 房间号
|
|
4825
4880
|
* @param {RTCJoinType} [joinType] - 要加入的房间类型。
|
|
4826
|
-
* @param {IRTCUserData} [
|
|
4827
|
-
* @param {boolean} [_] -
|
|
4881
|
+
* @param {IRTCUserData} [userData] - 加入房间的用户的用户数据。
|
|
4882
|
+
* @param {boolean} [_] - 已废弃
|
|
4828
4883
|
* @param {RTCMode} roomType - 房间类型,请谨慎修改,默认为 RTCMode.RTC
|
|
4829
4884
|
*/
|
|
4830
|
-
joinRTCRoom(roomId: string, joinType?: RTCJoinType,
|
|
4885
|
+
joinRTCRoom(roomId: string, joinType?: RTCJoinType, userData?: IRTCUserData, _?: boolean, roomType?: RTCMode.RTC | RTCMode.SIP | RTCMode.CALL): Promise<{
|
|
4831
4886
|
room?: RCRTCRoom;
|
|
4832
4887
|
code: RCRTCCode;
|
|
4833
4888
|
userIds?: string[];
|
|
4834
4889
|
tracks?: RCRemoteTrack[];
|
|
4835
4890
|
}>;
|
|
4836
4891
|
/**
|
|
4837
|
-
*
|
|
4838
|
-
* @param roomId
|
|
4839
|
-
* @param
|
|
4840
|
-
* @
|
|
4841
|
-
* @param _ 参数已废弃
|
|
4842
|
-
* @param __ 参数已废弃
|
|
4892
|
+
* 加入普通音视频房间
|
|
4893
|
+
* @param roomId 房间 ID
|
|
4894
|
+
* @param options
|
|
4895
|
+
* @since 5.7.0
|
|
4843
4896
|
*/
|
|
4844
|
-
|
|
4897
|
+
joinRTCRoomWithOptions(roomId: string, options?: IJoinRTCRoomOptions): Promise<{
|
|
4845
4898
|
room?: RCRTCRoom;
|
|
4846
4899
|
code: RCRTCCode;
|
|
4847
4900
|
userIds?: string[];
|
|
@@ -4869,10 +4922,6 @@ declare class RCRTCClient extends RCMediaStreamCapture {
|
|
|
4869
4922
|
*/
|
|
4870
4923
|
getAudienceClient(_?: boolean): RCAudienceClient;
|
|
4871
4924
|
private _onIMStatusChange;
|
|
4872
|
-
/**
|
|
4873
|
-
* 用户主动断开 IM 连接
|
|
4874
|
-
*/
|
|
4875
|
-
private _onIMDisconnect;
|
|
4876
4925
|
/**
|
|
4877
4926
|
* 用户销毁 IM 客户端,IM 客户端需重新初始化
|
|
4878
4927
|
*/
|
|
@@ -4984,4 +5033,4 @@ declare const helper: {
|
|
|
4984
5033
|
ifSupportScreenShare: typeof ifSupportScreenShare;
|
|
4985
5034
|
};
|
|
4986
5035
|
|
|
4987
|
-
export { BackgroundPictureFillMode, IAudienceRoomEventListener, IAudioLevelChangeHandler, ICameraVideoProfile, ICreateLocalTrackOptions, IJoinResCDNInfo, ILiveAudioState, IMCUOutputConfig, IMCUOutputVideoConfig, IMicphoneAudioProfile, IPKEndInfo, IPKInviteAnswerInfo, IPKInviteInfo, IPubSuccessRes, IPublishAttrs, IPublishedResource, IRCCandidatePairStat, IRCRTCInitOptions, IRCRTCReportListener, IRCRTCStateReport, IRCTrackStat, IRTCUserData, IReqResPKOptions, IRoomEventListener, IRoomPKEventListener, IScreenVideoProfile, ISubscribeAttr, IVideoProfile, MixLayoutMode, MixVideoRenderMode, RCAbstractRoom, RCAudienceClient, RCAudienceLivingRoom, RCAudioBitrate, RCCameraVideoTrack, RCFrameRate, RCInnerCDNPullIsHttps, RCInnerCDNPullKind, RCKickReason, RCLivingRoom, RCLivingType, RCLocalAudioTrack, RCLocalFileAudioTrack, RCLocalFileTrack, RCLocalFileVideoTrack, RCLocalTrack, RCLocalVideoTrack, RCMCUConfigBuilder, RCMediaStreamCapture, RCMediaType, RCMicphoneAudioTrack, RCRTCClient, RCRTCCode, RCRTCLiveRole, RCRTCPingResult, RCRTCRoom, RCRemoteAudioTrack, RCRemoteTrack, RCRemoteVideoTrack, RCResolution, RCScreenAudioTrack, RCScreenVideoTrack, RCTag, RCTrack, RCVideoBitrate, RTCJoinType, device, helper, installer };
|
|
5036
|
+
export { BackgroundPictureFillMode, IAudienceRoomEventListener, IAudioLevelChangeHandler, ICameraVideoProfile, ICreateLocalTrackOptions, IJoinRTCRoomOptions, IJoinResCDNInfo, ILiveAudioState, IMCUOutputConfig, IMCUOutputVideoConfig, IMicphoneAudioProfile, IPKEndInfo, IPKInviteAnswerInfo, IPKInviteInfo, IPubSuccessRes, IPublishAttrs, IPublishedResource, IRCCandidatePairStat, IRCEncryptorHooks, IRCRTCInitOptions, IRCRTCReportListener, IRCRTCStateReport, IRCTrackStat, IRTCUserData, IReqResPKOptions, IRoomEventListener, IRoomPKEventListener, IScreenVideoProfile, ISubscribeAttr, IVideoProfile, MixLayoutMode, MixVideoRenderMode, RCAbstractRoom, RCAudienceClient, RCAudienceLivingRoom, RCAudioBitrate, RCCameraVideoTrack, RCEncryptFunction, RCFrameRate, RCInnerCDNPullIsHttps, RCInnerCDNPullKind, RCKickReason, RCLivingRoom, RCLivingType, RCLocalAudioTrack, RCLocalFileAudioTrack, RCLocalFileTrack, RCLocalFileVideoTrack, RCLocalTrack, RCLocalVideoTrack, RCMCUConfigBuilder, RCMediaStreamCapture, RCMediaType, RCMicphoneAudioTrack, RCRTCClient, RCRTCCode, RCRTCLiveRole, RCRTCPingResult, RCRTCRoom, RCRemoteAudioTrack, RCRemoteTrack, RCRemoteVideoTrack, RCResolution, RCScreenAudioTrack, RCScreenVideoTrack, RCTag, RCTrack, RCVideoBitrate, RTCEncodedFrame, RTCJoinType, RTCMode, device, helper, installer };
|