@rongcloud/plugin-call-plus 2.1.8 → 2.2.0-enterprise-lz-alpha.1

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 CHANGED
@@ -1,5 +1,5 @@
1
- import { RCConnectionStatus, EventEmitter, BasicLogger, RTCJoinType, EnableLogL, PluginContext, IRuntime, IReceivedMessage, IPluginGenerator } from '@rongcloud/engine';
2
- import { RCRTCClient, RCRemoteTrack, RCTrack, ISubscribeAttr, RCRTCCode, RCLocalAudioTrack, RCRemoteAudioTrack, RCFrameRate, RCResolution } from '@rongcloud/plugin-rtc';
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';
3
3
  export { RCFrameRate as RCCallPlusFrameRate, RCResolution as RCCallPlusResolution } from '@rongcloud/plugin-rtc';
4
4
 
5
5
  /**
@@ -413,7 +413,11 @@ declare enum RCCallPlusReason {
413
413
  /**
414
414
  * 远端用户的其他端已经在房间中,不允许 joinRoom 进行音视频通话
415
415
  */
416
- REMOTE_OTHER_CLIENT_IN_RTC = 1214
416
+ REMOTE_OTHER_CLIENT_IN_RTC = 1214,
417
+ /**
418
+ * 加密通话失败,如获取秘钥失败等
419
+ */
420
+ ENCRYPT_FAILED = 1216
417
421
  }
418
422
 
419
423
  /**
@@ -471,6 +475,10 @@ interface IBaseSingalCon {
471
475
  * 开始呼叫信令内容
472
476
  */
473
477
  interface IStartCallCon {
478
+ /**
479
+ * 客户端生成,传给服务
480
+ */
481
+ callId?: string;
474
482
  /**
475
483
  * 用户生成 callId
476
484
  */
@@ -491,6 +499,10 @@ interface IStartCallCon {
491
499
  * 是否密聊
492
500
  */
493
501
  secretChat: SecretCallType;
502
+ /**
503
+ * 密钥
504
+ */
505
+ secretChatKey: string;
494
506
  /**
495
507
  * 当前用户的来源组 ID 类型
496
508
  */
@@ -515,11 +527,16 @@ interface IStartCallCon {
515
527
  * 附加信息,服务器透传
516
528
  */
517
529
  extra?: string;
530
+ innerExtra?: string;
518
531
  }
519
532
  /**
520
533
  * 单呼信令内容
521
534
  */
522
535
  interface IStartSingleCon {
536
+ /**
537
+ * 客户端生成,传递给服务
538
+ */
539
+ callId?: string;
523
540
  /**
524
541
  * 用户生成 callId
525
542
  */
@@ -565,11 +582,16 @@ interface IStartSingleCon {
565
582
  * 服务端接收的推送扩展
566
583
  */
567
584
  pushExt?: string;
585
+ innerExtra?: string;
568
586
  }
569
587
  /**
570
588
  * 群呼信令内容
571
589
  */
572
590
  interface IStartGroupCon {
591
+ /**
592
+ * 客户端生成,传递给服务
593
+ */
594
+ callId?: string;
573
595
  /**
574
596
  * 用户生成 callId
575
597
  */
@@ -606,6 +628,16 @@ interface IStartGroupCon {
606
628
  * 服务端接收的推送扩展
607
629
  */
608
630
  pushExt?: string;
631
+ innerExtra?: string;
632
+ /**
633
+ * 是否密聊(0: 否;1: 是)
634
+ * PC 目前无密聊,写死 0
635
+ */
636
+ secretChat: SecretCallType;
637
+ /**
638
+ * 单聊加密 key
639
+ */
640
+ secretChatKey?: string;
609
641
  }
610
642
  /**
611
643
  * 开始呼叫 Server 返回
@@ -642,6 +674,7 @@ interface IInviteCallCon extends IBaseSingalCon {
642
674
  * 服务端接收的推送扩展
643
675
  */
644
676
  pushExt?: string;
677
+ innerExtra?: string;
645
678
  }
646
679
  /**
647
680
  * 邀请好友加入信令结果
@@ -720,7 +753,7 @@ interface IPubInviteCon extends IBaseSingalCon {
720
753
  /**
721
754
  * 媒体类型
722
755
  */
723
- mediaType: RCCallPlusMediaType;
756
+ mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
724
757
  /**
725
758
  * 是否密聊
726
759
  */
@@ -741,6 +774,14 @@ interface IPubInviteCon extends IBaseSingalCon {
741
774
  * 附加信息
742
775
  */
743
776
  extra?: string;
777
+ /**
778
+ * 可存储的扩展信息,由发起人发起时定义
779
+ */
780
+ innerExtra?: string;
781
+ /**
782
+ * 通话加密密钥
783
+ */
784
+ secretChatKey?: string;
744
785
  }
745
786
  /**
746
787
  * 通话响铃信令内容
@@ -969,6 +1010,7 @@ interface ISyncCallLogRes extends IBaseSingalCon {
969
1010
  * 同步数据
970
1011
  */
971
1012
  syncTime: number;
1013
+ innerExtra?: string;
972
1014
  }
973
1015
  interface ISyncCallLogResList {
974
1016
  hasMore: 0 | 1;
@@ -1010,7 +1052,7 @@ interface ISignalTransporterListener {
1010
1052
  /**
1011
1053
  * 收到通话状态变更
1012
1054
  */
1013
- onStatusDown(data: IStatusDownCont, traceId: string, sessionId?: string): void;
1055
+ onStatusDown(data: IStatusDownCont, byServer: boolean, traceId: string): void;
1014
1056
  /**
1015
1057
  * 其他端通话状态变更
1016
1058
  */
@@ -1042,7 +1084,7 @@ interface IGetUserCallStateListRes {
1042
1084
  callStateList: {
1043
1085
  callId: string;
1044
1086
  callType: RCCallPlusType;
1045
- mediaType: RCCallPlusMediaType;
1087
+ mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
1046
1088
  /**
1047
1089
  * 呼叫发起者 ID
1048
1090
  */
@@ -1076,6 +1118,8 @@ interface IGetUserCallStateListRes {
1076
1118
  */
1077
1119
  targetId: string;
1078
1120
  startTime: number;
1121
+ innerExtra?: string;
1122
+ secretChat: SecretCallType;
1079
1123
  }[];
1080
1124
  }
1081
1125
  interface IClearCallLogRes {
@@ -1096,7 +1140,7 @@ interface IGetCallSessionServerRes extends IBaseSingalCon {
1096
1140
  /**
1097
1141
  * 媒体类型
1098
1142
  */
1099
- mediaType: RCCallPlusMediaType;
1143
+ mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
1100
1144
  /**
1101
1145
  * 通话状态
1102
1146
  */
@@ -1125,6 +1169,9 @@ interface IGetCallSessionServerRes extends IBaseSingalCon {
1125
1169
  * 同步时间戳
1126
1170
  */
1127
1171
  syncTime: number;
1172
+ innerExtra?: string;
1173
+ secretChat: SecretCallType;
1174
+ secretChatKey?: string;
1128
1175
  }
1129
1176
  interface IGetCallTimeInfoRes extends IBaseSingalCon {
1130
1177
  /**
@@ -1277,6 +1324,14 @@ interface IRCCallPlusCallRecord {
1277
1324
  * 创建时间
1278
1325
  */
1279
1326
  createTimestamp: number;
1327
+ /**
1328
+ * 同步数据
1329
+ */
1330
+ syncData?: string;
1331
+ /**
1332
+ * 是否为加密通话
1333
+ */
1334
+ isSecret: boolean;
1280
1335
  }
1281
1336
  interface IUserInfo {
1282
1337
  /**
@@ -1300,7 +1355,15 @@ interface IUserInfo {
1300
1355
  */
1301
1356
  orgId?: string;
1302
1357
  }
1303
- interface IStartCallOpts extends ICallId {
1358
+ interface IStartCallOpts {
1359
+ /**
1360
+ * 通话唯一 ID
1361
+ */
1362
+ callId?: string;
1363
+ /**
1364
+ * 客户端 callId
1365
+ */
1366
+ clientCallId: string;
1304
1367
  /**
1305
1368
  * 被邀请人信息
1306
1369
  */
@@ -1312,7 +1375,7 @@ interface IStartCallOpts extends ICallId {
1312
1375
  /**
1313
1376
  * 通话媒体类型
1314
1377
  */
1315
- mediaType: RCCallPlusMediaType;
1378
+ mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
1316
1379
  /**
1317
1380
  * 当前用户来源组 ID 类型
1318
1381
  */
@@ -1334,6 +1397,12 @@ interface IStartCallOpts extends ICallId {
1334
1397
  * 附加信息,服务器透传
1335
1398
  */
1336
1399
  extra?: string;
1400
+ /**
1401
+ * 内部透传信息,服务器会记录该数据
1402
+ */
1403
+ innerExtra?: string;
1404
+ secretChat: SecretCallType;
1405
+ secretChatKey?: string;
1337
1406
  }
1338
1407
  interface IStartCallResult {
1339
1408
  /**
@@ -1473,7 +1542,7 @@ interface IGetCallSessionRes extends ICallId {
1473
1542
  /**
1474
1543
  * 媒体类型
1475
1544
  */
1476
- mediaType: RCCallPlusMediaType;
1545
+ mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
1477
1546
  /**
1478
1547
  * 通话状态
1479
1548
  */
@@ -1494,6 +1563,12 @@ interface IGetCallSessionRes extends ICallId {
1494
1563
  * 同步时间戳
1495
1564
  */
1496
1565
  syncTime: number;
1566
+ innerExtra?: string;
1567
+ secretChat: SecretCallType;
1568
+ /**
1569
+ * 通话加密密钥
1570
+ */
1571
+ secretChatKey?: string;
1497
1572
  }
1498
1573
 
1499
1574
  declare enum CallTimerEventType {
@@ -1538,8 +1613,17 @@ declare class RCCallInnerSession extends EventEmitter {
1538
1613
  */
1539
1614
  private _callUsers;
1540
1615
  private readonly _logger;
1616
+ private readonly _isSecret;
1541
1617
  /**
1542
- * 请求更新的 mediaType
1618
+ * 同步数据
1619
+ */
1620
+ private _syncData;
1621
+ /**
1622
+ * 通话加密密钥
1623
+ */
1624
+ private _secretKey;
1625
+ /**
1626
+ * 暂存请求更新的 mediaType,无请求时为 null
1543
1627
  */
1544
1628
  private _reqMediaType;
1545
1629
  /**
@@ -1580,7 +1664,7 @@ declare class RCCallInnerSession extends EventEmitter {
1580
1664
  /**
1581
1665
  * 通话媒体类型
1582
1666
  */
1583
- _mediaType: RCCallPlusMediaType,
1667
+ _mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO,
1584
1668
  /**
1585
1669
  * session 呼叫发起者
1586
1670
  */
@@ -1592,7 +1676,15 @@ declare class RCCallInnerSession extends EventEmitter {
1592
1676
  /**
1593
1677
  * 当前 session 人员信息列表
1594
1678
  */
1595
- _callUsers: ISessionUser[], _logger: BasicLogger);
1679
+ _callUsers: ISessionUser[], _logger: BasicLogger, _isSecret: boolean,
1680
+ /**
1681
+ * 同步数据
1682
+ */
1683
+ _syncData?: string,
1684
+ /**
1685
+ * 通话加密密钥
1686
+ */
1687
+ _secretKey?: string);
1596
1688
  /**
1597
1689
  * 获取 CallID
1598
1690
  */
@@ -1608,7 +1700,7 @@ declare class RCCallInnerSession extends EventEmitter {
1608
1700
  /**
1609
1701
  * 获取媒体类型
1610
1702
  */
1611
- getMediaType(): RCCallPlusMediaType;
1703
+ getMediaType(): RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
1612
1704
  /**
1613
1705
  * 获取 session 发起者
1614
1706
  */
@@ -1624,7 +1716,7 @@ declare class RCCallInnerSession extends EventEmitter {
1624
1716
  /**
1625
1717
  * 请求更新的 mediaType
1626
1718
  */
1627
- getReqMediaType(): RCCallPlusMediaType | null;
1719
+ getReqMediaType(): RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO | null;
1628
1720
  /**
1629
1721
  * inviterTimerId
1630
1722
  */
@@ -1654,11 +1746,11 @@ declare class RCCallInnerSession extends EventEmitter {
1654
1746
  /**
1655
1747
  * 更新媒体类型(升降级)
1656
1748
  */
1657
- updateMediaType(mediaType: RCCallPlusMediaType): void;
1749
+ updateMediaType(mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO): void;
1658
1750
  /**
1659
1751
  * 更新请求的媒体类型(升降级)
1660
1752
  */
1661
- updateReqMediaType(mediaType: RCCallPlusMediaType | null): void;
1753
+ updateReqMediaType(mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO | null): void;
1662
1754
  /**
1663
1755
  * 更新 invter timer id
1664
1756
  */
@@ -1672,26 +1764,9 @@ declare class RCCallInnerSession extends EventEmitter {
1672
1764
  */
1673
1765
  setIsLocalClientHangup(isLocalClientHangup: boolean): void;
1674
1766
  getIsLocalClientHangup(): boolean;
1675
- }
1676
-
1677
- interface IRCCallInitOptions {
1678
- /**
1679
- * RTC 实例
1680
- */
1681
- rtcClient: RCRTCClient;
1682
- /**
1683
- * RTC 房间加入类型
1684
- */
1685
- joinType?: RTCJoinType;
1686
- /**
1687
- * 控制台日志输出等级
1688
- */
1689
- outputLogLevel?: EnableLogL;
1690
- /**
1691
- * 修改默认的 log 输出函数
1692
- * @deprecated
1693
- */
1694
- logStdout?: (logLevel: EnableLogL, content: string) => void;
1767
+ getSyncData(): string | undefined;
1768
+ isSecret(): boolean;
1769
+ getSecretKey(): string;
1695
1770
  }
1696
1771
 
1697
1772
  declare enum CallServerAction {
@@ -1985,8 +2060,6 @@ declare class RCCallPlusReportModule {
1985
2060
 
1986
2061
  declare class SignalTransporter extends EventEmitter {
1987
2062
  private readonly _context;
1988
- private readonly _runtime;
1989
- private readonly _initOpts;
1990
2063
  private readonly _timeCorrectioner;
1991
2064
  private readonly _logger;
1992
2065
  private readonly _reportAppEventModule;
@@ -2002,7 +2075,7 @@ declare class SignalTransporter extends EventEmitter {
2002
2075
  /**
2003
2076
  * constructor
2004
2077
  */
2005
- constructor(_context: PluginContext, _runtime: IRuntime, _initOpts: IRCCallInitOptions, _timeCorrectioner: TimeCorrectioner, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
2078
+ constructor(_context: PluginContext, _timeCorrectioner: TimeCorrectioner, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
2006
2079
  private _onMessage;
2007
2080
  getSessionId(): string;
2008
2081
  getDeviceId(): string;
@@ -2134,7 +2207,7 @@ declare class SignalTransporter extends EventEmitter {
2134
2207
  /**
2135
2208
  * 补偿数据处理
2136
2209
  */
2137
- private _onConpensationData;
2210
+ private _onCompensationData;
2138
2211
  }
2139
2212
 
2140
2213
  /**
@@ -2144,9 +2217,8 @@ declare class SignalTransporter extends EventEmitter {
2144
2217
  */
2145
2218
  declare class AbnormalCall {
2146
2219
  private readonly _logger;
2147
- private _localStore;
2148
2220
  private static _STORAGE_KEY;
2149
- constructor(runtime: IRuntime, _logger: BasicLogger);
2221
+ constructor(_logger: BasicLogger);
2150
2222
  /**
2151
2223
  * 添加异常 callId
2152
2224
  */
@@ -2163,8 +2235,6 @@ declare class AbnormalCall {
2163
2235
 
2164
2236
  declare class RCCallEngine extends EventEmitter {
2165
2237
  private readonly _context;
2166
- private readonly _runtime;
2167
- private readonly _initOpts;
2168
2238
  private readonly _logger;
2169
2239
  private readonly _reportAppEventModule;
2170
2240
  static __INNER_SESSION_CLOSE__: string;
@@ -2209,7 +2279,7 @@ declare class RCCallEngine extends EventEmitter {
2209
2279
  /**
2210
2280
  * 构造器
2211
2281
  */
2212
- constructor(_context: PluginContext, _runtime: IRuntime, _initOpts: IRCCallInitOptions, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
2282
+ constructor(_context: PluginContext, _logger: BasicLogger, _reportAppEventModule: RCCallPlusReportModule);
2213
2283
  /**
2214
2284
  * 发起呼叫
2215
2285
  */
@@ -2491,7 +2561,7 @@ declare class RCCallPlusSession {
2491
2561
  /**
2492
2562
  * 获取通话媒体类型
2493
2563
  */
2494
- getMediaType(): RCCallPlusMediaType;
2564
+ getMediaType(): RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
2495
2565
  /**
2496
2566
  * 获取通话人员列表
2497
2567
  */
@@ -2523,6 +2593,20 @@ declare class RCCallPlusSession {
2523
2593
  code: number;
2524
2594
  duration?: number;
2525
2595
  }>;
2596
+ /**
2597
+ * 获取通话中的缓存数据,数据由通话发起人在发起通话时定义
2598
+ * @returns
2599
+ */
2600
+ getSyncData(): string | undefined;
2601
+ /**
2602
+ * 通话是否已加密
2603
+ * @returns
2604
+ */
2605
+ isSecret(): boolean;
2606
+ /**
2607
+ * 获取通话加密密钥
2608
+ */
2609
+ getSecretKey(): string;
2526
2610
  }
2527
2611
 
2528
2612
  /**
@@ -2660,12 +2744,75 @@ interface IRCCallPlusSummaryMessageContent {
2660
2744
  * 通话挂断原因
2661
2745
  */
2662
2746
  hangupReason: RCCallPlusReason;
2747
+ /**
2748
+ * 是否为加密通话
2749
+ */
2750
+ isSecret: boolean;
2751
+ /**
2752
+ * 通话发起人定义的同步信息
2753
+ */
2754
+ syncData?: string;
2755
+ /**
2756
+ * 是否是本人挂断
2757
+ */
2758
+ isSelfHangup: boolean;
2663
2759
  }
2664
2760
  /**
2665
2761
  * 通话记录的消息结构定义
2666
2762
  */
2667
2763
  interface IRCCallPlusReceivedSummaryMessage extends IReceivedMessage {
2668
2764
  }
2765
+ /**
2766
+ * 发起呼叫参数
2767
+ */
2768
+ interface IRCCallPlusStartParams {
2769
+ /**
2770
+ * callId,量子生成相同密钥时使用
2771
+ */
2772
+ callId?: string;
2773
+ /**
2774
+ * 被叫方通话用户列表
2775
+ */
2776
+ userIds: string[];
2777
+ /**
2778
+ * 通话类型,默认为 `RCCallPlusType.SINGLE`
2779
+ * * `RCCallPlusType.SINGLE` - 发起单人呼叫
2780
+ * * `RCCallPlusType.MULTI` - 发起多人呼叫
2781
+ */
2782
+ type?: RCCallPlusType;
2783
+ /**
2784
+ * 通话媒体类型,默认为 `RCCallPlusMediaType.AUDIO_VIDEO` 音视频通话
2785
+ * * `RCCallPlusMediaType.AUDIO` - 音频通话
2786
+ * * `RCCallPlusMediaType.AUDIO_VIDEO` - 音视频通话
2787
+ */
2788
+ mediaType: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO;
2789
+ /**
2790
+ * 推送配置,用于定义移动端接收呼叫时的推送行为
2791
+ */
2792
+ pushConfig?: IRCCallPlusPushConfig;
2793
+ /**
2794
+ * 透传信息,该信息将通过 `onReceivedCall` 回调时透传给被叫方
2795
+ */
2796
+ extra?: string;
2797
+ /**
2798
+ * 定义通话同步数据,该数据与 `extra` 不同点,在于数据会被服务器存储,同时可通过 `session.getSyncData()` 获取;
2799
+ * 数据不可超出 1024 Bytes
2800
+ */
2801
+ syncData?: string;
2802
+ /**
2803
+ * 加密配置
2804
+ */
2805
+ encryption?: {
2806
+ /**
2807
+ * 是否加密,默认不加密
2808
+ */
2809
+ isSecret: boolean;
2810
+ /**
2811
+ * 密钥
2812
+ */
2813
+ secretKey: string;
2814
+ };
2815
+ }
2669
2816
  /**
2670
2817
  * callPlus 对外事件定义
2671
2818
  */
@@ -2920,6 +3067,15 @@ interface IStatusReportListener {
2920
3067
  onReceivePacketLoss(data: {
2921
3068
  [userId: string]: RCCallPlusPacketLossStats;
2922
3069
  }): void;
3070
+ /**
3071
+ * 上报远端视频信息,每秒回调一次
3072
+ * @param info.width 视频宽度
3073
+ * @param info.height 视频高度
3074
+ */
3075
+ onReceiveRemoteVideoInfo?(info: {
3076
+ width: number;
3077
+ height: number;
3078
+ }): void;
2923
3079
  }
2924
3080
  /**
2925
3081
  * 人员及人员状态
@@ -3171,11 +3327,8 @@ declare class RCCallPlusAndroidPushConfigBuilder {
3171
3327
  setimageUrlHonor(imageUrlHonor: string): this;
3172
3328
  /**
3173
3329
  * 构建 IAndroidPushConfig
3174
- <<<<<<< HEAD
3175
- =======
3176
3330
  * @returns IAndroidPushConfig 安卓推送配置数据
3177
3331
  * 返回值需传入 startCall、invite、hangup 方法的 pushConfig.androidConfig 中
3178
- >>>>>>> develop
3179
3332
  */
3180
3333
  build(): IAndroidPushConfig;
3181
3334
  }
@@ -3183,7 +3336,6 @@ declare class RCCallPlusAndroidPushConfigBuilder {
3183
3336
  declare class RCCallPlusClient {
3184
3337
  private readonly _context;
3185
3338
  private readonly _logger;
3186
- private readonly _runtime;
3187
3339
  private readonly _initOpts;
3188
3340
  /**
3189
3341
  * 摄像头采集配置
@@ -3215,7 +3367,7 @@ declare class RCCallPlusClient {
3215
3367
  * 上报应用层事件模块
3216
3368
  */
3217
3369
  _reportAppEventModule: RCCallPlusReportModule;
3218
- constructor(_context: PluginContext, _logger: BasicLogger, _runtime: IRuntime, _initOpts: ICallPlusInitOpts);
3370
+ constructor(_context: PluginContext, _logger: BasicLogger, _initOpts: ICallPlusInitOpts);
3219
3371
  /**
3220
3372
  * 加房间、发布、订阅失败时需结束通话,并上报原因
3221
3373
  */
@@ -3292,9 +3444,12 @@ declare class RCCallPlusClient {
3292
3444
  * 播放某个人的视频前,请确保已经调用 `setVideoView` 方法为其设置视频视图
3293
3445
  * @param userId 指定要查看某个人的媒体资源
3294
3446
  * @param mediaType 指定播放音频还是视频
3447
+ * @param volume 有效值为 0-100
3295
3448
  * @returns 返回是否播放成功
3296
3449
  */
3297
- playMedia(userId: string, mediaType: RCCallPlusMediaType): Promise<{
3450
+ playMedia(userId: string, mediaType: RCCallPlusMediaType, options?: {
3451
+ volume?: number;
3452
+ }): Promise<{
3298
3453
  code: number;
3299
3454
  }>;
3300
3455
  /**
@@ -3339,14 +3494,23 @@ declare class RCCallPlusClient {
3339
3494
  }>;
3340
3495
  /**
3341
3496
  * 发起呼叫
3497
+ * @deprecated 接口已废弃,请使用 `startCallWithParams` 接口替代
3342
3498
  * @param userIds 被叫人员 userId 列表,单人呼叫仅需在数组中放置对方一人的 userId
3343
- * @param type 单人呼叫 or 多人呼叫
3499
+ * @param callType 单人呼叫 or 多人呼叫
3344
3500
  * @param mediaType 通话媒体类型: 音频 or 音视频
3345
3501
  * @param pushConfig 移动端推送信息
3346
3502
  * @param extra 附加信息,会透传给被呼叫方
3347
3503
  * @returns callId 呼叫成功后,产生的会话 id
3348
3504
  */
3349
- startCall(userIds: string[], callType?: RCCallPlusType, mediaType?: RCCallPlusMediaType, pushConfig?: IRCCallPlusPushConfig, extra?: string): Promise<{
3505
+ startCall(userIds: string[], callType?: RCCallPlusType, mediaType?: RCCallPlusMediaType.AUDIO | RCCallPlusMediaType.AUDIO_VIDEO, pushConfig?: IRCCallPlusPushConfig, extra?: string): Promise<{
3506
+ code: number;
3507
+ callId?: string;
3508
+ }>;
3509
+ /**
3510
+ * 发起呼叫
3511
+ * @param params - {@inheritDoc IRCCallPlusStartParams}
3512
+ */
3513
+ startCallWithParams(params: IRCCallPlusStartParams): Promise<{
3350
3514
  code: number;
3351
3515
  callId?: string;
3352
3516
  }>;
@@ -3377,17 +3541,16 @@ declare class RCCallPlusClient {
3377
3541
  accept(callId: string, pushConfig?: IRCCallPlusPushConfig): Promise<{
3378
3542
  code: number;
3379
3543
  }>;
3380
- private __innerHangup;
3544
+ private _innerHangup;
3381
3545
  /**
3382
3546
  * 挂断通话
3383
- * @param callId 为可选参数,不传时,挂断正在进行的主 session,传入时可指定挂断主通话或暂未建立连接的通话
3384
- * @param pushConfig 移动端推送信息
3385
- * 暂未建立连接的通话:指已在通话中时,收到呼叫但暂未接听的通话
3547
+ * @param callId 可选参数;当存在多个通话时,可通过该参数指定要挂断的通话;不传时 SDK 将挂断当前进行中的通话;
3386
3548
  * @param pushConfig 移动端推送信息
3387
3549
  */
3388
- hangup(callId?: string, pushConfig?: IRCCallPlusPushConfig): Promise<{
3550
+ hangup(callId?: string, pushConfig?: IRCCallPlusPushConfig, reason?: RCCallPlusReason): Promise<{
3389
3551
  code: number;
3390
3552
  }>;
3553
+ private _hangup;
3391
3554
  /**
3392
3555
  * 通话中发起媒体类型变更请求
3393
3556
  * @param mediaType 媒体类型
@@ -3528,8 +3691,14 @@ declare class RCCallPlusClient {
3528
3691
  switchMicrophone(microphoneId: string): Promise<{
3529
3692
  code: number;
3530
3693
  }>;
3694
+ /**
3695
+ * 客户端生成 callId,量子特定,用于生成同样的密钥
3696
+ * 呼叫时传给服务,通话 callId 为此 callId
3697
+ * @param userId 用户 id
3698
+ */
3699
+ generateCallId(userId: string): string;
3531
3700
  }
3532
3701
 
3533
3702
  declare const installer: IPluginGenerator<RCCallPlusClient, ICallPlusInitOpts>;
3534
3703
 
3535
- export { IAndroidPushConfig, IAudioConfig, IAudioConfigBuilder, ICallOpts, ICallPlusEventListener, ICallPlusInitOpts, IRCCallPlusCallRecord, IRCCallPlusGetCallRecordRes, IRCCallPlusPushConfig, IRCCallPlusReceivedSummaryMessage, IRCCallPlusSummaryMessageContent, IServerPushExt, IStatusReportListener, IVideoConfig, IVideoConfigBuilder, IiOSPushConfig, RCAudioConfigBuilder, RCCallPlusAndroidPushConfigBuilder, RCCallPlusCallState, RCCallPlusCallUser, RCCallPlusClient, RCCallPlusCode, RCCallPlusMediaType, RCCallPlusMediaTypeChangeResult, RCCallPlusPacketLossStats, RCCallPlusReason, RCCallPlusSession, RCCallPlusSessionUserState, RCCallPlusType, RCVideoConfigBuilder, installer };
3704
+ export { IAndroidPushConfig, IAudioConfig, IAudioConfigBuilder, ICallOpts, ICallPlusEventListener, ICallPlusInitOpts, IRCCallPlusCallRecord, IRCCallPlusGetCallRecordRes, IRCCallPlusPushConfig, IRCCallPlusReceivedSummaryMessage, IRCCallPlusStartParams, IRCCallPlusSummaryMessageContent, IServerPushExt, IStatusReportListener, IVideoConfig, IVideoConfigBuilder, IiOSPushConfig, RCAudioConfigBuilder, RCCallPlusAndroidPushConfigBuilder, RCCallPlusCallState, RCCallPlusCallUser, RCCallPlusClient, RCCallPlusCode, RCCallPlusMediaType, RCCallPlusMediaTypeChangeResult, RCCallPlusPacketLossStats, RCCallPlusReason, RCCallPlusSession, RCCallPlusSessionUserState, RCCallPlusType, RCVideoConfigBuilder, installer };