@rongcloud/plugin-call-plus 2.2.0-enterprise-lz-alpha.1 → 2.22.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.
- package/index.d.ts +452 -299
- package/index.esm.js +1 -1
- package/index.js +1 -1
- package/package.json +3 -3
- package/wrapper/index.esm.js +1 -1
- package/wrapper/index.js +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RCConnectionStatus, EventEmitter, BasicLogger, PluginContext, EnableLogL, IReceivedMessage, IPluginGenerator } from '@rongcloud/engine';
|
|
2
|
-
import { RCRemoteTrack, RCTrack, ISubscribeAttr, RCRTCCode, RCLocalAudioTrack, RCRemoteAudioTrack, RCRTCClient, RCFrameRate, RCResolution } from '@rongcloud/plugin-rtc';
|
|
1
|
+
import { RCConnectionStatus, EventEmitter, BasicLogger, PluginContext, IRuntime, EnableLogL, IReceivedMessage, IPluginGenerator } from '@rongcloud/engine';
|
|
2
|
+
import { RCRemoteTrack, RCTrack, ISubscribeAttr, RCRTCCode, RCLocalAudioTrack, RCRemoteAudioTrack, RCRTCClient, RCRTCRoom, RCLocalTrack, IPublishAttrs, IPubSuccessRes, RCFrameRate, RCResolution } from '@rongcloud/plugin-rtc';
|
|
3
3
|
export { RCFrameRate as RCCallPlusFrameRate, RCResolution as RCCallPlusResolution } from '@rongcloud/plugin-rtc';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -413,11 +413,7 @@ declare enum RCCallPlusReason {
|
|
|
413
413
|
/**
|
|
414
414
|
* 远端用户的其他端已经在房间中,不允许 joinRoom 进行音视频通话
|
|
415
415
|
*/
|
|
416
|
-
REMOTE_OTHER_CLIENT_IN_RTC = 1214
|
|
417
|
-
/**
|
|
418
|
-
* 加密通话失败,如获取秘钥失败等
|
|
419
|
-
*/
|
|
420
|
-
ENCRYPT_FAILED = 1216
|
|
416
|
+
REMOTE_OTHER_CLIENT_IN_RTC = 1214
|
|
421
417
|
}
|
|
422
418
|
|
|
423
419
|
/**
|
|
@@ -475,10 +471,6 @@ interface IBaseSingalCon {
|
|
|
475
471
|
* 开始呼叫信令内容
|
|
476
472
|
*/
|
|
477
473
|
interface IStartCallCon {
|
|
478
|
-
/**
|
|
479
|
-
* 客户端生成,传给服务
|
|
480
|
-
*/
|
|
481
|
-
callId?: string;
|
|
482
474
|
/**
|
|
483
475
|
* 用户生成 callId
|
|
484
476
|
*/
|
|
@@ -499,10 +491,6 @@ interface IStartCallCon {
|
|
|
499
491
|
* 是否密聊
|
|
500
492
|
*/
|
|
501
493
|
secretChat: SecretCallType;
|
|
502
|
-
/**
|
|
503
|
-
* 密钥
|
|
504
|
-
*/
|
|
505
|
-
secretChatKey: string;
|
|
506
494
|
/**
|
|
507
495
|
* 当前用户的来源组 ID 类型
|
|
508
496
|
*/
|
|
@@ -520,23 +508,22 @@ interface IStartCallCon {
|
|
|
520
508
|
*/
|
|
521
509
|
oldRoomId?: string;
|
|
522
510
|
/**
|
|
523
|
-
|
|
524
|
-
|
|
511
|
+
* 服务端接收的推送扩展
|
|
512
|
+
*/
|
|
525
513
|
pushExt?: string;
|
|
514
|
+
/**
|
|
515
|
+
* 推送内容
|
|
516
|
+
*/
|
|
517
|
+
pushContent?: string;
|
|
526
518
|
/**
|
|
527
519
|
* 附加信息,服务器透传
|
|
528
520
|
*/
|
|
529
521
|
extra?: string;
|
|
530
|
-
innerExtra?: string;
|
|
531
522
|
}
|
|
532
523
|
/**
|
|
533
524
|
* 单呼信令内容
|
|
534
525
|
*/
|
|
535
526
|
interface IStartSingleCon {
|
|
536
|
-
/**
|
|
537
|
-
* 客户端生成,传递给服务
|
|
538
|
-
*/
|
|
539
|
-
callId?: string;
|
|
540
527
|
/**
|
|
541
528
|
* 用户生成 callId
|
|
542
529
|
*/
|
|
@@ -582,16 +569,15 @@ interface IStartSingleCon {
|
|
|
582
569
|
* 服务端接收的推送扩展
|
|
583
570
|
*/
|
|
584
571
|
pushExt?: string;
|
|
585
|
-
|
|
572
|
+
/**
|
|
573
|
+
* 推送内容
|
|
574
|
+
*/
|
|
575
|
+
pushContent?: string;
|
|
586
576
|
}
|
|
587
577
|
/**
|
|
588
578
|
* 群呼信令内容
|
|
589
579
|
*/
|
|
590
580
|
interface IStartGroupCon {
|
|
591
|
-
/**
|
|
592
|
-
* 客户端生成,传递给服务
|
|
593
|
-
*/
|
|
594
|
-
callId?: string;
|
|
595
581
|
/**
|
|
596
582
|
* 用户生成 callId
|
|
597
583
|
*/
|
|
@@ -628,16 +614,10 @@ interface IStartGroupCon {
|
|
|
628
614
|
* 服务端接收的推送扩展
|
|
629
615
|
*/
|
|
630
616
|
pushExt?: string;
|
|
631
|
-
innerExtra?: string;
|
|
632
617
|
/**
|
|
633
|
-
*
|
|
634
|
-
* PC 目前无密聊,写死 0
|
|
618
|
+
* 推送内容
|
|
635
619
|
*/
|
|
636
|
-
|
|
637
|
-
/**
|
|
638
|
-
* 单聊加密 key
|
|
639
|
-
*/
|
|
640
|
-
secretChatKey?: string;
|
|
620
|
+
pushContent?: string;
|
|
641
621
|
}
|
|
642
622
|
/**
|
|
643
623
|
* 开始呼叫 Server 返回
|
|
@@ -674,7 +654,10 @@ interface IInviteCallCon extends IBaseSingalCon {
|
|
|
674
654
|
* 服务端接收的推送扩展
|
|
675
655
|
*/
|
|
676
656
|
pushExt?: string;
|
|
677
|
-
|
|
657
|
+
/**
|
|
658
|
+
* 推送内容
|
|
659
|
+
*/
|
|
660
|
+
pushContent?: string;
|
|
678
661
|
}
|
|
679
662
|
/**
|
|
680
663
|
* 邀请好友加入信令结果
|
|
@@ -753,7 +736,7 @@ interface IPubInviteCon extends IBaseSingalCon {
|
|
|
753
736
|
/**
|
|
754
737
|
* 媒体类型
|
|
755
738
|
*/
|
|
756
|
-
mediaType: RCCallPlusMediaType
|
|
739
|
+
mediaType: RCCallPlusMediaType;
|
|
757
740
|
/**
|
|
758
741
|
* 是否密聊
|
|
759
742
|
*/
|
|
@@ -774,14 +757,6 @@ interface IPubInviteCon extends IBaseSingalCon {
|
|
|
774
757
|
* 附加信息
|
|
775
758
|
*/
|
|
776
759
|
extra?: string;
|
|
777
|
-
/**
|
|
778
|
-
* 可存储的扩展信息,由发起人发起时定义
|
|
779
|
-
*/
|
|
780
|
-
innerExtra?: string;
|
|
781
|
-
/**
|
|
782
|
-
* 通话加密密钥
|
|
783
|
-
*/
|
|
784
|
-
secretChatKey?: string;
|
|
785
760
|
}
|
|
786
761
|
/**
|
|
787
762
|
* 通话响铃信令内容
|
|
@@ -811,6 +786,10 @@ interface IHangupCallCon extends IBaseSingalCon {
|
|
|
811
786
|
* 服务端接收的推送扩展
|
|
812
787
|
*/
|
|
813
788
|
pushExt?: string;
|
|
789
|
+
/**
|
|
790
|
+
* 推送内容
|
|
791
|
+
*/
|
|
792
|
+
pushContent?: string;
|
|
814
793
|
}
|
|
815
794
|
/**
|
|
816
795
|
* 通话状态上报信令内容
|
|
@@ -1010,7 +989,6 @@ interface ISyncCallLogRes extends IBaseSingalCon {
|
|
|
1010
989
|
* 同步数据
|
|
1011
990
|
*/
|
|
1012
991
|
syncTime: number;
|
|
1013
|
-
innerExtra?: string;
|
|
1014
992
|
}
|
|
1015
993
|
interface ISyncCallLogResList {
|
|
1016
994
|
hasMore: 0 | 1;
|
|
@@ -1052,7 +1030,7 @@ interface ISignalTransporterListener {
|
|
|
1052
1030
|
/**
|
|
1053
1031
|
* 收到通话状态变更
|
|
1054
1032
|
*/
|
|
1055
|
-
onStatusDown(data: IStatusDownCont,
|
|
1033
|
+
onStatusDown(data: IStatusDownCont, traceId: string, sessionId?: string): void;
|
|
1056
1034
|
/**
|
|
1057
1035
|
* 其他端通话状态变更
|
|
1058
1036
|
*/
|
|
@@ -1084,7 +1062,7 @@ interface IGetUserCallStateListRes {
|
|
|
1084
1062
|
callStateList: {
|
|
1085
1063
|
callId: string;
|
|
1086
1064
|
callType: RCCallPlusType;
|
|
1087
|
-
mediaType: RCCallPlusMediaType
|
|
1065
|
+
mediaType: RCCallPlusMediaType;
|
|
1088
1066
|
/**
|
|
1089
1067
|
* 呼叫发起者 ID
|
|
1090
1068
|
*/
|
|
@@ -1118,8 +1096,6 @@ interface IGetUserCallStateListRes {
|
|
|
1118
1096
|
*/
|
|
1119
1097
|
targetId: string;
|
|
1120
1098
|
startTime: number;
|
|
1121
|
-
innerExtra?: string;
|
|
1122
|
-
secretChat: SecretCallType;
|
|
1123
1099
|
}[];
|
|
1124
1100
|
}
|
|
1125
1101
|
interface IClearCallLogRes {
|
|
@@ -1140,7 +1116,7 @@ interface IGetCallSessionServerRes extends IBaseSingalCon {
|
|
|
1140
1116
|
/**
|
|
1141
1117
|
* 媒体类型
|
|
1142
1118
|
*/
|
|
1143
|
-
mediaType: RCCallPlusMediaType
|
|
1119
|
+
mediaType: RCCallPlusMediaType;
|
|
1144
1120
|
/**
|
|
1145
1121
|
* 通话状态
|
|
1146
1122
|
*/
|
|
@@ -1169,9 +1145,6 @@ interface IGetCallSessionServerRes extends IBaseSingalCon {
|
|
|
1169
1145
|
* 同步时间戳
|
|
1170
1146
|
*/
|
|
1171
1147
|
syncTime: number;
|
|
1172
|
-
innerExtra?: string;
|
|
1173
|
-
secretChat: SecretCallType;
|
|
1174
|
-
secretChatKey?: string;
|
|
1175
1148
|
}
|
|
1176
1149
|
interface IGetCallTimeInfoRes extends IBaseSingalCon {
|
|
1177
1150
|
/**
|
|
@@ -1242,14 +1215,6 @@ interface ISessionUser {
|
|
|
1242
1215
|
* 成员系统状态
|
|
1243
1216
|
*/
|
|
1244
1217
|
systemState: RCCallPlusReason;
|
|
1245
|
-
/**
|
|
1246
|
-
* 摄像头是否可用
|
|
1247
|
-
*/
|
|
1248
|
-
cameraEnable: boolean;
|
|
1249
|
-
/**
|
|
1250
|
-
* 麦克风是否可用
|
|
1251
|
-
*/
|
|
1252
|
-
microphoneEnable: boolean;
|
|
1253
1218
|
/**
|
|
1254
1219
|
* 来源组 ID 类型
|
|
1255
1220
|
*/
|
|
@@ -1324,14 +1289,6 @@ interface IRCCallPlusCallRecord {
|
|
|
1324
1289
|
* 创建时间
|
|
1325
1290
|
*/
|
|
1326
1291
|
createTimestamp: number;
|
|
1327
|
-
/**
|
|
1328
|
-
* 同步数据
|
|
1329
|
-
*/
|
|
1330
|
-
syncData?: string;
|
|
1331
|
-
/**
|
|
1332
|
-
* 是否为加密通话
|
|
1333
|
-
*/
|
|
1334
|
-
isSecret: boolean;
|
|
1335
1292
|
}
|
|
1336
1293
|
interface IUserInfo {
|
|
1337
1294
|
/**
|
|
@@ -1355,15 +1312,7 @@ interface IUserInfo {
|
|
|
1355
1312
|
*/
|
|
1356
1313
|
orgId?: string;
|
|
1357
1314
|
}
|
|
1358
|
-
interface IStartCallOpts {
|
|
1359
|
-
/**
|
|
1360
|
-
* 通话唯一 ID
|
|
1361
|
-
*/
|
|
1362
|
-
callId?: string;
|
|
1363
|
-
/**
|
|
1364
|
-
* 客户端 callId
|
|
1365
|
-
*/
|
|
1366
|
-
clientCallId: string;
|
|
1315
|
+
interface IStartCallOpts extends ICallId {
|
|
1367
1316
|
/**
|
|
1368
1317
|
* 被邀请人信息
|
|
1369
1318
|
*/
|
|
@@ -1375,7 +1324,7 @@ interface IStartCallOpts {
|
|
|
1375
1324
|
/**
|
|
1376
1325
|
* 通话媒体类型
|
|
1377
1326
|
*/
|
|
1378
|
-
mediaType: RCCallPlusMediaType
|
|
1327
|
+
mediaType: RCCallPlusMediaType;
|
|
1379
1328
|
/**
|
|
1380
1329
|
* 当前用户来源组 ID 类型
|
|
1381
1330
|
*/
|
|
@@ -1397,12 +1346,6 @@ interface IStartCallOpts {
|
|
|
1397
1346
|
* 附加信息,服务器透传
|
|
1398
1347
|
*/
|
|
1399
1348
|
extra?: string;
|
|
1400
|
-
/**
|
|
1401
|
-
* 内部透传信息,服务器会记录该数据
|
|
1402
|
-
*/
|
|
1403
|
-
innerExtra?: string;
|
|
1404
|
-
secretChat: SecretCallType;
|
|
1405
|
-
secretChatKey?: string;
|
|
1406
1349
|
}
|
|
1407
1350
|
interface IStartCallResult {
|
|
1408
1351
|
/**
|
|
@@ -1542,7 +1485,7 @@ interface IGetCallSessionRes extends ICallId {
|
|
|
1542
1485
|
/**
|
|
1543
1486
|
* 媒体类型
|
|
1544
1487
|
*/
|
|
1545
|
-
mediaType: RCCallPlusMediaType
|
|
1488
|
+
mediaType: RCCallPlusMediaType;
|
|
1546
1489
|
/**
|
|
1547
1490
|
* 通话状态
|
|
1548
1491
|
*/
|
|
@@ -1563,12 +1506,6 @@ interface IGetCallSessionRes extends ICallId {
|
|
|
1563
1506
|
* 同步时间戳
|
|
1564
1507
|
*/
|
|
1565
1508
|
syncTime: number;
|
|
1566
|
-
innerExtra?: string;
|
|
1567
|
-
secretChat: SecretCallType;
|
|
1568
|
-
/**
|
|
1569
|
-
* 通话加密密钥
|
|
1570
|
-
*/
|
|
1571
|
-
secretChatKey?: string;
|
|
1572
1509
|
}
|
|
1573
1510
|
|
|
1574
1511
|
declare enum CallTimerEventType {
|
|
@@ -1613,17 +1550,8 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1613
1550
|
*/
|
|
1614
1551
|
private _callUsers;
|
|
1615
1552
|
private readonly _logger;
|
|
1616
|
-
private readonly _isSecret;
|
|
1617
1553
|
/**
|
|
1618
|
-
*
|
|
1619
|
-
*/
|
|
1620
|
-
private _syncData;
|
|
1621
|
-
/**
|
|
1622
|
-
* 通话加密密钥
|
|
1623
|
-
*/
|
|
1624
|
-
private _secretKey;
|
|
1625
|
-
/**
|
|
1626
|
-
* 暂存请求更新的 mediaType,无请求时为 null
|
|
1554
|
+
* 请求更新的 mediaType
|
|
1627
1555
|
*/
|
|
1628
1556
|
private _reqMediaType;
|
|
1629
1557
|
/**
|
|
@@ -1664,7 +1592,7 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1664
1592
|
/**
|
|
1665
1593
|
* 通话媒体类型
|
|
1666
1594
|
*/
|
|
1667
|
-
_mediaType: RCCallPlusMediaType
|
|
1595
|
+
_mediaType: RCCallPlusMediaType,
|
|
1668
1596
|
/**
|
|
1669
1597
|
* session 呼叫发起者
|
|
1670
1598
|
*/
|
|
@@ -1676,15 +1604,7 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1676
1604
|
/**
|
|
1677
1605
|
* 当前 session 人员信息列表
|
|
1678
1606
|
*/
|
|
1679
|
-
_callUsers: ISessionUser[], _logger: BasicLogger
|
|
1680
|
-
/**
|
|
1681
|
-
* 同步数据
|
|
1682
|
-
*/
|
|
1683
|
-
_syncData?: string,
|
|
1684
|
-
/**
|
|
1685
|
-
* 通话加密密钥
|
|
1686
|
-
*/
|
|
1687
|
-
_secretKey?: string);
|
|
1607
|
+
_callUsers: ISessionUser[], _logger: BasicLogger);
|
|
1688
1608
|
/**
|
|
1689
1609
|
* 获取 CallID
|
|
1690
1610
|
*/
|
|
@@ -1700,7 +1620,7 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1700
1620
|
/**
|
|
1701
1621
|
* 获取媒体类型
|
|
1702
1622
|
*/
|
|
1703
|
-
getMediaType(): RCCallPlusMediaType
|
|
1623
|
+
getMediaType(): RCCallPlusMediaType;
|
|
1704
1624
|
/**
|
|
1705
1625
|
* 获取 session 发起者
|
|
1706
1626
|
*/
|
|
@@ -1716,7 +1636,7 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1716
1636
|
/**
|
|
1717
1637
|
* 请求更新的 mediaType
|
|
1718
1638
|
*/
|
|
1719
|
-
getReqMediaType(): RCCallPlusMediaType
|
|
1639
|
+
getReqMediaType(): RCCallPlusMediaType | null;
|
|
1720
1640
|
/**
|
|
1721
1641
|
* inviterTimerId
|
|
1722
1642
|
*/
|
|
@@ -1726,7 +1646,6 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1726
1646
|
*/
|
|
1727
1647
|
getInviteeTimerId(): number;
|
|
1728
1648
|
getAllTimerIds(): number[];
|
|
1729
|
-
setUserDeviceEnable(userId: string, mediaType: RCCallPlusMediaType, enable: boolean, traceId: string): void;
|
|
1730
1649
|
/**
|
|
1731
1650
|
* 更新人员列表, 并返回更新的人员列表
|
|
1732
1651
|
* 根据人员状态去添加、删除、更新
|
|
@@ -1746,11 +1665,11 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1746
1665
|
/**
|
|
1747
1666
|
* 更新媒体类型(升降级)
|
|
1748
1667
|
*/
|
|
1749
|
-
updateMediaType(mediaType: RCCallPlusMediaType
|
|
1668
|
+
updateMediaType(mediaType: RCCallPlusMediaType): void;
|
|
1750
1669
|
/**
|
|
1751
1670
|
* 更新请求的媒体类型(升降级)
|
|
1752
1671
|
*/
|
|
1753
|
-
updateReqMediaType(mediaType: RCCallPlusMediaType
|
|
1672
|
+
updateReqMediaType(mediaType: RCCallPlusMediaType | null): void;
|
|
1754
1673
|
/**
|
|
1755
1674
|
* 更新 invter timer id
|
|
1756
1675
|
*/
|
|
@@ -1764,9 +1683,6 @@ declare class RCCallInnerSession extends EventEmitter {
|
|
|
1764
1683
|
*/
|
|
1765
1684
|
setIsLocalClientHangup(isLocalClientHangup: boolean): void;
|
|
1766
1685
|
getIsLocalClientHangup(): boolean;
|
|
1767
|
-
getSyncData(): string | undefined;
|
|
1768
|
-
isSecret(): boolean;
|
|
1769
|
-
getSecretKey(): string;
|
|
1770
1686
|
}
|
|
1771
1687
|
|
|
1772
1688
|
declare enum CallServerAction {
|
|
@@ -2056,10 +1972,13 @@ declare class RCCallPlusReportModule {
|
|
|
2056
1972
|
audioLevel: number;
|
|
2057
1973
|
}[]): void;
|
|
2058
1974
|
onReceivedCallPlusSummaryMessage(message: IRCCallPlusReceivedSummaryMessage): void;
|
|
1975
|
+
onReceivedGroupCallStatusMessage(message: IReceivedGroupCallStatusMessage): void;
|
|
2059
1976
|
}
|
|
2060
1977
|
|
|
2061
1978
|
declare class SignalTransporter extends EventEmitter {
|
|
2062
1979
|
private readonly _context;
|
|
1980
|
+
private readonly _runtime;
|
|
1981
|
+
private readonly _initOpts;
|
|
2063
1982
|
private readonly _timeCorrectioner;
|
|
2064
1983
|
private readonly _logger;
|
|
2065
1984
|
private readonly _reportAppEventModule;
|
|
@@ -2075,8 +1994,10 @@ declare class SignalTransporter extends EventEmitter {
|
|
|
2075
1994
|
/**
|
|
2076
1995
|
* constructor
|
|
2077
1996
|
*/
|
|
2078
|
-
constructor(_context: PluginContext, _timeCorrectioner: TimeCorrectioner, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
|
|
1997
|
+
constructor(_context: PluginContext, _runtime: IRuntime, _initOpts: ICallPlusInitOpts, _timeCorrectioner: TimeCorrectioner, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
|
|
2079
1998
|
private _onMessage;
|
|
1999
|
+
private _dealMissMessage;
|
|
2000
|
+
private _dealGroupCallMessage;
|
|
2080
2001
|
getSessionId(): string;
|
|
2081
2002
|
getDeviceId(): string;
|
|
2082
2003
|
registerListener(listener: ISignalTransporterListener): void;
|
|
@@ -2207,7 +2128,7 @@ declare class SignalTransporter extends EventEmitter {
|
|
|
2207
2128
|
/**
|
|
2208
2129
|
* 补偿数据处理
|
|
2209
2130
|
*/
|
|
2210
|
-
private
|
|
2131
|
+
private _onConpensationData;
|
|
2211
2132
|
}
|
|
2212
2133
|
|
|
2213
2134
|
/**
|
|
@@ -2217,8 +2138,9 @@ declare class SignalTransporter extends EventEmitter {
|
|
|
2217
2138
|
*/
|
|
2218
2139
|
declare class AbnormalCall {
|
|
2219
2140
|
private readonly _logger;
|
|
2141
|
+
private _localStore;
|
|
2220
2142
|
private static _STORAGE_KEY;
|
|
2221
|
-
constructor(_logger: BasicLogger);
|
|
2143
|
+
constructor(runtime: IRuntime, _logger: BasicLogger);
|
|
2222
2144
|
/**
|
|
2223
2145
|
* 添加异常 callId
|
|
2224
2146
|
*/
|
|
@@ -2233,8 +2155,250 @@ declare class AbnormalCall {
|
|
|
2233
2155
|
getAbnormalCallIds(userId: string): Promise<string[] | null>;
|
|
2234
2156
|
}
|
|
2235
2157
|
|
|
2158
|
+
declare class RTCModule extends EventEmitter {
|
|
2159
|
+
private readonly _context;
|
|
2160
|
+
private readonly _runtime;
|
|
2161
|
+
private readonly _initOpts;
|
|
2162
|
+
private readonly _logger;
|
|
2163
|
+
private readonly _callEngine;
|
|
2164
|
+
private readonly _reportAppEventModule;
|
|
2165
|
+
static __INNER_RTC_PROCESS_FAILED__: string;
|
|
2166
|
+
static __INNER_RTC_PEERCONNECTION_ABNORMAL_CLOSE__: string;
|
|
2167
|
+
static __INNER_ON_SELF_JOINED__: string;
|
|
2168
|
+
static __INNER_ON_OTHER_JOINED__: string;
|
|
2169
|
+
static __INNER_RECEIVE_FIRST_FRAME__: string;
|
|
2170
|
+
static __INNER_ON_KICKOFF__: string;
|
|
2171
|
+
/**
|
|
2172
|
+
* RCRTC 实例
|
|
2173
|
+
*/
|
|
2174
|
+
_rtcClient: RCRTCClient;
|
|
2175
|
+
/**
|
|
2176
|
+
* 己方的音视频 tracks
|
|
2177
|
+
*/
|
|
2178
|
+
private _localTracks;
|
|
2179
|
+
/**
|
|
2180
|
+
* RCRTCRoom 实例
|
|
2181
|
+
*/
|
|
2182
|
+
_room: RCRTCRoom | null;
|
|
2183
|
+
private _callId;
|
|
2184
|
+
private _callMediaType;
|
|
2185
|
+
private _videoConfig;
|
|
2186
|
+
private _audioConfig;
|
|
2187
|
+
private _isPubTiny;
|
|
2188
|
+
private _audioOutputDeviceId;
|
|
2189
|
+
/**
|
|
2190
|
+
* 视频配置是否变更
|
|
2191
|
+
*/
|
|
2192
|
+
private _videoConfigIsChange;
|
|
2193
|
+
/**
|
|
2194
|
+
* 音频配置是否变更
|
|
2195
|
+
*/
|
|
2196
|
+
private _audioConfigIsChange;
|
|
2197
|
+
/**
|
|
2198
|
+
* 存储设置的人员和视图
|
|
2199
|
+
*/
|
|
2200
|
+
private _userViewMap;
|
|
2201
|
+
private _callPlusStatusReportListener;
|
|
2202
|
+
private _remoteAudioEnable;
|
|
2203
|
+
constructor(_context: PluginContext, _runtime: IRuntime, _initOpts: ICallPlusInitOpts, _logger: BasicLogger, _callEngine: RCCallEngine, _reportAppEventModule: RCCallPlusReportModule);
|
|
2204
|
+
setCallPlusStatusReportListener(listener: IStatusReportListener): void;
|
|
2205
|
+
/**
|
|
2206
|
+
* 取摄像头资源
|
|
2207
|
+
* 内存中有时,返回内存中的视轨
|
|
2208
|
+
*/
|
|
2209
|
+
getCameraVideoTrack(traceId: string): Promise<{
|
|
2210
|
+
code: number;
|
|
2211
|
+
track?: RCLocalTrack;
|
|
2212
|
+
}>;
|
|
2213
|
+
/**
|
|
2214
|
+
* 取麦克风资源
|
|
2215
|
+
* 内存中有时,返回内存中的音轨
|
|
2216
|
+
*/
|
|
2217
|
+
getMicrophoneAudioTrack(traceId: string): Promise<{
|
|
2218
|
+
code: number;
|
|
2219
|
+
track?: RCLocalTrack;
|
|
2220
|
+
}>;
|
|
2221
|
+
/**
|
|
2222
|
+
* 根据通话类型创建音、视频资源
|
|
2223
|
+
* @param mediaType 音频或音视频
|
|
2224
|
+
*/
|
|
2225
|
+
createCallMediaTracks(mediaType: RCCallPlusMediaType, traceId: string): Promise<{
|
|
2226
|
+
code: number;
|
|
2227
|
+
}>;
|
|
2228
|
+
setVideoConfig(videoConfig: IVideoConfig): void;
|
|
2229
|
+
setAudioConfig(audioConfig: IAudioConfig): void;
|
|
2230
|
+
setAudioOutputDeviceId(deviceId: string): Promise<{
|
|
2231
|
+
code: number;
|
|
2232
|
+
}>;
|
|
2233
|
+
destroyAllTracks(traceId: string): void;
|
|
2234
|
+
setAllRemoteAudioEnable(enable: boolean, traceId: string): {
|
|
2235
|
+
code: 80001;
|
|
2236
|
+
} | {
|
|
2237
|
+
code: 0;
|
|
2238
|
+
};
|
|
2239
|
+
destroyTrack(track: RCLocalTrack): Promise<void>;
|
|
2240
|
+
/**
|
|
2241
|
+
* session 连接
|
|
2242
|
+
*/
|
|
2243
|
+
sessionConnected(callId: string, traceId: string): Promise<void>;
|
|
2244
|
+
sessionClose(callId: string, traceId: string): Promise<void>;
|
|
2245
|
+
/**
|
|
2246
|
+
* 禁用视频 track
|
|
2247
|
+
*/
|
|
2248
|
+
disableVideoTrack(): Promise<{
|
|
2249
|
+
code: number | RCRTCCode;
|
|
2250
|
+
track?: RCLocalTrack;
|
|
2251
|
+
}>;
|
|
2252
|
+
/**
|
|
2253
|
+
* 启用视频track
|
|
2254
|
+
* 1. 启用前应用层需先创建视频 track
|
|
2255
|
+
*/
|
|
2256
|
+
enableVideoTrack(traceId: string): Promise<{
|
|
2257
|
+
code: number | RCRTCCode;
|
|
2258
|
+
}>;
|
|
2259
|
+
/**
|
|
2260
|
+
* 通话中切换视频设备
|
|
2261
|
+
*/
|
|
2262
|
+
changeVideoDevice(traceId: string): Promise<{
|
|
2263
|
+
code: number;
|
|
2264
|
+
track?: RCLocalTrack;
|
|
2265
|
+
}>;
|
|
2266
|
+
/**
|
|
2267
|
+
* 通话中更换音频设备
|
|
2268
|
+
*/
|
|
2269
|
+
changeAudioDevice(traceId: string): Promise<{
|
|
2270
|
+
code: number;
|
|
2271
|
+
}>;
|
|
2272
|
+
/**
|
|
2273
|
+
* 禁用音频 track
|
|
2274
|
+
*/
|
|
2275
|
+
disableAudioTrack(): Promise<{
|
|
2276
|
+
code: number | RCRTCCode;
|
|
2277
|
+
track?: RCLocalTrack;
|
|
2278
|
+
}>;
|
|
2279
|
+
/**
|
|
2280
|
+
* 媒体类型升、降
|
|
2281
|
+
*/
|
|
2282
|
+
changeMediaType(mediaType: RCCallPlusMediaType, traceId: string): Promise<void>;
|
|
2283
|
+
/**
|
|
2284
|
+
* 升级 音频 -> 音视频
|
|
2285
|
+
* 1. 业务层需要先通过 createLocalTracks 创建本地视频 track
|
|
2286
|
+
* 2. SDK 只处理发布视频 track
|
|
2287
|
+
*/
|
|
2288
|
+
private _upgradeMediaType;
|
|
2289
|
+
/**
|
|
2290
|
+
* 降级处理
|
|
2291
|
+
*/
|
|
2292
|
+
private _downgradeMediaType;
|
|
2293
|
+
/**
|
|
2294
|
+
* 加入 RTC 房间
|
|
2295
|
+
*/
|
|
2296
|
+
joinRTCRoom(callId: string, traceId: string): Promise<{
|
|
2297
|
+
code: number;
|
|
2298
|
+
room?: RCRTCRoom;
|
|
2299
|
+
tracks?: RCRemoteTrack[];
|
|
2300
|
+
}>;
|
|
2301
|
+
/**
|
|
2302
|
+
* RTC 订阅
|
|
2303
|
+
*/
|
|
2304
|
+
subscribeTracks(tracks: (ISubscribeAttr)[], traceId: string): Promise<{
|
|
2305
|
+
code: number;
|
|
2306
|
+
}>;
|
|
2307
|
+
/**
|
|
2308
|
+
* RTC 取消订阅
|
|
2309
|
+
*/
|
|
2310
|
+
unsubscribeTracks(tracks: RCRemoteTrack[], traceId: string): Promise<{
|
|
2311
|
+
code: number;
|
|
2312
|
+
}>;
|
|
2313
|
+
private _releaseStoredData;
|
|
2314
|
+
getRemoteTracks(): {
|
|
2315
|
+
[userId: string]: RCRemoteTrack[];
|
|
2316
|
+
};
|
|
2317
|
+
getRemoteTrack(userId: string, mediaType: RCCallPlusMediaType): RCRemoteTrack | undefined;
|
|
2318
|
+
getRTCSessionId(): string | null;
|
|
2319
|
+
/** ======私有方法============================================================================================= */
|
|
2320
|
+
/**
|
|
2321
|
+
* RTC 事件监听注册
|
|
2322
|
+
*/
|
|
2323
|
+
private _regRTCListeners;
|
|
2324
|
+
private _onLocalTrackReady;
|
|
2325
|
+
private _onRemoteTrackReady;
|
|
2326
|
+
private _onKickOff;
|
|
2327
|
+
/**
|
|
2328
|
+
* RTC Peer 异常关闭
|
|
2329
|
+
* 移动端未处理此回调,定义 sysStatus 为 CONNECTION_ERR
|
|
2330
|
+
*/
|
|
2331
|
+
private _onRTCPeerConnectionCloseByException;
|
|
2332
|
+
private _onSelfJoined;
|
|
2333
|
+
private _onRemoteTrackPublish;
|
|
2334
|
+
private _onTrackUnpublish;
|
|
2335
|
+
private _onAudioMuteChange;
|
|
2336
|
+
private _onVideoMuteChagne;
|
|
2337
|
+
private _onRTCStateReport;
|
|
2338
|
+
/**
|
|
2339
|
+
* RTC 接收最终失败后需要调用 hangup 挂断的情况
|
|
2340
|
+
*/
|
|
2341
|
+
private _onRTCMethodFail;
|
|
2342
|
+
private _onOtherMemJoined;
|
|
2343
|
+
/**
|
|
2344
|
+
* 创建本地音频 track, 创建成功后保存本地并回调通知
|
|
2345
|
+
*/
|
|
2346
|
+
private _createAudioTrack;
|
|
2347
|
+
/**
|
|
2348
|
+
* 创建本地视频 track, 创建成功后保存本地并回调通知
|
|
2349
|
+
*/
|
|
2350
|
+
private _createVideoTrack;
|
|
2351
|
+
/**
|
|
2352
|
+
* 获得本地缓存视频 track
|
|
2353
|
+
*/
|
|
2354
|
+
getLocalVideoTrack(): RCLocalTrack | undefined;
|
|
2355
|
+
/**
|
|
2356
|
+
* 获得本地缓存音频 track
|
|
2357
|
+
*/
|
|
2358
|
+
getLocalAudioTrack(): RCLocalTrack | undefined;
|
|
2359
|
+
/**
|
|
2360
|
+
* 发布本地资源的逻辑
|
|
2361
|
+
*/
|
|
2362
|
+
publish(tracks: (RCLocalTrack | IPublishAttrs)[], traceId: string): Promise<{
|
|
2363
|
+
code: number;
|
|
2364
|
+
}>;
|
|
2365
|
+
publishVideoTrack(): Promise<IPubSuccessRes>;
|
|
2366
|
+
setVideoView(list: {
|
|
2367
|
+
userId: string;
|
|
2368
|
+
videoElement: HTMLVideoElement;
|
|
2369
|
+
isTiny?: boolean;
|
|
2370
|
+
}[], traceId: string): void;
|
|
2371
|
+
/**
|
|
2372
|
+
* 删除视图时,取消订阅资源
|
|
2373
|
+
*/
|
|
2374
|
+
removeVideoView(userIds: string[], traceId: string): void;
|
|
2375
|
+
/**
|
|
2376
|
+
* 获取存储的人员和 video 元素数据
|
|
2377
|
+
*/
|
|
2378
|
+
getUserViewMap(): {
|
|
2379
|
+
[userId: string]: {
|
|
2380
|
+
videoView: HTMLVideoElement;
|
|
2381
|
+
isTiny: boolean;
|
|
2382
|
+
};
|
|
2383
|
+
};
|
|
2384
|
+
/**
|
|
2385
|
+
* 播放媒体资源
|
|
2386
|
+
*/
|
|
2387
|
+
playMedia(userId: string, mediaType: RCCallPlusMediaType, videoView: HTMLVideoElement, traceId: string): Promise<{
|
|
2388
|
+
code: 80104;
|
|
2389
|
+
} | {
|
|
2390
|
+
code: 80102;
|
|
2391
|
+
} | {
|
|
2392
|
+
code: RCRTCCode.PB_ERROR | RCRTCCode.SIGNAL_DISCONNECTED | RCRTCCode.PARAMS_ERROR | RCRTCCode.REPERT_JOIN_ROOM | RCRTCCode.NOT_IN_ROOM | RCRTCCode.SERVICE_INVALID | RCRTCCode.RTC_TOKEN_INVALID | RCRTCCode.SIGNAL_ERROR | RCRTCCode.CREATE_OFFER_FAILED | RCRTCCode.REQUEST_FAILED | RCRTCCode.MCU_SERVER_NOT_FOUND | RCRTCCode.BROADCAST_SUB_LIST_NOT_EMPTY | RCRTCCode.ROOM_HAS_BEEN_DESTROYED | RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER | RCRTCCode.GET_USER_MEDIA_FAILED | RCRTCCode.GET_DISPLAY_MEDIA_FAILED | RCRTCCode.BROWSER_PERMISSION_DENIED | RCRTCCode.CREATE_CUSTOM_TRACK_FAILED | RCRTCCode.INVALID_TAGS | RCRTCCode.INVALID_USER_ID | RCRTCCode.CREATE_FILE_TRACK_FAILED | RCRTCCode.INVALID_FILE_INSTANCE | RCRTCCode.SET_REMOTE_DESCRIPTION_FAILED | RCRTCCode.BROWSER_NOT_SUPPORT | RCRTCCode.TRACK_NOT_READY | RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT | RCRTCCode.TRACK_PLAY_ERROR | RCRTCCode.SIGNAL_AUDIENCE_JOIN_ROOM_FAILED | RCRTCCode.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED | RCRTCCode.PACKAGE_ENVIRONMENT_ERROR | RCRTCCode.PUBLISH_TRACK_LIMIT_EXCEEDED | RCRTCCode.CDN_RESOURCE_IS_EMPTY | RCRTCCode.SIGNAL_JOIN_RTC_ROOM_REFUSED | RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE | RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM | RCRTCCode.SOME_TRACKS_PUBLISH_FAILED | RCRTCCode.MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO | RCRTCCode.JWT_TIME_OUT | RCRTCCode.SYSTEM_PERMISSION_DENIED | RCRTCCode.PUBLISH_TRACKS_IS_INVALID | RCRTCCode.TRACK_READYSTATE_IS_ENDED | RCRTCCode.APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH | RCRTCCode.LOAD_3A_MODULE_FAILED;
|
|
2393
|
+
} | {
|
|
2394
|
+
code: 0;
|
|
2395
|
+
}>;
|
|
2396
|
+
}
|
|
2397
|
+
|
|
2236
2398
|
declare class RCCallEngine extends EventEmitter {
|
|
2237
2399
|
private readonly _context;
|
|
2400
|
+
private readonly _runtime;
|
|
2401
|
+
private readonly _initOpts;
|
|
2238
2402
|
private readonly _logger;
|
|
2239
2403
|
private readonly _reportAppEventModule;
|
|
2240
2404
|
static __INNER_SESSION_CLOSE__: string;
|
|
@@ -2276,10 +2440,14 @@ declare class RCCallEngine extends EventEmitter {
|
|
|
2276
2440
|
* client callId
|
|
2277
2441
|
*/
|
|
2278
2442
|
private _clientCallId;
|
|
2443
|
+
/**
|
|
2444
|
+
* session 需使用 rtc 模块取设备状态
|
|
2445
|
+
*/
|
|
2446
|
+
private _rtcModule;
|
|
2279
2447
|
/**
|
|
2280
2448
|
* 构造器
|
|
2281
2449
|
*/
|
|
2282
|
-
constructor(_context: PluginContext, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
|
|
2450
|
+
constructor(_context: PluginContext, _runtime: IRuntime, _initOpts: ICallPlusInitOpts, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
|
|
2283
2451
|
/**
|
|
2284
2452
|
* 发起呼叫
|
|
2285
2453
|
*/
|
|
@@ -2401,8 +2569,7 @@ declare class RCCallEngine extends EventEmitter {
|
|
|
2401
2569
|
* 通知人员状态
|
|
2402
2570
|
* CallClient 也需要更新人员状态,定义为公共函数
|
|
2403
2571
|
*/
|
|
2404
|
-
updateUsersState(callId: string, users: ISessionUser[], traceId: string):
|
|
2405
|
-
setUserDeviceEnable(userId: string, mediaType: RCCallPlusMediaType, enable: boolean, traceId: string): void;
|
|
2572
|
+
updateUsersState(callId: string, users: ISessionUser[], traceId: string): ISessionUser[];
|
|
2406
2573
|
/**
|
|
2407
2574
|
* 获取通话开始时间
|
|
2408
2575
|
*/
|
|
@@ -2443,6 +2610,7 @@ declare class RCCallEngine extends EventEmitter {
|
|
|
2443
2610
|
endCurrentUserAbnormalCalls(allDevice: boolean): Promise<{
|
|
2444
2611
|
code: number;
|
|
2445
2612
|
}>;
|
|
2613
|
+
setRTCModule(rtcModule: RTCModule): void;
|
|
2446
2614
|
/** ======私有方法============================================================================================= */
|
|
2447
2615
|
/**
|
|
2448
2616
|
* IM 状态变更处理
|
|
@@ -2528,7 +2696,7 @@ declare class RCCallEngine extends EventEmitter {
|
|
|
2528
2696
|
* A2 多端在接听和直接加入 call 时,上报 onPhoneEnd 状态,消除 B 端展示的 onPhone 状态
|
|
2529
2697
|
*/
|
|
2530
2698
|
private _clearMobileOnPhone;
|
|
2531
|
-
|
|
2699
|
+
reportRemoteUserStateChange(callId: string, users: ISessionUser[], traceId: string): void;
|
|
2532
2700
|
private _onOtherMemberInvite;
|
|
2533
2701
|
private _onRequestChangeMediaType;
|
|
2534
2702
|
private _receiveMediaTypeChangeResult;
|
|
@@ -2542,10 +2710,12 @@ declare class RCCallPlusSession {
|
|
|
2542
2710
|
private readonly _session;
|
|
2543
2711
|
private readonly _callEngine;
|
|
2544
2712
|
private readonly _logger;
|
|
2713
|
+
private readonly _rtcModule;
|
|
2714
|
+
private readonly _context;
|
|
2545
2715
|
private _startTime;
|
|
2546
2716
|
private _duration;
|
|
2547
2717
|
private _callId;
|
|
2548
|
-
constructor(_session: RCCallInnerSession, _callEngine: RCCallEngine, _logger: BasicLogger);
|
|
2718
|
+
constructor(_session: RCCallInnerSession, _callEngine: RCCallEngine, _logger: BasicLogger, _rtcModule: RTCModule, _context: PluginContext);
|
|
2549
2719
|
/**
|
|
2550
2720
|
* 获取 CallId
|
|
2551
2721
|
*/
|
|
@@ -2561,7 +2731,7 @@ declare class RCCallPlusSession {
|
|
|
2561
2731
|
/**
|
|
2562
2732
|
* 获取通话媒体类型
|
|
2563
2733
|
*/
|
|
2564
|
-
getMediaType(): RCCallPlusMediaType
|
|
2734
|
+
getMediaType(): RCCallPlusMediaType;
|
|
2565
2735
|
/**
|
|
2566
2736
|
* 获取通话人员列表
|
|
2567
2737
|
*/
|
|
@@ -2593,20 +2763,6 @@ declare class RCCallPlusSession {
|
|
|
2593
2763
|
code: number;
|
|
2594
2764
|
duration?: number;
|
|
2595
2765
|
}>;
|
|
2596
|
-
/**
|
|
2597
|
-
* 获取通话中的缓存数据,数据由通话发起人在发起通话时定义
|
|
2598
|
-
* @returns
|
|
2599
|
-
*/
|
|
2600
|
-
getSyncData(): string | undefined;
|
|
2601
|
-
/**
|
|
2602
|
-
* 通话是否已加密
|
|
2603
|
-
* @returns
|
|
2604
|
-
*/
|
|
2605
|
-
isSecret(): boolean;
|
|
2606
|
-
/**
|
|
2607
|
-
* 获取通话加密密钥
|
|
2608
|
-
*/
|
|
2609
|
-
getSecretKey(): string;
|
|
2610
2766
|
}
|
|
2611
2767
|
|
|
2612
2768
|
/**
|
|
@@ -2707,9 +2863,13 @@ interface ICallPlusInitOpts {
|
|
|
2707
2863
|
* 是否发布小流
|
|
2708
2864
|
*/
|
|
2709
2865
|
isPubTiny?: boolean;
|
|
2866
|
+
/**
|
|
2867
|
+
* ring 状态下是否允许立即开始新通话,默认为 true
|
|
2868
|
+
*/
|
|
2869
|
+
isAllowNewCallWhenRinging?: boolean;
|
|
2710
2870
|
}
|
|
2711
2871
|
/**
|
|
2712
|
-
*
|
|
2872
|
+
* 单呼通话记录的消息 content 字段
|
|
2713
2873
|
*/
|
|
2714
2874
|
interface IRCCallPlusSummaryMessageContent {
|
|
2715
2875
|
/**
|
|
@@ -2744,95 +2904,96 @@ interface IRCCallPlusSummaryMessageContent {
|
|
|
2744
2904
|
* 通话挂断原因
|
|
2745
2905
|
*/
|
|
2746
2906
|
hangupReason: RCCallPlusReason;
|
|
2907
|
+
}
|
|
2908
|
+
/**
|
|
2909
|
+
* 群呼通话记录的类型
|
|
2910
|
+
*/
|
|
2911
|
+
declare enum IGroupCallStatusMessageType {
|
|
2747
2912
|
/**
|
|
2748
|
-
*
|
|
2749
|
-
*/
|
|
2750
|
-
isSecret: boolean;
|
|
2751
|
-
/**
|
|
2752
|
-
* 通话发起人定义的同步信息
|
|
2913
|
+
* 群呼通话开始
|
|
2753
2914
|
*/
|
|
2754
|
-
|
|
2915
|
+
START = 1,
|
|
2755
2916
|
/**
|
|
2756
|
-
*
|
|
2917
|
+
* 群呼通话结束
|
|
2757
2918
|
*/
|
|
2758
|
-
|
|
2919
|
+
END = 2
|
|
2759
2920
|
}
|
|
2760
2921
|
/**
|
|
2761
|
-
*
|
|
2922
|
+
* 群呼通话记录的消息 content 字段
|
|
2762
2923
|
*/
|
|
2763
|
-
interface
|
|
2764
|
-
}
|
|
2765
|
-
/**
|
|
2766
|
-
* 发起呼叫参数
|
|
2767
|
-
*/
|
|
2768
|
-
interface IRCCallPlusStartParams {
|
|
2924
|
+
interface IRCCallPlusGroupCallStatusMessageContent {
|
|
2769
2925
|
/**
|
|
2770
|
-
*
|
|
2926
|
+
* 通话呼叫id
|
|
2771
2927
|
*/
|
|
2772
|
-
callId
|
|
2928
|
+
callId: string;
|
|
2773
2929
|
/**
|
|
2774
|
-
*
|
|
2930
|
+
* 群呼状态:
|
|
2931
|
+
* 1:群呼通话开始
|
|
2932
|
+
* 2:群呼通话结束
|
|
2775
2933
|
*/
|
|
2776
|
-
|
|
2934
|
+
eventType: IGroupCallStatusMessageType;
|
|
2777
2935
|
/**
|
|
2778
|
-
*
|
|
2779
|
-
* * `RCCallPlusType.SINGLE` - 发起单人呼叫
|
|
2780
|
-
* * `RCCallPlusType.MULTI` - 发起多人呼叫
|
|
2936
|
+
* 群组 Id
|
|
2781
2937
|
*/
|
|
2782
|
-
|
|
2938
|
+
groupId: string;
|
|
2783
2939
|
/**
|
|
2784
|
-
*
|
|
2785
|
-
* * `RCCallPlusMediaType.AUDIO` - 音频通话
|
|
2786
|
-
* * `RCCallPlusMediaType.AUDIO_VIDEO` - 音视频通话
|
|
2940
|
+
* 通话类型(0: AUDIO, 1: VIDEO)
|
|
2787
2941
|
*/
|
|
2788
|
-
mediaType: RCCallPlusMediaType
|
|
2942
|
+
mediaType: RCCallPlusMediaType;
|
|
2789
2943
|
/**
|
|
2790
|
-
*
|
|
2944
|
+
* 发起者 ID
|
|
2791
2945
|
*/
|
|
2792
|
-
|
|
2946
|
+
startUserId: string;
|
|
2947
|
+
/**
|
|
2948
|
+
* 通话开始时间
|
|
2949
|
+
*/
|
|
2950
|
+
startTime: number;
|
|
2793
2951
|
/**
|
|
2794
|
-
*
|
|
2952
|
+
* 同步时间
|
|
2795
2953
|
*/
|
|
2796
|
-
|
|
2954
|
+
syncTime: number;
|
|
2797
2955
|
/**
|
|
2798
|
-
*
|
|
2799
|
-
* 数据不可超出 1024 Bytes
|
|
2956
|
+
* 通话结束时间
|
|
2800
2957
|
*/
|
|
2801
|
-
|
|
2958
|
+
endTime: number;
|
|
2802
2959
|
/**
|
|
2803
|
-
*
|
|
2960
|
+
* 是否加密通话
|
|
2804
2961
|
*/
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2962
|
+
secretChat: SecretCallType;
|
|
2963
|
+
}
|
|
2964
|
+
/**
|
|
2965
|
+
* 单呼通话记录的消息结构定义
|
|
2966
|
+
*/
|
|
2967
|
+
interface IRCCallPlusReceivedSummaryMessage extends IReceivedMessage {
|
|
2968
|
+
}
|
|
2969
|
+
/**
|
|
2970
|
+
* 群呼通话记录的消息结构定义
|
|
2971
|
+
*/
|
|
2972
|
+
interface IReceivedGroupCallStatusMessage extends IReceivedMessage {
|
|
2815
2973
|
}
|
|
2816
2974
|
/**
|
|
2817
2975
|
* callPlus 对外事件定义
|
|
2818
2976
|
*/
|
|
2819
2977
|
interface ICallPlusEventListener {
|
|
2820
2978
|
/**
|
|
2821
|
-
*
|
|
2822
|
-
*
|
|
2979
|
+
* 被呼叫通知
|
|
2980
|
+
* 被呼叫或被邀请时,收到的通知
|
|
2981
|
+
* 收到被呼叫时,可选择接听或挂断通话
|
|
2823
2982
|
* @param session 通话实例
|
|
2824
2983
|
* @param extra 透传呼叫方发起呼叫时携带的附加信息
|
|
2825
2984
|
*/
|
|
2826
2985
|
onReceivedCall(session: RCCallPlusSession, extra?: string): void;
|
|
2827
2986
|
/**
|
|
2828
|
-
*
|
|
2829
|
-
* @param inviteeUserList -
|
|
2830
|
-
* @param inviterUserId -
|
|
2987
|
+
* 群组通话中,远端人员被邀请通知,如 A 与 B 通话中,A 邀请 C,则 B 会收到此回调
|
|
2988
|
+
* @param inviteeUserList - 被邀请用户 ID 列表
|
|
2989
|
+
* @param inviterUserId - 发起邀请者的用户 ID
|
|
2831
2990
|
* @param callId - 所属通话;群聊中,己方已不在通话中的情况下,也会收到服务侧的事件通知
|
|
2832
2991
|
*/
|
|
2833
2992
|
onRemoteUserInvited(inviteeUserList: string[], inviterUserId: string, callId: string): void;
|
|
2834
2993
|
/**
|
|
2835
|
-
*
|
|
2994
|
+
* 通话建立成功通知
|
|
2995
|
+
* 通话建立后,sdk 内部会发布音视频资源
|
|
2996
|
+
* @param session 通话实例
|
|
2836
2997
|
*/
|
|
2837
2998
|
onCallConnected(session: RCCallPlusSession): void;
|
|
2838
2999
|
/**
|
|
@@ -2843,54 +3004,54 @@ interface ICallPlusEventListener {
|
|
|
2843
3004
|
*/
|
|
2844
3005
|
onUserMediaAvailable(userId: string, mediaType: RCCallPlusMediaType): void;
|
|
2845
3006
|
/**
|
|
2846
|
-
*
|
|
3007
|
+
* 通话结束通知
|
|
3008
|
+
* @description 群组通话,收到此通知时,仅代表本人退出通话,不代表通话结束,因为其他人可能仍在通话中
|
|
2847
3009
|
* @param session 通话实例
|
|
2848
3010
|
* @param reason 通话结束原因
|
|
2849
3011
|
*/
|
|
2850
3012
|
onCallEnded(session: RCCallPlusSession, reason: RCCallPlusReason): void;
|
|
2851
3013
|
/**
|
|
2852
|
-
*
|
|
2853
|
-
* @param type
|
|
3014
|
+
* 通话类型变更通知
|
|
3015
|
+
* @param type 通话类型,单呼或群呼
|
|
2854
3016
|
* @param callId 通话 id
|
|
2855
3017
|
*/
|
|
2856
3018
|
onCallTypeChanged?(type: RCCallPlusType, callId: string): void;
|
|
2857
3019
|
/**
|
|
2858
|
-
*
|
|
2859
|
-
* @param callId 通话
|
|
2860
|
-
* @param userId
|
|
2861
|
-
* @param state
|
|
2862
|
-
* @param reason
|
|
2863
|
-
* @param extra 透传远端人员接听、挂断时携带的附加信息
|
|
3020
|
+
* 远端人员状态变更通知
|
|
3021
|
+
* @param callId 通话 Id
|
|
3022
|
+
* @param userId 远端人员的 userId
|
|
3023
|
+
* @param state 远端用户变更后的状态
|
|
3024
|
+
* @param reason 远端用户状态变更原因
|
|
2864
3025
|
*/
|
|
2865
3026
|
onRemoteUserStateChanged?(callId: string, userId: string, state: RCCallPlusSessionUserState, reason?: RCCallPlusReason): void;
|
|
2866
3027
|
/**
|
|
2867
|
-
*
|
|
3028
|
+
* 远端用户摄像头开、关状态通知
|
|
2868
3029
|
* @param callId 通话 id
|
|
2869
|
-
* @param userId
|
|
2870
|
-
* @param disabled
|
|
3030
|
+
* @param userId 远端用户 id
|
|
3031
|
+
* @param disabled 摄像头是否关闭,true 为关闭状态,false 为打开状态
|
|
2871
3032
|
*/
|
|
2872
3033
|
onRemoteCameraStateChanged?(callId: string, userId: string, disabled: boolean): void;
|
|
2873
3034
|
/**
|
|
2874
|
-
*
|
|
3035
|
+
* 远端用户麦克风开、关状态通知
|
|
2875
3036
|
* @param callId 通话 id
|
|
2876
|
-
* @param userId
|
|
2877
|
-
* @param disabled
|
|
3037
|
+
* @param userId 远端用户 id
|
|
3038
|
+
* @param disabled 麦克风是否关闭,true 为关闭状态,false 为打开状态
|
|
2878
3039
|
*/
|
|
2879
3040
|
onRemoteMicrophoneStateChanged?(callId: string, userId: string, disabled: boolean): void;
|
|
2880
3041
|
/**
|
|
2881
|
-
*
|
|
3042
|
+
* 单呼或群呼结束后,服务器下发通话记录通知
|
|
2882
3043
|
* @param record 数据接口定义为:IRCCallPlusCallRecord,可通过 apiDoc 查看具体包含字段
|
|
2883
3044
|
*/
|
|
2884
3045
|
onReceivedCallRecord?(record: IRCCallPlusCallRecord): void;
|
|
2885
3046
|
/**
|
|
2886
|
-
*
|
|
2887
|
-
* @param userId
|
|
3047
|
+
* 通话中,收到远端用户请求切换媒体类型通知(仅单聊)
|
|
3048
|
+
* @param userId 远端用户 id,即请求发起人
|
|
2888
3049
|
* @param transactionId 事物 id,本次请求和应答的唯一标识
|
|
2889
|
-
* @param mediaType
|
|
3050
|
+
* @param mediaType 请求切换的媒体类型,音频或音视频
|
|
2890
3051
|
*/
|
|
2891
3052
|
onReceivedChangeMediaTypeRequest?(userId: string, transactionId: string, mediaType: RCCallPlusMediaType): void;
|
|
2892
3053
|
/**
|
|
2893
|
-
*
|
|
3054
|
+
* 通话中,收到切换媒体类型结果通知(仅单聊)
|
|
2894
3055
|
* @param info.userId
|
|
2895
3056
|
* @param info.transactionId 事物 id,本次请求和应答的唯一标识
|
|
2896
3057
|
* @param info.mediaType 最终的媒体类型
|
|
@@ -2906,10 +3067,11 @@ interface ICallPlusEventListener {
|
|
|
2906
3067
|
code: RCCallPlusMediaTypeChangeResult;
|
|
2907
3068
|
}): void;
|
|
2908
3069
|
/**
|
|
2909
|
-
*
|
|
3070
|
+
* 通话开始时间通知
|
|
2910
3071
|
* @param info.callId 通话 id
|
|
2911
|
-
* @param info.callType
|
|
2912
|
-
* @param info.callStartTime
|
|
3072
|
+
* @param info.callType 通话类型,单聊或群聊
|
|
3073
|
+
* @param info.callStartTime 通话开始时间戳(ms)
|
|
3074
|
+
* @description 通话开始时间戳,为通话对应的房间首次被加入时的时间
|
|
2913
3075
|
*/
|
|
2914
3076
|
onReceivedCallStartTime?(info: {
|
|
2915
3077
|
callId: string;
|
|
@@ -2917,10 +3079,11 @@ interface ICallPlusEventListener {
|
|
|
2917
3079
|
callStartTime: number;
|
|
2918
3080
|
}): void;
|
|
2919
3081
|
/**
|
|
2920
|
-
*
|
|
2921
|
-
*
|
|
3082
|
+
* 收到首帧时间通知
|
|
3083
|
+
* 通话从首帧时间开始计费
|
|
2922
3084
|
* @param callId 通话 id
|
|
2923
3085
|
* @param callFirstFrameTime 通话首帧到达时间
|
|
3086
|
+
* @description 首帧时间戳,为通话中所有用户最早收到首帧的时间
|
|
2924
3087
|
*/
|
|
2925
3088
|
onReceivedCallFirstFrameTime?(callId: string, callFirstFrameTime: number): void;
|
|
2926
3089
|
/**
|
|
@@ -2930,20 +3093,32 @@ interface ICallPlusEventListener {
|
|
|
2930
3093
|
*/
|
|
2931
3094
|
onFetchRemoteMediaError?(userId: string, code: number): void;
|
|
2932
3095
|
/**
|
|
2933
|
-
*
|
|
3096
|
+
* 通话中人员音量通知
|
|
3097
|
+
* @description 默认每秒上报一次
|
|
2934
3098
|
* @param userId 本端或远端人员 id
|
|
2935
3099
|
* @param audioLevel 音量值(0-100)
|
|
2936
3100
|
*/
|
|
2937
3101
|
onUserAudioLevelChanged?(userId: string, audioLevel: number): void;
|
|
2938
3102
|
/**
|
|
2939
|
-
*
|
|
2940
|
-
*
|
|
3103
|
+
* 收到通话结束的消息记录通知
|
|
3104
|
+
* @description 仅单聊可收到,可用于在 IM 聊天界面插入通话结束消息
|
|
2941
3105
|
* 触发时机:
|
|
2942
3106
|
* 1.单聊在线通话结束后
|
|
2943
3107
|
* 2.离线时收到单聊呼叫,通话结束后,重新连接 IM 在线时
|
|
2944
3108
|
* @param message 通话记录的消息体
|
|
2945
3109
|
*/
|
|
2946
3110
|
onReceivedCallPlusSummaryMessage?(message: IRCCallPlusReceivedSummaryMessage): void;
|
|
3111
|
+
/**
|
|
3112
|
+
* 收到群组通话开始和结束的消息,可用于在 IM 聊天界面插入通话开始和结束消息
|
|
3113
|
+
* 触发条件:
|
|
3114
|
+
* 1.仅在同一个群组中的人员可收到
|
|
3115
|
+
* 2.需在发起呼叫时设置 targtId 参数,targtId 为群组 id
|
|
3116
|
+
* 触发时机:
|
|
3117
|
+
* 1.群组通话开始或结束后
|
|
3118
|
+
* 2.离线时群组里产生新通话,重新连接 IM 在线时
|
|
3119
|
+
* @param message 通话记录的消息体
|
|
3120
|
+
*/
|
|
3121
|
+
onReceivedGroupCallStatusMessage?(message: IReceivedGroupCallStatusMessage): void;
|
|
2947
3122
|
}
|
|
2948
3123
|
/**
|
|
2949
3124
|
* 通话前视频配置
|
|
@@ -3067,15 +3242,6 @@ interface IStatusReportListener {
|
|
|
3067
3242
|
onReceivePacketLoss(data: {
|
|
3068
3243
|
[userId: string]: RCCallPlusPacketLossStats;
|
|
3069
3244
|
}): void;
|
|
3070
|
-
/**
|
|
3071
|
-
* 上报远端视频信息,每秒回调一次
|
|
3072
|
-
* @param info.width 视频宽度
|
|
3073
|
-
* @param info.height 视频高度
|
|
3074
|
-
*/
|
|
3075
|
-
onReceiveRemoteVideoInfo?(info: {
|
|
3076
|
-
width: number;
|
|
3077
|
-
height: number;
|
|
3078
|
-
}): void;
|
|
3079
3245
|
}
|
|
3080
3246
|
/**
|
|
3081
3247
|
* 人员及人员状态
|
|
@@ -3092,6 +3258,10 @@ interface IRCCallPlusPushConfig {
|
|
|
3092
3258
|
* 推送标题
|
|
3093
3259
|
*/
|
|
3094
3260
|
pushTitle: string;
|
|
3261
|
+
/**
|
|
3262
|
+
* 推送内容
|
|
3263
|
+
*/
|
|
3264
|
+
pushContent?: string;
|
|
3095
3265
|
/**
|
|
3096
3266
|
* iOSConfig
|
|
3097
3267
|
*/
|
|
@@ -3198,19 +3368,6 @@ interface IAndroidPushConfig {
|
|
|
3198
3368
|
*/
|
|
3199
3369
|
imageUrlHonor?: string;
|
|
3200
3370
|
}
|
|
3201
|
-
/**
|
|
3202
|
-
* 服务端需要的 pushConfig 数据格式
|
|
3203
|
-
*/
|
|
3204
|
-
interface IServerPushExt {
|
|
3205
|
-
title: string;
|
|
3206
|
-
templateId: string;
|
|
3207
|
-
pushId: string;
|
|
3208
|
-
disableTitle: boolean;
|
|
3209
|
-
forceShowPushContent: boolean;
|
|
3210
|
-
pushConfigs: {
|
|
3211
|
-
[key: string]: any;
|
|
3212
|
-
}[];
|
|
3213
|
-
}
|
|
3214
3371
|
|
|
3215
3372
|
declare class RCAudioConfigBuilder {
|
|
3216
3373
|
private _logger;
|
|
@@ -3336,6 +3493,7 @@ declare class RCCallPlusAndroidPushConfigBuilder {
|
|
|
3336
3493
|
declare class RCCallPlusClient {
|
|
3337
3494
|
private readonly _context;
|
|
3338
3495
|
private readonly _logger;
|
|
3496
|
+
private readonly _runtime;
|
|
3339
3497
|
private readonly _initOpts;
|
|
3340
3498
|
/**
|
|
3341
3499
|
* 摄像头采集配置
|
|
@@ -3367,7 +3525,7 @@ declare class RCCallPlusClient {
|
|
|
3367
3525
|
* 上报应用层事件模块
|
|
3368
3526
|
*/
|
|
3369
3527
|
_reportAppEventModule: RCCallPlusReportModule;
|
|
3370
|
-
constructor(_context: PluginContext, _logger: BasicLogger, _initOpts: ICallPlusInitOpts);
|
|
3528
|
+
constructor(_context: PluginContext, _logger: BasicLogger, _runtime: IRuntime, _initOpts: ICallPlusInitOpts);
|
|
3371
3529
|
/**
|
|
3372
3530
|
* 加房间、发布、订阅失败时需结束通话,并上报原因
|
|
3373
3531
|
*/
|
|
@@ -3392,10 +3550,6 @@ declare class RCCallPlusClient {
|
|
|
3392
3550
|
* 被踢出房间时,需结束通话
|
|
3393
3551
|
*/
|
|
3394
3552
|
private _kickoffHandle;
|
|
3395
|
-
/**
|
|
3396
|
-
* 远端资源音视频状态变化,需更新 session 中人员的设备状态
|
|
3397
|
-
*/
|
|
3398
|
-
private _receiveDeviceEnableChangeHandle;
|
|
3399
3553
|
/**
|
|
3400
3554
|
* 通话挂断时,需清空内存,离开房间
|
|
3401
3555
|
*/
|
|
@@ -3404,10 +3558,11 @@ declare class RCCallPlusClient {
|
|
|
3404
3558
|
* 注册应用层事件
|
|
3405
3559
|
* 包含“收到呼叫、通话结束、通话人员状态变更、通话类型变更”等事件
|
|
3406
3560
|
* ICallPlusEventListener 对象请参考 apiDoc
|
|
3561
|
+
* @description 重复调用时,会覆盖前一次的设置
|
|
3407
3562
|
*/
|
|
3408
3563
|
setCallPlusEventListener(listener: ICallPlusEventListener): void;
|
|
3409
3564
|
/**
|
|
3410
|
-
*
|
|
3565
|
+
* 设置通话质量数据监听
|
|
3411
3566
|
* 每秒上报一次
|
|
3412
3567
|
* @param listener 类型为 IStatusReportListener,详细定义可参考 apiDoc
|
|
3413
3568
|
* @param listener.onSendPacketLoss 发送丢包率信息回调
|
|
@@ -3415,11 +3570,12 @@ declare class RCCallPlusClient {
|
|
|
3415
3570
|
*/
|
|
3416
3571
|
setStatusReportListener(listener: IStatusReportListener): void;
|
|
3417
3572
|
/**
|
|
3418
|
-
*
|
|
3573
|
+
* 设置渲染视图(包括自己和对方)
|
|
3419
3574
|
* @param list 为一个列表,可传入多人的媒体播放器
|
|
3420
3575
|
* @param item.userId 用户 id
|
|
3421
3576
|
* @param item.videoElement 一个 video 元素,用于播放视频,需要挂载在业务层页面上
|
|
3422
3577
|
* @param item.isTiny 是否观看别人的小流,小窗口时可以配置为 true,可节省带宽,userId 为远端用户时有效
|
|
3578
|
+
* @description 暂不支持动态切换大小流
|
|
3423
3579
|
* @returns code 返回是否设置成功
|
|
3424
3580
|
*/
|
|
3425
3581
|
setVideoView(list: {
|
|
@@ -3430,7 +3586,7 @@ declare class RCCallPlusClient {
|
|
|
3430
3586
|
code: number;
|
|
3431
3587
|
};
|
|
3432
3588
|
/**
|
|
3433
|
-
*
|
|
3589
|
+
* 删除渲染视图
|
|
3434
3590
|
* 不观看某个人的视频时,业务层可以直接移除对应的 video 标签,
|
|
3435
3591
|
* 调 removeVideoView 方法,SDK 内部会停止接收对方的媒体传输
|
|
3436
3592
|
* @param userIds 用户 id 列表
|
|
@@ -3444,12 +3600,9 @@ declare class RCCallPlusClient {
|
|
|
3444
3600
|
* 播放某个人的视频前,请确保已经调用 `setVideoView` 方法为其设置视频视图
|
|
3445
3601
|
* @param userId 指定要查看某个人的媒体资源
|
|
3446
3602
|
* @param mediaType 指定播放音频还是视频
|
|
3447
|
-
* @param volume 有效值为 0-100
|
|
3448
3603
|
* @returns 返回是否播放成功
|
|
3449
3604
|
*/
|
|
3450
|
-
playMedia(userId: string, mediaType: RCCallPlusMediaType
|
|
3451
|
-
volume?: number;
|
|
3452
|
-
}): Promise<{
|
|
3605
|
+
playMedia(userId: string, mediaType: RCCallPlusMediaType): Promise<{
|
|
3453
3606
|
code: number;
|
|
3454
3607
|
}>;
|
|
3455
3608
|
/**
|
|
@@ -3459,8 +3612,8 @@ declare class RCCallPlusClient {
|
|
|
3459
3612
|
*/
|
|
3460
3613
|
createVideoConfigBuilder(): RCVideoConfigBuilder;
|
|
3461
3614
|
/**
|
|
3462
|
-
*
|
|
3463
|
-
*
|
|
3615
|
+
* 设置视频配置:分辨率、最大/最小码率、帧率、摄像头 ID 等信息
|
|
3616
|
+
* 需要通话建立前设置
|
|
3464
3617
|
*/
|
|
3465
3618
|
setVideoConfig(cfg: IVideoConfig): {
|
|
3466
3619
|
code: number;
|
|
@@ -3479,8 +3632,8 @@ declare class RCCallPlusClient {
|
|
|
3479
3632
|
*/
|
|
3480
3633
|
createAndroidPushConfigBuilder(): RCCallPlusAndroidPushConfigBuilder;
|
|
3481
3634
|
/**
|
|
3482
|
-
*
|
|
3483
|
-
*
|
|
3635
|
+
* 设置音频配置:码率、采样率、音频采集设备 ID
|
|
3636
|
+
* 需要通话建立前设置
|
|
3484
3637
|
*/
|
|
3485
3638
|
setAudioConfig(cfg: IAudioConfig): {
|
|
3486
3639
|
code: number;
|
|
@@ -3494,36 +3647,32 @@ declare class RCCallPlusClient {
|
|
|
3494
3647
|
}>;
|
|
3495
3648
|
/**
|
|
3496
3649
|
* 发起呼叫
|
|
3497
|
-
* @deprecated 接口已废弃,请使用 `startCallWithParams` 接口替代
|
|
3498
3650
|
* @param userIds 被叫人员 userId 列表,单人呼叫仅需在数组中放置对方一人的 userId
|
|
3499
|
-
* @param
|
|
3500
|
-
* @param mediaType 通话媒体类型:
|
|
3651
|
+
* @param type 单人呼叫或多人呼叫
|
|
3652
|
+
* @param mediaType 通话媒体类型: 音频或音视频
|
|
3501
3653
|
* @param pushConfig 移动端推送信息
|
|
3502
3654
|
* @param extra 附加信息,会透传给被呼叫方
|
|
3655
|
+
* @param targetId 多人通话时,共同所在的群组 id
|
|
3656
|
+
* @description 重试逻辑:信令发送失败时,sdk 内部会间隔 2 秒重试一次,直到成功或超过,超时时间为一分钟
|
|
3503
3657
|
* @returns callId 呼叫成功后,产生的会话 id
|
|
3504
3658
|
*/
|
|
3505
|
-
startCall(userIds: string[], callType?: RCCallPlusType, mediaType?: RCCallPlusMediaType
|
|
3506
|
-
code: number;
|
|
3507
|
-
callId?: string;
|
|
3508
|
-
}>;
|
|
3509
|
-
/**
|
|
3510
|
-
* 发起呼叫
|
|
3511
|
-
* @param params - {@inheritDoc IRCCallPlusStartParams}
|
|
3512
|
-
*/
|
|
3513
|
-
startCallWithParams(params: IRCCallPlusStartParams): Promise<{
|
|
3659
|
+
startCall(userIds: string[], callType?: RCCallPlusType, mediaType?: RCCallPlusMediaType, pushConfig?: IRCCallPlusPushConfig, extra?: string, targetId?: string): Promise<{
|
|
3514
3660
|
code: number;
|
|
3515
3661
|
callId?: string;
|
|
3516
3662
|
}>;
|
|
3517
3663
|
/**
|
|
3518
3664
|
* 直接加入进行中的群组通话
|
|
3665
|
+
* @description 只要能获取到群组通话ID,无论是否被邀请过,都可以直接加入
|
|
3666
|
+
* @description 重试逻辑:信令发送失败时,sdk 内部会间隔 2 秒重试一次,直到成功或超过,超时时间为一分钟
|
|
3519
3667
|
* @param callId 通话 id
|
|
3520
3668
|
*/
|
|
3521
3669
|
joinMultiCall(callId: string): Promise<{
|
|
3522
3670
|
code: number;
|
|
3523
3671
|
}>;
|
|
3524
3672
|
/**
|
|
3525
|
-
*
|
|
3526
|
-
* 单人通话中邀请他人会引发通话类型变更
|
|
3673
|
+
* 单聊或群组通话过程中邀请其他人加入
|
|
3674
|
+
* @description 单人通话中邀请他人会引发通话类型变更
|
|
3675
|
+
* @description 重试逻辑:信令发送失败时,sdk 内部会间隔 2 秒重试一次,直到成功或超过,超时时间为一分钟
|
|
3527
3676
|
* @param userIds 被邀请人列表
|
|
3528
3677
|
* @param pushConfig 移动端推送信息
|
|
3529
3678
|
* @param extra 附加信息,会透传给被邀请方
|
|
@@ -3535,25 +3684,28 @@ declare class RCCallPlusClient {
|
|
|
3535
3684
|
}>;
|
|
3536
3685
|
/**
|
|
3537
3686
|
* 接听通话
|
|
3687
|
+
* @description 重试逻辑:信令发送失败时,sdk 内部会间隔 2 秒重试一次,直到成功或超过,超时时间为一分钟
|
|
3538
3688
|
* @param callId 通话 id
|
|
3539
3689
|
* @param pushConfig 移动端推送信息
|
|
3540
3690
|
*/
|
|
3541
3691
|
accept(callId: string, pushConfig?: IRCCallPlusPushConfig): Promise<{
|
|
3542
3692
|
code: number;
|
|
3543
3693
|
}>;
|
|
3544
|
-
private
|
|
3694
|
+
private __innerHangup;
|
|
3545
3695
|
/**
|
|
3546
3696
|
* 挂断通话
|
|
3547
|
-
* @param callId
|
|
3697
|
+
* @param callId 为可选参数,不传时,挂断正在进行的主 session,传入时可指定挂断主通话或暂未建立连接的通话
|
|
3698
|
+
* 暂未建立连接的通话:指已在通话中时,收到呼叫但暂未接听的通话
|
|
3699
|
+
* 挂断指定通话时,不影响其他通话状态
|
|
3548
3700
|
* @param pushConfig 移动端推送信息
|
|
3549
3701
|
*/
|
|
3550
|
-
hangup(callId?: string, pushConfig?: IRCCallPlusPushConfig
|
|
3702
|
+
hangup(callId?: string, pushConfig?: IRCCallPlusPushConfig): Promise<{
|
|
3551
3703
|
code: number;
|
|
3552
3704
|
}>;
|
|
3553
|
-
private _hangup;
|
|
3554
3705
|
/**
|
|
3555
|
-
*
|
|
3556
|
-
* @param mediaType
|
|
3706
|
+
* 通话中发起媒体类型切换请求
|
|
3707
|
+
* @param mediaType 媒体类型,音频或音视频
|
|
3708
|
+
* @description 仅单呼时支持媒体类型切换,无需业务层操作摄像头
|
|
3557
3709
|
* @returns transactionId 客户端和服务端交互的事务 id,在取消或应答媒体类型切换时传入
|
|
3558
3710
|
*/
|
|
3559
3711
|
requestChangeMediaType(mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO): Promise<{
|
|
@@ -3561,26 +3713,29 @@ declare class RCCallPlusClient {
|
|
|
3561
3713
|
transactionId?: string;
|
|
3562
3714
|
}>;
|
|
3563
3715
|
/**
|
|
3564
|
-
*
|
|
3716
|
+
* 取消已经发起的媒体类型切换请求
|
|
3565
3717
|
* @param transactionId 客户端和服务端交互的事务 id,为发起媒体类型变更请求返回的 transactionId
|
|
3718
|
+
* @description 仅单呼时支持,可在调用 requestChangeMediaType 之后执行取消
|
|
3566
3719
|
*/
|
|
3567
3720
|
cancelChangeMediaType(transactionId: string): Promise<{
|
|
3568
3721
|
code: number;
|
|
3569
3722
|
}>;
|
|
3570
3723
|
/**
|
|
3571
|
-
*
|
|
3724
|
+
* 响应通话中媒体类型切换请求
|
|
3572
3725
|
* @param transactionId 客户端和服务端交互的事务 id,为 onReceivedChangeToVideo 监听收到 transactionId 参数值
|
|
3726
|
+
* @param isAgree 是否同意切换媒体类型
|
|
3727
|
+
* @description 仅单呼时支持
|
|
3573
3728
|
*/
|
|
3574
3729
|
replyChangeMediaType(transactionId: string, isAgree: boolean): Promise<{
|
|
3575
3730
|
code: number;
|
|
3576
3731
|
}>;
|
|
3577
3732
|
/**
|
|
3578
|
-
*
|
|
3733
|
+
* 获取当前进行中的通话实例
|
|
3579
3734
|
* @returns RCCallPlusSession 对象或 null 为当前正在进行的通话对象
|
|
3580
3735
|
*/
|
|
3581
3736
|
getCurrentCallSession(): RCCallPlusSession | null;
|
|
3582
3737
|
/**
|
|
3583
|
-
*
|
|
3738
|
+
* 从服务器获取当前用户未结束的通话记录
|
|
3584
3739
|
* @returns records 一组未结束的通话记录
|
|
3585
3740
|
*/
|
|
3586
3741
|
getAvailableCallRecordsFromServer(): Promise<{
|
|
@@ -3588,7 +3743,7 @@ declare class RCCallPlusClient {
|
|
|
3588
3743
|
records?: IRCCallPlusCallRecord[];
|
|
3589
3744
|
}>;
|
|
3590
3745
|
/**
|
|
3591
|
-
*
|
|
3746
|
+
* 获取当前用户的通话记录
|
|
3592
3747
|
* @param startTimestamp 起始时间戳,
|
|
3593
3748
|
* 首次获取可传 -1,倒序时,返回最新的通话记录,正序时,返回最早的通话记录
|
|
3594
3749
|
* order 为正序时,返回大于此时间戳的通话记录
|
|
@@ -3606,20 +3761,21 @@ declare class RCCallPlusClient {
|
|
|
3606
3761
|
result?: IRCCallPlusGetCallRecordRes;
|
|
3607
3762
|
}>;
|
|
3608
3763
|
/**
|
|
3609
|
-
*
|
|
3610
|
-
* @param callIds callId 列表
|
|
3764
|
+
* 批量删除当前用户通话记录
|
|
3765
|
+
* @param callIds 需要删除通话记录的 callId 列表
|
|
3611
3766
|
*/
|
|
3612
3767
|
deleteCallRecordsFromServer(callIds: string[]): Promise<{
|
|
3613
3768
|
code: number;
|
|
3614
3769
|
}>;
|
|
3615
3770
|
/**
|
|
3616
|
-
*
|
|
3771
|
+
* 删除当前用户所有通话记录
|
|
3617
3772
|
*/
|
|
3618
3773
|
deleteAllCallRecordsFromServer(): Promise<{
|
|
3619
3774
|
code: number;
|
|
3620
3775
|
}>;
|
|
3621
3776
|
/**
|
|
3622
3777
|
* 开启摄像头
|
|
3778
|
+
* @description 视频通话建立后默认状态为开启
|
|
3623
3779
|
* @description 通话过程中打开摄像头,如果扩散资源失败,即对方没收到本端打开摄像头的通知时,此次行为失败
|
|
3624
3780
|
* @returns track 摄像头视频资源
|
|
3625
3781
|
*/
|
|
@@ -3633,7 +3789,8 @@ declare class RCCallPlusClient {
|
|
|
3633
3789
|
code: number;
|
|
3634
3790
|
}>;
|
|
3635
3791
|
/**
|
|
3636
|
-
*
|
|
3792
|
+
* 切换指定摄像头
|
|
3793
|
+
* @description 通话建立前和通话过程中都可调用
|
|
3637
3794
|
* @param cameraId 浏览器中取得的摄像头设备 id,可调 getCameras 方法取得
|
|
3638
3795
|
* @description 切换成功后,`ICallPlusEventListener` 监听器的 `onUserMediaAvailable` 会被触发,此时调用 `callPlusClient.playMedia` 方法播放新的资源。
|
|
3639
3796
|
*/
|
|
@@ -3642,6 +3799,7 @@ declare class RCCallPlusClient {
|
|
|
3642
3799
|
}>;
|
|
3643
3800
|
/**
|
|
3644
3801
|
* 开启麦克风
|
|
3802
|
+
* @description 通话建立后默认开启
|
|
3645
3803
|
* @description 通话过程中打开麦克风,如果扩散资源失败,即对方没收到本端打开麦克风的通知时,此次行为失败
|
|
3646
3804
|
*/
|
|
3647
3805
|
startMicrophone(): Promise<{
|
|
@@ -3655,12 +3813,13 @@ declare class RCCallPlusClient {
|
|
|
3655
3813
|
code: number;
|
|
3656
3814
|
}>;
|
|
3657
3815
|
/**
|
|
3658
|
-
*
|
|
3816
|
+
* 获取麦克风开关状态
|
|
3659
3817
|
*/
|
|
3660
3818
|
isMicrophoneEnabled(): boolean;
|
|
3661
3819
|
/**
|
|
3662
3820
|
* 设置所有远端音频流是否可用
|
|
3663
3821
|
* @param enable 为 true 时,启用所有远端音频流;为 false 时,静音所有远端音频流
|
|
3822
|
+
* @description 静音操作仅不播放远端用户音频流,媒体通道还会继续接收远端音频数据
|
|
3664
3823
|
*/
|
|
3665
3824
|
setAllRemoteAudioEnable(enable: boolean): Promise<{
|
|
3666
3825
|
code: number;
|
|
@@ -3691,14 +3850,8 @@ declare class RCCallPlusClient {
|
|
|
3691
3850
|
switchMicrophone(microphoneId: string): Promise<{
|
|
3692
3851
|
code: number;
|
|
3693
3852
|
}>;
|
|
3694
|
-
/**
|
|
3695
|
-
* 客户端生成 callId,量子特定,用于生成同样的密钥
|
|
3696
|
-
* 呼叫时传给服务,通话 callId 为此 callId
|
|
3697
|
-
* @param userId 用户 id
|
|
3698
|
-
*/
|
|
3699
|
-
generateCallId(userId: string): string;
|
|
3700
3853
|
}
|
|
3701
3854
|
|
|
3702
3855
|
declare const installer: IPluginGenerator<RCCallPlusClient, ICallPlusInitOpts>;
|
|
3703
3856
|
|
|
3704
|
-
export { IAndroidPushConfig, IAudioConfig, IAudioConfigBuilder, ICallOpts, ICallPlusEventListener, ICallPlusInitOpts, IRCCallPlusCallRecord, IRCCallPlusGetCallRecordRes, IRCCallPlusPushConfig, IRCCallPlusReceivedSummaryMessage,
|
|
3857
|
+
export { IAndroidPushConfig, IAudioConfig, IAudioConfigBuilder, ICallOpts, ICallPlusEventListener, ICallPlusInitOpts, IGroupCallStatusMessageType, IRCCallPlusCallRecord, IRCCallPlusGetCallRecordRes, IRCCallPlusGroupCallStatusMessageContent, IRCCallPlusPushConfig, IRCCallPlusReceivedSummaryMessage, IRCCallPlusSummaryMessageContent, IReceivedGroupCallStatusMessage, IStatusReportListener, IVideoConfig, IVideoConfigBuilder, IiOSPushConfig, RCAudioConfigBuilder, RCCallPlusAndroidPushConfigBuilder, RCCallPlusCallState, RCCallPlusCallUser, RCCallPlusClient, RCCallPlusCode, RCCallPlusMediaType, RCCallPlusMediaTypeChangeResult, RCCallPlusPacketLossStats, RCCallPlusReason, RCCallPlusSession, RCCallPlusSessionUserState, RCCallPlusType, RCVideoConfigBuilder, installer };
|