aliyun-rtc-sdk 7.2.1 → 7.2.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.
@@ -267,6 +267,7 @@ declare class AliRtcEngine_2 extends default_2<AliRtcEngineEventListener> {
267
267
  private _localCheckAuthInfoTimestamp;
268
268
  private _proxyAiTid;
269
269
  private _agentParam;
270
+ sessionId?: string;
270
271
  constructor(config?: AliRtcEngineConfig | undefined);
271
272
  /**
272
273
  * 获取当前频道号,已经入会成功返回频道号,否则返回undefined
@@ -1324,6 +1325,21 @@ declare interface AliRtcEngineEventListener {
1324
1325
  * @param result 结果
1325
1326
  */
1326
1327
  AIAgentResult: (code: number, action: string, result: string) => void;
1328
+ /**
1329
+ * @brief 网络质量回调
1330
+ * @param event 网络质量信息
1331
+ * @param event.subscribe 下行网络质量
1332
+ * @param event.subscribe.rtt 下行网络往返延时(ms)
1333
+ * @param event.subscribe.loss 下行网络丢包率
1334
+ * @param event.subscribe.quality 下行网络质量类型
1335
+ */
1336
+ networkQuality: (event: {
1337
+ subscribe: {
1338
+ rtt: number;
1339
+ loss: number;
1340
+ quality: AliRtcNetworkQuality;
1341
+ };
1342
+ }) => void;
1327
1343
  }
1328
1344
 
1329
1345
  export declare enum AliRtcEngineLocalDeviceExceptionType {
@@ -1928,6 +1944,26 @@ export declare enum AliRtcLogLevel {
1928
1944
  NONE = 5
1929
1945
  }
1930
1946
 
1947
+ /**
1948
+ * @brief 网络质量类型
1949
+ */
1950
+ declare enum AliRtcNetworkQuality {
1951
+ /** 网络极好 */
1952
+ AliRtcNetworkExcellent = 0,
1953
+ /** 网络好 */
1954
+ AliRtcNetworkGood = 1,
1955
+ /** 网络不好 */
1956
+ AliRtcNetworkPoor = 2,
1957
+ /** 网络差 */
1958
+ AliRtcNetworkBad = 3,
1959
+ /** 网络极差 */
1960
+ AliRtcNetworkVeryBad = 4,
1961
+ /** 网络断开 */
1962
+ AliRtcNetworkDisconnected = 5,
1963
+ /** 网络未知 */
1964
+ AliRtcNetworkUnknown = 6
1965
+ }
1966
+
1931
1967
  /**
1932
1968
  * @brief OnBye类型枚举
1933
1969
  */
@@ -2310,6 +2346,7 @@ declare class BizControl extends default_2<BizControlListener> {
2310
2346
  private parameter;
2311
2347
  private audio3AConfig;
2312
2348
  private dcReadyHelper?;
2349
+ private networkQualityTimer?;
2313
2350
  constructor(config: BizControlConfig);
2314
2351
  private addSignalingManagerListener;
2315
2352
  private addRTSListener;
@@ -2480,6 +2517,13 @@ declare interface BizControlListener {
2480
2517
  occurError: (error: AliRtcError, uid?: string) => void;
2481
2518
  remoteDataChannelMessage: (uid: string, message: AliRtcDataChannelMsg) => void;
2482
2519
  remoteUserSubscribedDataChannel: (uid: string) => void;
2520
+ networkQuality: (event: {
2521
+ subscribe: {
2522
+ rtt: number;
2523
+ loss: number;
2524
+ quality: AliRtcNetworkQuality;
2525
+ };
2526
+ }) => void;
2483
2527
  }
2484
2528
 
2485
2529
  declare enum ClientEventType {
@@ -3005,9 +3049,7 @@ declare interface LocalUserConfig {
3005
3049
  signalingManager: SignalingManager;
3006
3050
  pluginManager: PluginManager;
3007
3051
  audioVolumeIndicationInterval: number;
3008
- parameter: {
3009
- [key: string]: any;
3010
- };
3052
+ parameter: Parameter;
3011
3053
  }
3012
3054
 
3013
3055
  /**
@@ -3175,9 +3217,86 @@ declare class PackageCreator {
3175
3217
  protected createBaseSendPackage(messageType: MessageType): ISendPackage;
3176
3218
  }
3177
3219
 
3178
- declare type Parameter = {
3220
+ /**
3221
+ * SDK 参数配置
3222
+ */
3223
+ declare interface Parameter {
3224
+ /** 是否在推流信息中报告 L1 IP */
3225
+ reportL1IP?: boolean;
3226
+ /** 数据通道配置 */
3227
+ data?: ParameterData;
3228
+ /** 是否使用 AudioContext 进行音量控制 */
3229
+ enableAudioContextPlayoutVolume?: boolean;
3230
+ /** 网络相关配置 */
3231
+ net?: ParameterNet;
3232
+ /** 加入房间模式,如 'Conference'、'AIUser' 等 */
3233
+ joinMode?: string;
3234
+ /** 是否启用空白音频(用于保持音频轨道活跃) */
3235
+ enableBlankAudio?: boolean;
3236
+ /** 音频 3A 处理配置 */
3237
+ audio?: ParameterAudio;
3238
+ /** 支持其他自定义参数 */
3179
3239
  [key: string]: any;
3180
- };
3240
+ }
3241
+
3242
+ /**
3243
+ * 音频 3A 处理配置参数
3244
+ */
3245
+ declare interface ParameterAudio {
3246
+ /** 是否使用服务端配置的 3A 设置 */
3247
+ useAudio3AConfigFromServer?: boolean;
3248
+ /** 是否启用系统回声消除 */
3249
+ useSysEchoCancellation?: boolean;
3250
+ /** 是否启用系统噪声抑制 */
3251
+ useSysNoiseSuppression?: boolean;
3252
+ /** 是否启用系统自动增益控制 */
3253
+ useSysAutoGainControl?: boolean;
3254
+ /** 是否启用智能 AEC */
3255
+ useAIAEC?: boolean;
3256
+ /** 是否启用软件 3A 处理 */
3257
+ enableSoft3A?: boolean;
3258
+ /** 是否启用旁路软 3A 检查 */
3259
+ enableSoft3ACheck?: boolean;
3260
+ /** 是否仅使用硬件 3A */
3261
+ useHardOnly?: boolean;
3262
+ /** 是否导出音频数据 */
3263
+ dumpAudioData?: boolean;
3264
+ }
3265
+
3266
+ /**
3267
+ * 数据通道配置参数
3268
+ */
3269
+ declare interface ParameterData {
3270
+ /** 是否启用发布端数据通道 */
3271
+ enablePubDataChannel?: boolean;
3272
+ /** 是否启用订阅端数据通道 */
3273
+ enableSubDataChannel?: boolean;
3274
+ }
3275
+
3276
+ /**
3277
+ * 网络相关配置参数
3278
+ */
3279
+ declare interface ParameterNet {
3280
+ /** 是否使用 TCP 传输 */
3281
+ useTCP?: boolean;
3282
+ /** 是否启用累积延迟 */
3283
+ cumuDelay?: boolean;
3284
+ /** 是否禁用心跳检测 */
3285
+ disableHeartbeat?: boolean;
3286
+ /** 心跳探活参数 */
3287
+ heartbeat?: {
3288
+ /** 心跳间隔,毫秒数,最小 200,默认 2500 */
3289
+ interval?: number;
3290
+ /** 超时时间,毫秒数 */
3291
+ timeout?: number;
3292
+ /** 是否启用心跳日志(监听 hebtSent/hebtReceived 事件) */
3293
+ enableLog?: boolean;
3294
+ };
3295
+ /** 数据通道配置 */
3296
+ datachannelInitOptions?: RTCDataChannelInit;
3297
+ /** 媒体超时时间(毫秒),有效范围 1000-100000 */
3298
+ mediaTimeout?: number;
3299
+ }
3181
3300
 
3182
3301
  declare class PluginManager extends default_2<PluginManagerListener> {
3183
3302
  private plugins;
@@ -3428,6 +3547,7 @@ declare class RemoteUser extends User {
3428
3547
  * @ignore
3429
3548
  */
3430
3549
  static logName: string;
3550
+ get logName(): string;
3431
3551
  remoteCallId: string;
3432
3552
  remoteUserInfo: AliRtcRemoteUserInfo;
3433
3553
  protected localUser?: LocalUser;
@@ -3480,7 +3600,9 @@ declare class RemoteUser extends User {
3480
3600
  setPlayoutVolume(value: number): void;
3481
3601
  getAudioMuted(): boolean;
3482
3602
  get hasAudioTrack(): boolean;
3603
+ get audioSSRC(): string;
3483
3604
  get hasVideoTrack(): boolean;
3605
+ get videoSSRC(): string;
3484
3606
  get hasVideoLargeTrack(): boolean;
3485
3607
  get hasVideoSmallTrack(): boolean;
3486
3608
  get hasScreenTrack(): boolean;
@@ -3639,9 +3761,7 @@ declare interface RemoteUserConfig {
3639
3761
  localUser?: LocalUser;
3640
3762
  audioVolumeIndicationInterval: number;
3641
3763
  playoutVolume: number;
3642
- parameter: {
3643
- [key: string]: any;
3644
- };
3764
+ parameter: Parameter;
3645
3765
  }
3646
3766
 
3647
3767
  declare interface RemoteUserMap {
@@ -3958,12 +4078,16 @@ declare class RtsManager extends default_2<RtsManagerEventListener> {
3958
4078
  private dcResolve?;
3959
4079
  private dcReject?;
3960
4080
  private dcConnectingPromise?;
4081
+ private _prevDownlinkStat?;
3961
4082
  private _publishingTracks;
3962
4083
  private parameter;
3963
4084
  preferredPubL1Ip?: string;
3964
4085
  preferredSubL1Ip?: string;
4086
+ private httpPublishUrlMap;
4087
+ private httpSubscribeUrlMap;
3965
4088
  private traceIdMap;
3966
4089
  constructor(localStreamManager: LocalStreamManager, slsReporter: SLSReporter, parameter: Parameter);
4090
+ private createRtsInstance;
3967
4091
  private addRTSListener;
3968
4092
  /**
3969
4093
  * 更新鉴权信息,传入一个新的带鉴权的 URL,RTS 会去除鉴权信息做更新
@@ -3983,6 +4107,8 @@ declare class RtsManager extends default_2<RtsManagerEventListener> {
3983
4107
  private setConnected;
3984
4108
  get isConnecting(): boolean;
3985
4109
  get isConnected(): boolean;
4110
+ private suffixHttpUrl;
4111
+ private getSuffixedUrl;
3986
4112
  get publishingTracks(): TrackInfo[];
3987
4113
  private getPubMsid;
3988
4114
  private updatePublishingTracks;
@@ -3997,6 +4123,11 @@ declare class RtsManager extends default_2<RtsManagerEventListener> {
3997
4123
  publishAddDataChannel(streamUrl: string): Promise<any>;
3998
4124
  publishStopDataChannel(streamUrl: string, datachannel: any): Promise<void>;
3999
4125
  unpublish(): Promise<void>;
4126
+ getSubscribeNetworkQuality(): Promise<{
4127
+ rtt: number;
4128
+ loss: number;
4129
+ quality: AliRtcNetworkQuality;
4130
+ }>;
4000
4131
  /**
4001
4132
  * 获取 sub/subAdd config
4002
4133
  * @param {ISubscribeConfig | ISubConfigItem} options
@@ -4223,6 +4354,8 @@ declare class SLSReporter {
4223
4354
  reportSubscribeMonitor(callId: string, remoteId: string, traceId: string, msid: string, stats: any[]): void;
4224
4355
  reportNetworkMonitor(candidates: any[]): void;
4225
4356
  reportLoopAudioDelay(ssrc: string, result: any): void;
4357
+ reportCumuAudioDelay(audioSSRC: string, result: any): void;
4358
+ reportCumuVideoDelay(videoSSRC: string, result: any): void;
4226
4359
  /**
4227
4360
  * 加入房间成功埋点
4228
4361
  * @param {number} joinTime
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aliyun-rtc-sdk",
3
- "version": "7.2.1",
3
+ "version": "7.2.2",
4
4
  "type": "module",
5
5
  "description": "rtc web sdk of aliyun",
6
6
  "main": "dist/aliyun-rtc-sdk.umd.js",
@@ -10,7 +10,7 @@
10
10
  "@aliyun-sls/web-sts-plugin": "^0.3.5",
11
11
  "@aliyun-sls/web-track-browser": "^0.3.5",
12
12
  "aliyun-queen-engine": "^6.3.14",
13
- "aliyun-rts-sdk": "2.13.7",
13
+ "aliyun-rts-sdk": "2.13.8",
14
14
  "crypto-js": "^4.1.1",
15
15
  "dateformat": "^5.0.3",
16
16
  "eventemitter3": "^5.0.1",