agora-electron-sdk 4.2.2-dev.4 → 4.2.2-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/js/Private/AgoraBase.js +139 -53
  3. package/js/Private/AgoraMediaBase.js +13 -7
  4. package/js/Private/IAgoraRtcEngine.js +11 -11
  5. package/js/Private/IAgoraRtcEngineEx.js +1 -1
  6. package/js/Private/IAgoraSpatialAudio.js +2 -2
  7. package/js/Private/impl/IAgoraMediaEngineImpl.js +12 -6
  8. package/js/Private/impl/IAgoraRtcEngineImpl.js +7 -7
  9. package/js/Private/internal/IrisApiEngine.js +13 -0
  10. package/js/Private/internal/MusicContentCenterInternal.js +3 -0
  11. package/js/Private/internal/RtcEngineExInternal.js +24 -7
  12. package/js/Private/ti/IAgoraRtcEngine-ti.js +2 -2
  13. package/js/Renderer/WebGLRenderer/index.js +19 -19
  14. package/js/Renderer/YUVCanvasRenderer/index.js +1 -1
  15. package/package.json +3 -3
  16. package/scripts/zipBuild.js +3 -1
  17. package/ts/Private/AgoraBase.ts +296 -133
  18. package/ts/Private/AgoraMediaBase.ts +68 -34
  19. package/ts/Private/AgoraMediaPlayerTypes.ts +8 -5
  20. package/ts/Private/IAgoraLog.ts +7 -3
  21. package/ts/Private/IAgoraMediaEngine.ts +76 -35
  22. package/ts/Private/IAgoraMediaPlayer.ts +126 -64
  23. package/ts/Private/IAgoraMediaPlayerSource.ts +3 -1
  24. package/ts/Private/IAgoraRtcEngine.ts +1325 -530
  25. package/ts/Private/IAgoraRtcEngineEx.ts +227 -94
  26. package/ts/Private/IAgoraSpatialAudio.ts +71 -36
  27. package/ts/Private/IAudioDeviceManager.ts +61 -31
  28. package/ts/Private/impl/IAgoraMediaEngineImpl.ts +12 -6
  29. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +9 -11
  30. package/ts/Private/internal/IrisApiEngine.ts +14 -0
  31. package/ts/Private/internal/MusicContentCenterInternal.ts +4 -0
  32. package/ts/Private/internal/RtcEngineExInternal.ts +36 -14
  33. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +2 -2
  34. package/ts/Renderer/WebGLRenderer/index.ts +26 -21
  35. package/ts/Renderer/YUVCanvasRenderer/index.ts +1 -1
  36. package/types/Private/AgoraBase.d.ts +298 -135
  37. package/types/Private/AgoraBase.d.ts.map +1 -1
  38. package/types/Private/AgoraMediaBase.d.ts +69 -35
  39. package/types/Private/AgoraMediaBase.d.ts.map +1 -1
  40. package/types/Private/AgoraMediaPlayerTypes.d.ts +8 -5
  41. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -1
  42. package/types/Private/IAgoraLog.d.ts +7 -3
  43. package/types/Private/IAgoraLog.d.ts.map +1 -1
  44. package/types/Private/IAgoraMediaEngine.d.ts +76 -35
  45. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -1
  46. package/types/Private/IAgoraMediaPlayer.d.ts +126 -64
  47. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
  48. package/types/Private/IAgoraMediaPlayerSource.d.ts +3 -1
  49. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -1
  50. package/types/Private/IAgoraRtcEngine.d.ts +1326 -530
  51. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
  52. package/types/Private/IAgoraRtcEngineEx.d.ts +227 -94
  53. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
  54. package/types/Private/IAgoraSpatialAudio.d.ts +71 -36
  55. package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -1
  56. package/types/Private/IAudioDeviceManager.d.ts +61 -31
  57. package/types/Private/IAudioDeviceManager.d.ts.map +1 -1
  58. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +2 -2
  59. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -1
  60. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +5 -5
  61. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
  62. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
  63. package/types/Private/internal/MusicContentCenterInternal.d.ts +1 -0
  64. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
  65. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  66. package/types/Renderer/WebGLRenderer/index.d.ts +1 -1
  67. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -1
@@ -176,15 +176,24 @@ export enum ErrorCodeType {
176
176
  */
177
177
  ErrInvalidArgument = 2,
178
178
  /**
179
- * 3: The SDK is not ready. Possible reasons include the following:The initialization of IRtcEngine fails. Reinitialize the IRtcEngine.No user has joined the channel when the method is called. Check the code logic.The user has not left the channel when the rate or complain method is called. Check the code logic.The audio module is disabled.The program is not complete.
179
+ * 3: The SDK is not ready. Possible reasons include the following:
180
+ * The initialization of IRtcEngine fails. Reinitialize the IRtcEngine.
181
+ * No user has joined the channel when the method is called. Check the code logic.
182
+ * The user has not left the channel when the rate or complain method is called. Check the code logic.
183
+ * The audio module is disabled.
184
+ * The program is not complete.
180
185
  */
181
186
  ErrNotReady = 3,
182
187
  /**
183
- * 4: The IRtcEngine does not support the request. Possible reasons include the following:The built-in encryption mode is incorrect, or the SDK fails to load the external encryption library. Check the encryption mode setting, or reload the external encryption library.
188
+ * 4: The IRtcEngine does not support the request. Possible reasons include the following:
189
+ * The built-in encryption mode is incorrect, or the SDK fails to load the external encryption library. Check the encryption mode setting, or reload the external encryption library.
184
190
  */
185
191
  ErrNotSupported = 4,
186
192
  /**
187
- * 5: The request is rejected. Possible reasons include the following:The IRtcEngine initialization fails. Reinitialize the IRtcEngine.The channel name is set as the empty string "" when joining the channel. Reset the channel name.When the joinChannelEx method is called to join multiple channels, the specified channel name is already in use. Reset the channel name.
193
+ * 5: The request is rejected. Possible reasons include the following:
194
+ * The IRtcEngine initialization fails. Reinitialize the IRtcEngine.
195
+ * The channel name is set as the empty string "" when joining the channel. Reset the channel name.
196
+ * When the joinChannelEx method is called to join multiple channels, the specified channel name is already in use. Reset the channel name.
188
197
  */
189
198
  ErrRefused = 5,
190
199
  /**
@@ -224,11 +233,15 @@ export enum ErrorCodeType {
224
233
  */
225
234
  ErrNetDown = 14,
226
235
  /**
227
- * 17: The request to join the channel is rejected. Possible reasons include the following:The user is already in the channel. Agora recommends that you use the onConnectionStateChanged callback to determine whether the user exists in the channel. Do not call this method to join the channel unless you receive the ConnectionStateDisconnected(1) state.After calling startEchoTest for the call test, the user tries to join the channel without calling stopEchoTest to end the current test. To join a channel, the call test must be ended by calling stopEchoTest.
236
+ * 17: The request to join the channel is rejected. Possible reasons include the following:
237
+ * The user is already in the channel. Agora recommends that you use the onConnectionStateChanged callback to determine whether the user exists in the channel. Do not call this method to join the channel unless you receive the ConnectionStateDisconnected (1) state.
238
+ * After calling startEchoTest for the call test, the user tries to join the channel without calling stopEchoTest to end the current test. To join a channel, the call test must be ended by calling stopEchoTest.
228
239
  */
229
240
  ErrJoinChannelRejected = 17,
230
241
  /**
231
- * 18: Fails to leave the channel. Possible reasons include the following:The user has left the channel before calling the leaveChannel method. Stop calling this method to clear this error.The user calls the leaveChannel method to leave the channel before joining the channel. In this case, no extra operation is needed.
242
+ * 18: Fails to leave the channel. Possible reasons include the following:
243
+ * The user has left the channel before calling the leaveChannel method. Stop calling this method to clear this error.
244
+ * The user calls the leaveChannel method to leave the channel before joining the channel. In this case, no extra operation is needed.
232
245
  */
233
246
  ErrLeaveChannelRejected = 18,
234
247
  /**
@@ -260,11 +273,13 @@ export enum ErrorCodeType {
260
273
  */
261
274
  ErrNoServerResources = 103,
262
275
  /**
263
- * 109: The current token has expired. Apply for a new token on the server and call renewToken.Deprecated:This enumerator is deprecated. Use ConnectionChangedTokenExpired(9) in the onConnectionStateChanged callback instead.
276
+ * 109: The current token has expired. Apply for a new token on the server and call renewToken. Deprecated: This enumerator is deprecated. Use ConnectionChangedTokenExpired (9) in the onConnectionStateChanged callback instead.
264
277
  */
265
278
  ErrTokenExpired = 109,
266
279
  /**
267
- * 110: Invalid token. Typical reasons include the following:App Certificate is enabled in Agora Console, but the code still uses App ID for authentication. Once App Certificate is enabled for a project, you must use token-based authentication.The uid used to generate the token is not the same as the uid used to join the channel.Deprecated:This enumerator is deprecated. Use ConnectionChangedInvalidToken(8) in the onConnectionStateChanged callback instead.
280
+ * 110: Invalid token. Typical reasons include the following:
281
+ * App Certificate is enabled in Agora Console, but the code still uses App ID for authentication. Once App Certificate is enabled for a project, you must use token-based authentication.
282
+ * The uid used to generate the token is not the same as the uid used to join the channel. Deprecated: This enumerator is deprecated. Use ConnectionChangedInvalidToken (8) in the onConnectionStateChanged callback instead.
268
283
  */
269
284
  ErrInvalidToken = 110,
270
285
  /**
@@ -490,7 +505,7 @@ export enum UserOfflineReasonType {
490
505
  */
491
506
  UserOfflineQuit = 0,
492
507
  /**
493
- * 1: The SDK times out and the user drops offline because no data packet is received within a certain period of time.If the user quits the call and the message is not passed to the SDK (due to an unreliable channel), the SDK assumes the user dropped offline.
508
+ * 1: The SDK times out and the user drops offline because no data packet is received within a certain period of time. If the user quits the call and the message is not passed to the SDK (due to an unreliable channel), the SDK assumes the user dropped offline.
494
509
  */
495
510
  UserOfflineDropped = 1,
496
511
  /**
@@ -532,7 +547,7 @@ export enum InterfaceIdType {
532
547
  */
533
548
  AgoraIidRtcConnection = 7,
534
549
  /**
535
- * This interface class is deprecated.
550
+ * @ignore
536
551
  */
537
552
  AgoraIidSignalingEngine = 8,
538
553
  /**
@@ -732,7 +747,9 @@ export enum VideoFrameType {
732
747
  */
733
748
  export enum OrientationMode {
734
749
  /**
735
- * 0: (Default) The output video always follows the orientation of the captured video. The receiver takes the rotational information passed on from the video encoder. This mode applies to scenarios where video orientation can be adjusted on the receiver.If the captured video is in landscape mode, the output video is in landscape mode.If the captured video is in portrait mode, the output video is in portrait mode.
750
+ * 0: (Default) The output video always follows the orientation of the captured video. The receiver takes the rotational information passed on from the video encoder. This mode applies to scenarios where video orientation can be adjusted on the receiver.
751
+ * If the captured video is in landscape mode, the output video is in landscape mode.
752
+ * If the captured video is in portrait mode, the output video is in portrait mode.
736
753
  */
737
754
  OrientationModeAdaptive = 0,
738
755
  /**
@@ -758,7 +775,7 @@ export enum DegradationPreference {
758
775
  */
759
776
  MaintainFramerate = 1,
760
777
  /**
761
- * 2: Reduces the video frame rate and video resolution simultaneously during video encoding under limited bandwidth. The MaintainBalanced has a lower reduction than MaintainQuality and MaintainFramerate, and this preference is suitable for scenarios where both smoothness and video quality are a priority.The resolution of the video sent may change, so remote users need to handle this issue. See onVideoSizeChanged.
778
+ * 2: Reduces the video frame rate and video resolution simultaneously during video encoding under limited bandwidth. The MaintainBalanced has a lower reduction than MaintainQuality and MaintainFramerate, and this preference is suitable for scenarios where both smoothness and video quality are a priority. The resolution of the video sent may change, so remote users need to handle this issue. See onVideoSizeChanged.
762
779
  */
763
780
  MaintainBalanced = 2,
764
781
  /**
@@ -850,7 +867,7 @@ export enum VideoCodecType {
850
867
  */
851
868
  VideoCodecH265 = 3,
852
869
  /**
853
- * 6: Generic.This type is used for transmitting raw video data, such as encrypted video frames. The SDK returns this type of video frames in callbacks, and you need to decode and render the frames yourself.
870
+ * 6: Generic. This type is used for transmitting raw video data, such as encrypted video frames. The SDK returns this type of video frames in callbacks, and you need to decode and render the frames yourself.
854
871
  */
855
872
  VideoCodecGeneric = 6,
856
873
  /**
@@ -866,7 +883,7 @@ export enum VideoCodecType {
866
883
  */
867
884
  VideoCodecVp9 = 13,
868
885
  /**
869
- * 20: Generic JPEG.This type consumes minimum computing resources and applies to IoT devices.
886
+ * 20: Generic JPEG. This type consumes minimum computing resources and applies to IoT devices.
870
887
  */
871
888
  VideoCodecGenericJpeg = 20,
872
889
  }
@@ -1116,7 +1133,7 @@ export class VideoSubscriptionOptions {
1116
1133
  */
1117
1134
  type?: VideoStreamType;
1118
1135
  /**
1119
- * Whether to subscribe to encoded video frames only:true: Subscribe to the encoded video data (structured data) only; the SDK does not decode or render raw video data.false: (Default) Subscribe to both raw video data and encoded video data.
1136
+ * Whether to subscribe to encoded video frames only: true : Subscribe to the encoded video data (structured data) only; the SDK does not decode or render raw video data. false : (Default) Subscribe to both raw video data and encoded video data.
1120
1137
  */
1121
1138
  encodedFrameOnly?: boolean;
1122
1139
  }
@@ -1138,7 +1155,7 @@ export class EncodedVideoFrameInfo {
1138
1155
  */
1139
1156
  height?: number;
1140
1157
  /**
1141
- * The number of video frames per second.When this parameter is not 0, you can use it to calculate the Unix timestamp of externally encoded video frames.
1158
+ * The number of video frames per second. When this parameter is not 0, you can use it to calculate the Unix timestamp of externally encoded video frames.
1142
1159
  */
1143
1160
  framesPerSecond?: number;
1144
1161
  /**
@@ -1222,7 +1239,9 @@ export class AdvanceOptions {
1222
1239
  */
1223
1240
  export enum VideoMirrorModeType {
1224
1241
  /**
1225
- * 0: The SDK determines the mirror mode.For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.For the remote user: The mirror mode is disabled by default.
1242
+ * 0: The SDK determines the mirror mode.
1243
+ * For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
1244
+ * For the remote user: The mirror mode is disabled by default.
1226
1245
  */
1227
1246
  VideoMirrorModeAuto = 0,
1228
1247
  /**
@@ -1262,15 +1281,15 @@ export enum CodecCapMask {
1262
1281
  }
1263
1282
 
1264
1283
  /**
1265
- * @ignore
1284
+ * The level of the codec capability.
1266
1285
  */
1267
1286
  export class CodecCapLevels {
1268
1287
  /**
1269
- * @ignore
1288
+ * Hardware decoding capability level, which represents the device's ability to perform hardware decoding on videos of different quality. See VIDEO_CODEC_CAPABILITY_LEVEL.
1270
1289
  */
1271
1290
  hwDecodingLevel?: VideoCodecCapabilityLevel;
1272
1291
  /**
1273
- * @ignore
1292
+ * Software decoding capability level, which represents the device's ability to perform software decoding on videos of different quality. See VIDEO_CODEC_CAPABILITY_LEVEL.
1274
1293
  */
1275
1294
  swDecodingLevel?: VideoCodecCapabilityLevel;
1276
1295
  }
@@ -1288,7 +1307,7 @@ export class CodecCapInfo {
1288
1307
  */
1289
1308
  codecCapMask?: number;
1290
1309
  /**
1291
- * @ignore
1310
+ * The level of the codec capability. See CodecCapLevels.
1292
1311
  */
1293
1312
  codecLevels?: CodecCapLevels;
1294
1313
  }
@@ -1314,7 +1333,7 @@ export class VideoEncoderConfiguration {
1314
1333
  */
1315
1334
  bitrate?: number;
1316
1335
  /**
1317
- * The minimum encoding bitrate (Kbps) of the video.The SDK automatically adjusts the encoding bitrate to adapt to the network conditions. Using a value greater than the default value forces the video encoder to output high-quality images but may cause more packet loss and sacrifice the smoothness of the video transmission. Unless you have special requirements for image quality, Agora does not recommend changing this value.This parameter only applies to the interactive streaming profile.
1336
+ * The minimum encoding bitrate (Kbps) of the video. The SDK automatically adjusts the encoding bitrate to adapt to the network conditions. Using a value greater than the default value forces the video encoder to output high-quality images but may cause more packet loss and sacrifice the smoothness of the video transmission. Unless you have special requirements for image quality, Agora does not recommend changing this value. This parameter only applies to the interactive streaming profile.
1318
1337
  */
1319
1338
  minBitrate?: number;
1320
1339
  /**
@@ -1326,7 +1345,7 @@ export class VideoEncoderConfiguration {
1326
1345
  */
1327
1346
  degradationPreference?: DegradationPreference;
1328
1347
  /**
1329
- * Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See VideoMirrorModeType.By default, the video is not mirrored.
1348
+ * Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See VideoMirrorModeType. By default, the video is not mirrored.
1330
1349
  */
1331
1350
  mirrorMode?: VideoMirrorModeType;
1332
1351
  /**
@@ -1342,11 +1361,11 @@ export class VideoEncoderConfiguration {
1342
1361
  */
1343
1362
  export class DataStreamConfig {
1344
1363
  /**
1345
- * Whether to synchronize the data packet with the published audio packet.true: Synchronize the data packet with the audio packet.false: Do not synchronize the data packet with the audio packet.When you set the data packet to synchronize with the audio, then if the data packet delay is within the audio delay, the SDK triggers the onStreamMessage callback when the synchronized audio packet is played out. Do not set this parameter as true if you need the receiver to receive the data packet immediately. Agora recommends that you set this parameter to true only when you need to implement specific functions, for example, lyric synchronization.
1364
+ * Whether to synchronize the data packet with the published audio packet. true : Synchronize the data packet with the audio packet. false : Do not synchronize the data packet with the audio packet. When you set the data packet to synchronize with the audio, then if the data packet delay is within the audio delay, the SDK triggers the onStreamMessage callback when the synchronized audio packet is played out. Do not set this parameter as true if you need the receiver to receive the data packet immediately. Agora recommends that you set this parameter to true only when you need to implement specific functions, for example, lyric synchronization.
1346
1365
  */
1347
1366
  syncWithAudio?: boolean;
1348
1367
  /**
1349
- * Whether the SDK guarantees that the receiver receives the data in the sent order.true: Guarantee that the receiver receives the data in the sent order.false: Do not guarantee that the receiver receives the data in the sent order.Do not set this parameter as true if you need the receiver to receive the data packet immediately.
1368
+ * Whether the SDK guarantees that the receiver receives the data in the sent order. true : Guarantee that the receiver receives the data in the sent order. false : Do not guarantee that the receiver receives the data in the sent order. Do not set this parameter as true if you need the receiver to receive the data packet immediately.
1350
1369
  */
1351
1370
  ordered?: boolean;
1352
1371
  }
@@ -1412,7 +1431,9 @@ export class Rectangle {
1412
1431
  /**
1413
1432
  * The position and size of the watermark on the screen.
1414
1433
  *
1415
- * The position and size of the watermark on the screen are determined by xRatio , yRatio , and widthRatio : ( xRatio , yRatio ) refers to the coordinates of the upper left corner of the watermark, which determines the distance from the upper left corner of the watermark to the upper left corner of the screen. The widthRatio determines the width of the watermark.
1434
+ * The position and size of the watermark on the screen are determined by xRatio, yRatio, and widthRatio :
1435
+ * (xRatio, yRatio) refers to the coordinates of the upper left corner of the watermark, which determines the distance from the upper left corner of the watermark to the upper left corner of the screen.
1436
+ * The widthRatio determines the width of the watermark.
1416
1437
  */
1417
1438
  export class WatermarkRatio {
1418
1439
  /**
@@ -1520,11 +1541,13 @@ export class RtcStats {
1520
1541
  */
1521
1542
  userCount?: number;
1522
1543
  /**
1523
- * Application CPU usage (%).The value of cpuAppUsage is always reported as 0 in the onLeaveChannel callback.
1544
+ * Application CPU usage (%).
1545
+ * The value of cpuAppUsage is always reported as 0 in the onLeaveChannel callback.
1524
1546
  */
1525
1547
  cpuAppUsage?: number;
1526
1548
  /**
1527
- * The system CPU usage (%).For Windows, in the multi-kernel environment, this member represents the average CPU usage. The value = (100 - System Idle Progress in Task Manager)/100.The value of cpuTotalUsage is always reported as 0 in the onLeaveChannel callback.
1549
+ * The system CPU usage (%). For Windows, in the multi-kernel environment, this member represents the average CPU usage. The value = (100 - System Idle Progress in Task Manager)/100.
1550
+ * The value of cpuTotalUsage is always reported as 0 in the onLeaveChannel callback.
1528
1551
  */
1529
1552
  cpuTotalUsage?: number;
1530
1553
  /**
@@ -1532,15 +1555,15 @@ export class RtcStats {
1532
1555
  */
1533
1556
  gatewayRtt?: number;
1534
1557
  /**
1535
- * The memory ratio occupied by the app (%).This value is for reference only. Due to system limitations, you may not get this value.
1558
+ * The memory ratio occupied by the app (%). This value is for reference only. Due to system limitations, you may not get this value.
1536
1559
  */
1537
1560
  memoryAppUsageRatio?: number;
1538
1561
  /**
1539
- * The memory occupied by the system (%).This value is for reference only. Due to system limitations, you may not get this value.
1562
+ * The memory occupied by the system (%). This value is for reference only. Due to system limitations, you may not get this value.
1540
1563
  */
1541
1564
  memoryTotalUsageRatio?: number;
1542
1565
  /**
1543
- * The memory size occupied by the app (KB).This value is for reference only. Due to system limitations, you may not get this value.
1566
+ * The memory size occupied by the app (KB). This value is for reference only. Due to system limitations, you may not get this value.
1544
1567
  */
1545
1568
  memoryAppUsageInKbytes?: number;
1546
1569
  /**
@@ -1712,7 +1735,10 @@ export enum AudioAinsMode {
1712
1735
  */
1713
1736
  export enum AudioProfileType {
1714
1737
  /**
1715
- * 0: The default audio profile.For the interactive streaming profile: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.For the communication profile: Windows: A sample rate of 16 kHz, audio encoding, mono, and a bitrate of up to 16 Kbps.macOS: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
1738
+ * 0: The default audio profile.
1739
+ * For the interactive streaming profile: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
1740
+ * For the communication profile:
1741
+ * Windows: A sample rate of 16 kHz, audio encoding, mono, and a bitrate of up to 16 Kbps. macOS: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
1716
1742
  */
1717
1743
  AudioProfileDefault = 0,
1718
1744
  /**
@@ -1724,7 +1750,7 @@ export enum AudioProfileType {
1724
1750
  */
1725
1751
  AudioProfileMusicStandard = 2,
1726
1752
  /**
1727
- * 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.To implement stereo audio, you also need to call setAdvancedAudioOptions and set audioProcessingChannels to AudioProcessingStereo in AdvancedAudioOptions.
1753
+ * 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps. To implement stereo audio, you also need to call setAdvancedAudioOptions and set audioProcessingChannels to AudioProcessingStereo in AdvancedAudioOptions.
1728
1754
  */
1729
1755
  AudioProfileMusicStandardStereo = 3,
1730
1756
  /**
@@ -1732,7 +1758,7 @@ export enum AudioProfileType {
1732
1758
  */
1733
1759
  AudioProfileMusicHighQuality = 4,
1734
1760
  /**
1735
- * 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.To implement stereo audio, you also need to call setAdvancedAudioOptions and set audioProcessingChannels to AudioProcessingStereo in AdvancedAudioOptions.
1761
+ * 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps. To implement stereo audio, you also need to call setAdvancedAudioOptions and set audioProcessingChannels to AudioProcessingStereo in AdvancedAudioOptions.
1736
1762
  */
1737
1763
  AudioProfileMusicHighQualityStereo = 5,
1738
1764
  /**
@@ -1842,7 +1868,20 @@ export enum VideoApplicationScenarioType {
1842
1868
  */
1843
1869
  ApplicationScenarioGeneral = 0,
1844
1870
  /**
1845
- * If set to ApplicationScenarioMeeting (1), the SDK automatically enables the following strategies:In meeting scenarios where low-quality video streams are required to have a high bitrate, the SDK automatically enables multiple technologies used to deal with network congestions, to enhance the performance of the low-quality streams and to ensure the smooth reception by subscribers.The SDK monitors the number of subscribers to the high-quality video stream in real time and dynamically adjusts its configuration based on the number of subscribers.If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.If someone subscribes to the high-quality stream, the SDK resets the high-quality stream to the VideoEncoderConfiguration configuration used in the most recent calling of setVideoEncoderConfiguration. If no configuration has been set by the user previously, the following values are used:Resolution: 1280 × 720Frame rate: 15 fpsBitrate: 1600 KbpsThe SDK monitors the number of subscribers to the low-quality video stream in real time and dynamically enables or disables it based on the number of subscribers.If the user has called setDualStreamMode to set that never send low-quality video stream (DisableSimulcastStream), the dynamic adjustment of the low-quality stream in meeting scenarios will not take effect.If nobody subscribes to the low-quality stream, the SDK automatically disables it to save upstream bandwidth.If someone subscribes to the low-quality stream, the SDK enables the low-quality stream and resets it to the SimulcastStreamConfig configuration used in the most recent calling of setDualStreamMode. If no configuration has been set by the user previously, the following values are used:Resolution: 480 × 272Frame rate: 15 fpsBitrate: 500 Kbps1: The meeting scenario.
1871
+ * If set to ApplicationScenarioMeeting (1), the SDK automatically enables the following strategies:
1872
+ * In meeting scenarios where low-quality video streams are required to have a high bitrate, the SDK automatically enables multiple technologies used to deal with network congestions, to enhance the performance of the low-quality streams and to ensure the smooth reception by subscribers.
1873
+ * The SDK monitors the number of subscribers to the high-quality video stream in real time and dynamically adjusts its configuration based on the number of subscribers.
1874
+ * If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
1875
+ * If someone subscribes to the high-quality stream, the SDK resets the high-quality stream to the VideoEncoderConfiguration configuration used in the most recent calling of setVideoEncoderConfiguration. If no configuration has been set by the user previously, the following values are used:
1876
+ * Resolution: 1280 × 720
1877
+ * Frame rate: 15 fps
1878
+ * Bitrate: 1600 Kbps
1879
+ * The SDK monitors the number of subscribers to the low-quality video stream in real time and dynamically enables or disables it based on the number of subscribers. If the user has called setDualStreamMode to set that never send low-quality video stream (DisableSimulcastStream), the dynamic adjustment of the low-quality stream in meeting scenarios will not take effect.
1880
+ * If nobody subscribes to the low-quality stream, the SDK automatically disables it to save upstream bandwidth.
1881
+ * If someone subscribes to the low-quality stream, the SDK enables the low-quality stream and resets it to the SimulcastStreamConfig configuration used in the most recent calling of setDualStreamMode. If no configuration has been set by the user previously, the following values are used:
1882
+ * Resolution: 480 × 272
1883
+ * Frame rate: 15 fps
1884
+ * Bitrate: 500 Kbps 1: The meeting scenario.
1846
1885
  */
1847
1886
  ApplicationScenarioMeeting = 1,
1848
1887
  }
@@ -1904,7 +1943,7 @@ export enum LocalAudioStreamError {
1904
1943
  */
1905
1944
  LocalAudioStreamErrorFailure = 1,
1906
1945
  /**
1907
- * 2: No permission to use the local audio capturing device. Remind your users to grant permission.Deprecated:This enumerator is deprecated. Please use RecordAudio in the onPermissionError callback instead.
1946
+ * 2: No permission to use the local audio capturing device. Remind your users to grant permission. Deprecated: This enumerator is deprecated. Please use RecordAudio in the onPermissionError callback instead.
1908
1947
  */
1909
1948
  LocalAudioStreamErrorDeviceNoPermission = 2,
1910
1949
  /**
@@ -1976,7 +2015,7 @@ export enum LocalVideoStreamError {
1976
2015
  */
1977
2016
  LocalVideoStreamErrorFailure = 1,
1978
2017
  /**
1979
- * 2: No permission to use the local video capturing device. Remind the user to grant permissions and rejoin the channel.Deprecated:This enumerator is deprecated. Please use CAMERA in the onPermissionError callback instead.
2018
+ * 2: No permission to use the local video capturing device. Remind the user to grant permissions and rejoin the channel. Deprecated: This enumerator is deprecated. Please use CAMERA in the onPermissionError callback instead.
1980
2019
  */
1981
2020
  LocalVideoStreamErrorDeviceNoPermission = 2,
1982
2021
  /**
@@ -2004,7 +2043,7 @@ export enum LocalVideoStreamError {
2004
2043
  */
2005
2044
  LocalVideoStreamErrorDeviceNotFound = 8,
2006
2045
  /**
2007
- * 9:(For macOS only) The video capture device currently in use is disconnected (such as being unplugged).
2046
+ * 9: (For macOS only) The video capture device currently in use is disconnected (such as being unplugged).
2008
2047
  */
2009
2048
  LocalVideoStreamErrorDeviceDisconnected = 9,
2010
2049
  /**
@@ -2020,7 +2059,10 @@ export enum LocalVideoStreamError {
2020
2059
  */
2021
2060
  LocalVideoStreamErrorScreenCaptureWindowMinimized = 11,
2022
2061
  /**
2023
- * 12: (For macOS and Windows only) The error code indicates that a window shared by the window ID has been closed or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing.Common scenarios for reporting this error code:When the local user closes the shared window, the SDK reports this error code.The local user shows some slides in full-screen mode first, and then shares the windows of the slides. After the user exits full-screen mode, the SDK reports this error code.The local user watches a web video or reads a web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
2062
+ * 12: (For macOS and Windows only) The error code indicates that a window shared by the window ID has been closed or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing. Common scenarios for reporting this error code:
2063
+ * When the local user closes the shared window, the SDK reports this error code.
2064
+ * The local user shows some slides in full-screen mode first, and then shares the windows of the slides. After the user exits full-screen mode, the SDK reports this error code.
2065
+ * The local user watches a web video or reads a web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
2024
2066
  */
2025
2067
  LocalVideoStreamErrorScreenCaptureWindowClosed = 12,
2026
2068
  /**
@@ -2039,6 +2081,18 @@ export enum LocalVideoStreamError {
2039
2081
  * @ignore
2040
2082
  */
2041
2083
  LocalVideoStreamErrorScreenCaptureNoPermission = 22,
2084
+ /**
2085
+ * @ignore
2086
+ */
2087
+ LocalVideoStreamErrorScreenCapturePaused = 23,
2088
+ /**
2089
+ * @ignore
2090
+ */
2091
+ LocalVideoStreamErrorScreenCaptureResumed = 24,
2092
+ /**
2093
+ * @ignore
2094
+ */
2095
+ LocalVideoStreamErrorScreenCaptureWindowRecoverFromMinimized = 25,
2042
2096
  }
2043
2097
 
2044
2098
  /**
@@ -2188,7 +2242,7 @@ export enum RemoteVideoStateReason {
2188
2242
  */
2189
2243
  RemoteVideoStateReasonSdkInBackground = 12,
2190
2244
  /**
2191
- * @ignore
2245
+ * 13: The local video decoder does not support decoding the remote video stream.
2192
2246
  */
2193
2247
  RemoteVideoStateReasonCodecNotSupport = 13,
2194
2248
  }
@@ -2288,7 +2342,9 @@ export enum RemoteVideoDownscaleLevel {
2288
2342
  */
2289
2343
  export class AudioVolumeInfo {
2290
2344
  /**
2291
- * The user ID.In the local user's callback, uid is 0.In the remote users' callback, uid is the user ID of a remote user whose instantaneous volume is the highest.
2345
+ * The user ID.
2346
+ * In the local user's callback, uid is 0.
2347
+ * In the remote users' callback, uid is the user ID of a remote user whose instantaneous volume is the highest.
2292
2348
  */
2293
2349
  uid?: number;
2294
2350
  /**
@@ -2296,11 +2352,15 @@ export class AudioVolumeInfo {
2296
2352
  */
2297
2353
  volume?: number;
2298
2354
  /**
2299
- * Voice activity status of the local user.0: The local user is not speaking.1: The local user is speaking.The vad parameter does not report the voice activity status of remote users. In a remote user's callback, the value of vad is always 1.To use this parameter, you must set reportVad to true when calling enableAudioVolumeIndication.
2355
+ * Voice activity status of the local user.
2356
+ * 0: The local user is not speaking.
2357
+ * 1: The local user is speaking.
2358
+ * The vad parameter does not report the voice activity status of remote users. In a remote user's callback, the value of vad is always 1.
2359
+ * To use this parameter, you must set reportVad to true when calling enableAudioVolumeIndication.
2300
2360
  */
2301
2361
  vad?: number;
2302
2362
  /**
2303
- * The voice pitch of the local user. The value ranges between 0.0 and 4000.0.The voicePitch parameter does not report the voice pitch of remote users. In the remote users' callback, the value of voicePitch is always 0.0.
2363
+ * The voice pitch of the local user. The value ranges between 0.0 and 4000.0. The voicePitch parameter does not report the voice pitch of remote users. In the remote users' callback, the value of voicePitch is always 0.0.
2304
2364
  */
2305
2365
  voicePitch?: number;
2306
2366
  }
@@ -2444,7 +2504,9 @@ export enum RtmpStreamPublishState {
2444
2504
  */
2445
2505
  RtmpStreamPublishStateRunning = 2,
2446
2506
  /**
2447
- * 3: The RTMP or RTMPS streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK tries to resume RTMP or RTMPS streaming and returns this state.If the SDK successfully resumes the streaming, RtmpStreamPublishStateRunning(2) returns.If the streaming does not resume within 60 seconds or server errors occur, RtmpStreamPublishStateFailure(4) returns. If you feel that 60 seconds is too long, you can also actively try to reconnect.
2507
+ * 3: The RTMP or RTMPS streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK tries to resume RTMP or RTMPS streaming and returns this state.
2508
+ * If the SDK successfully resumes the streaming, RtmpStreamPublishStateRunning (2) returns.
2509
+ * If the streaming does not resume within 60 seconds or server errors occur, RtmpStreamPublishStateFailure (4) returns. If you feel that 60 seconds is too long, you can also actively try to reconnect.
2448
2510
  */
2449
2511
  RtmpStreamPublishStateRecovering = 3,
2450
2512
  /**
@@ -2584,7 +2646,9 @@ export class RtcImage {
2584
2646
  */
2585
2647
  zOrder?: number;
2586
2648
  /**
2587
- * The transparency of the watermark or background image. The range of the value is [0.0,1.0]:0.0: Completely transparent.1.0: (Default) Opaque.
2649
+ * The transparency of the watermark or background image. The range of the value is [0.0,1.0]:
2650
+ * 0.0: Completely transparent.
2651
+ * 1.0: (Default) Opaque.
2588
2652
  */
2589
2653
  alpha?: number;
2590
2654
  }
@@ -2592,7 +2656,7 @@ export class RtcImage {
2592
2656
  /**
2593
2657
  * The configuration for advanced features of the RTMP or RTMPS streaming with transcoding.
2594
2658
  *
2595
- * If you want to enable the advanced features of streaming with transcoding, contact .
2659
+ * If you want to enable the advanced features of streaming with transcoding, contact.
2596
2660
  */
2597
2661
  export class LiveStreamAdvancedFeature {
2598
2662
  /**
@@ -2600,7 +2664,7 @@ export class LiveStreamAdvancedFeature {
2600
2664
  */
2601
2665
  featureName?: string;
2602
2666
  /**
2603
- * Whether to enable the advanced features of streaming with transcoding:true: Enable the advanced features.false: (Default) Do not enable the advanced features.
2667
+ * Whether to enable the advanced features of streaming with transcoding: true : Enable the advanced features. false : (Default) Do not enable the advanced features.
2604
2668
  */
2605
2669
  opened?: boolean;
2606
2670
  }
@@ -2610,11 +2674,15 @@ export class LiveStreamAdvancedFeature {
2610
2674
  */
2611
2675
  export enum ConnectionStateType {
2612
2676
  /**
2613
- * 1: The SDK is disconnected from the Agora edge server. The state indicates the SDK is in one of the following phases:Theinitial state before calling the joinChannel method.The app calls the leaveChannel method.
2677
+ * 1: The SDK is disconnected from the Agora edge server. The state indicates the SDK is in one of the following phases:
2678
+ * Theinitial state before calling the joinChannel method.
2679
+ * The app calls the leaveChannel method.
2614
2680
  */
2615
2681
  ConnectionStateDisconnected = 1,
2616
2682
  /**
2617
- * 2: The SDK is connecting to the Agora edge server. This state indicates that the SDK is establishing a connection with the specified channel after the app calls joinChannel.If the SDK successfully joins the channel, it triggers the onConnectionStateChanged callback and the connection state switches to ConnectionStateConnected.After the connection is established, the SDK also initializes the media and triggers onJoinChannelSuccess when everything is ready.
2683
+ * 2: The SDK is connecting to the Agora edge server. This state indicates that the SDK is establishing a connection with the specified channel after the app calls joinChannel.
2684
+ * If the SDK successfully joins the channel, it triggers the onConnectionStateChanged callback and the connection state switches to ConnectionStateConnected.
2685
+ * After the connection is established, the SDK also initializes the media and triggers onJoinChannelSuccess when everything is ready.
2618
2686
  */
2619
2687
  ConnectionStateConnecting = 2,
2620
2688
  /**
@@ -2622,11 +2690,15 @@ export enum ConnectionStateType {
2622
2690
  */
2623
2691
  ConnectionStateConnected = 3,
2624
2692
  /**
2625
- * 4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.If the SDK cannot rejoin the channel within 10 seconds, it triggers onConnectionLost, stays in the ConnectionStateReconnecting state, and keeps rejoining the channel.If the SDK fails to rejoin the channel 20 minutes after being disconnected from the Agora edge server, the SDK triggers the onConnectionStateChanged callback, switches to the ConnectionStateFailed state, and stops rejoining the channel.
2693
+ * 4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.
2694
+ * If the SDK cannot rejoin the channel within 10 seconds, it triggers onConnectionLost, stays in the ConnectionStateReconnecting state, and keeps rejoining the channel.
2695
+ * If the SDK fails to rejoin the channel 20 minutes after being disconnected from the Agora edge server, the SDK triggers the onConnectionStateChanged callback, switches to the ConnectionStateFailed state, and stops rejoining the channel.
2626
2696
  */
2627
2697
  ConnectionStateReconnecting = 4,
2628
2698
  /**
2629
- * 5: The SDK fails to connect to the Agora edge server or join the channel. This state indicates that the SDK stops trying to rejoin the channel. You must call leaveChannel to leave the channel.You can call joinChannel to rejoin the channel.If the SDK is banned from joining the channel by the Agora edge server through the RESTful API, the SDK triggers the onConnectionStateChanged callback.
2699
+ * 5: The SDK fails to connect to the Agora edge server or join the channel. This state indicates that the SDK stops trying to rejoin the channel. You must call leaveChannel to leave the channel.
2700
+ * You can call joinChannel to rejoin the channel.
2701
+ * If the SDK is banned from joining the channel by the Agora edge server through the RESTful API, the SDK triggers the onConnectionStateChanged callback.
2630
2702
  */
2631
2703
  ConnectionStateFailed = 5,
2632
2704
  }
@@ -2656,15 +2728,21 @@ export class TranscodingUser {
2656
2728
  */
2657
2729
  height?: number;
2658
2730
  /**
2659
- * The layer index number of the host's video. The value range is [0, 100].0: (Default) The host's video is the bottom layer.100: The host's video is the top layer.If the value is less than 0 or greater than 100, ErrInvalidArgument error is returned.Setting zOrder to 0 is supported.
2731
+ * The layer index number of the host's video. The value range is [0, 100].
2732
+ * 0: (Default) The host's video is the bottom layer.
2733
+ * 100: The host's video is the top layer.
2734
+ * If the value is less than 0 or greater than 100, ErrInvalidArgument error is returned.
2735
+ * Setting zOrder to 0 is supported.
2660
2736
  */
2661
2737
  zOrder?: number;
2662
2738
  /**
2663
- * The transparency of the host's video. The value range is [0.0,1.0].0.0: Completely transparent.1.0: (Default) Opaque.
2739
+ * The transparency of the host's video. The value range is [0.0,1.0].
2740
+ * 0.0: Completely transparent.
2741
+ * 1.0: (Default) Opaque.
2664
2742
  */
2665
2743
  alpha?: number;
2666
2744
  /**
2667
- * The audio channel used by the host's audio in the output audio. The default value is 0, and the value range is [0, 5].0: (Recommended) The defaut setting, which supports dual channels at most and depends on the upstream of the host.1: The host's audio uses the FL audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.2: The host's audio uses the FC audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.3: The host's audio uses the FR audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.4: The host's audio uses the BL audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.5: The host's audio uses the BR audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.0xFF or a value greater than 5: The host's audio is muted, and the Agora server removes the host's audio.If the value is not 0, a special player is required.
2745
+ * The audio channel used by the host's audio in the output audio. The default value is 0, and the value range is [0, 5]. 0 : (Recommended) The defaut setting, which supports dual channels at most and depends on the upstream of the host. 1 : The host's audio uses the FL audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first. 2 : The host's audio uses the FC audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first. 3 : The host's audio uses the FR audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first. 4 : The host's audio uses the BL audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first. 5 : The host's audio uses the BR audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first. 0xFF or a value greater than 5 : The host's audio is muted, and the Agora server removes the host's audio. If the value is not 0, a special player is required.
2668
2746
  */
2669
2747
  audioChannel?: number;
2670
2748
  }
@@ -2674,11 +2752,15 @@ export class TranscodingUser {
2674
2752
  */
2675
2753
  export class LiveTranscoding {
2676
2754
  /**
2677
- * The width of the video in pixels. The default value is 360.When pushing video streams to the CDN, the value range of width is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920.When pushing audio streams to the CDN, set width and height as 0.
2755
+ * The width of the video in pixels. The default value is 360.
2756
+ * When pushing video streams to the CDN, the value range of width is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920.
2757
+ * When pushing audio streams to the CDN, set width and height as 0.
2678
2758
  */
2679
2759
  width?: number;
2680
2760
  /**
2681
- * The height of the video in pixels. The default value is 640.When pushing video streams to the CDN, the value range of height is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080.When pushing audio streams to the CDN, set width and height as 0.
2761
+ * The height of the video in pixels. The default value is 640.
2762
+ * When pushing video streams to the CDN, the value range of height is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080.
2763
+ * When pushing audio streams to the CDN, set width and height as 0.
2682
2764
  */
2683
2765
  height?: number;
2684
2766
  /**
@@ -2686,11 +2768,11 @@ export class LiveTranscoding {
2686
2768
  */
2687
2769
  videoBitrate?: number;
2688
2770
  /**
2689
- * Frame rate (fps) of the output video stream set for Media Push. The default value is 15. The value range is (0,30].The Agora server adjusts any value over 30 to 30.
2771
+ * Frame rate (fps) of the output video stream set for Media Push. The default value is 15. The value range is (0,30]. The Agora server adjusts any value over 30 to 30.
2690
2772
  */
2691
2773
  videoFramerate?: number;
2692
2774
  /**
2693
- * DeprecatedThis member is deprecated.Latency mode:true: Low latency with unassured quality.false: (Default) High latency with assured quality.
2775
+ * Deprecated This member is deprecated. Latency mode: true : Low latency with unassured quality. false : (Default) High latency with assured quality.
2694
2776
  */
2695
2777
  lowLatency?: boolean;
2696
2778
  /**
@@ -2698,7 +2780,7 @@ export class LiveTranscoding {
2698
2780
  */
2699
2781
  videoGop?: number;
2700
2782
  /**
2701
- * Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See VideoCodecProfileType for details.If you set this parameter to any other value, Agora adjusts it to the default value.
2783
+ * Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See VideoCodecProfileType for details. If you set this parameter to any other value, Agora adjusts it to the default value.
2702
2784
  */
2703
2785
  videoCodecProfile?: VideoCodecProfileType;
2704
2786
  /**
@@ -2722,11 +2804,11 @@ export class LiveTranscoding {
2722
2804
  */
2723
2805
  transcodingExtraInfo?: string;
2724
2806
  /**
2725
- * DeprecatedObsolete and not recommended for use.The metadata sent to the CDN client.
2807
+ * Deprecated Obsolete and not recommended for use. The metadata sent to the CDN client.
2726
2808
  */
2727
2809
  metadata?: string;
2728
2810
  /**
2729
- * The watermark on the live video. The image format needs to be PNG. See RtcImage.You can add one watermark, or add multiple watermarks using an array. This parameter is used with watermarkCount.
2811
+ * The watermark on the live video. The image format needs to be PNG. See RtcImage. You can add one watermark, or add multiple watermarks using an array. This parameter is used with watermarkCount.
2730
2812
  */
2731
2813
  watermark?: RtcImage[];
2732
2814
  /**
@@ -2734,7 +2816,7 @@ export class LiveTranscoding {
2734
2816
  */
2735
2817
  watermarkCount?: number;
2736
2818
  /**
2737
- * The number of background images on the live video. The image format needs to be PNG. See RtcImage.You can add a background image or use an array to add multiple background images. This parameter is used with backgroundImageCount.
2819
+ * The number of background images on the live video. The image format needs to be PNG. See RtcImage. You can add a background image or use an array to add multiple background images. This parameter is used with backgroundImageCount.
2738
2820
  */
2739
2821
  backgroundImage?: RtcImage[];
2740
2822
  /**
@@ -2750,7 +2832,12 @@ export class LiveTranscoding {
2750
2832
  */
2751
2833
  audioBitrate?: number;
2752
2834
  /**
2753
- * The number of audio channels for Media Push. Agora recommends choosing 1 (mono), or 2 (stereo) audio channels. Special players are required if you choose 3, 4, or 5.1: (Default) Mono2: Stereo.3: Three audio channels.4: Four audio channels.5: Five audio channels.
2835
+ * The number of audio channels for Media Push. Agora recommends choosing 1 (mono), or 2 (stereo) audio channels. Special players are required if you choose 3, 4, or 5.
2836
+ * 1: (Default) Mono
2837
+ * 2: Stereo.
2838
+ * 3: Three audio channels.
2839
+ * 4: Four audio channels.
2840
+ * 5: Five audio channels.
2754
2841
  */
2755
2842
  audioChannels?: number;
2756
2843
  /**
@@ -2776,11 +2863,11 @@ export class TranscodingVideoStream {
2776
2863
  */
2777
2864
  sourceType?: VideoSourceType;
2778
2865
  /**
2779
- * The user ID of the remote user.Use this parameter only when the source type is VideoSourceRemote for local video mixing.
2866
+ * The user ID of the remote user. Use this parameter only when the source type is VideoSourceRemote for local video mixing.
2780
2867
  */
2781
2868
  remoteUserUid?: number;
2782
2869
  /**
2783
- * The URL of the image.Use this parameter only when the source type is the image for local video mixing.
2870
+ * The URL of the image. Use this parameter only when the source type is the image for local video mixing.
2784
2871
  */
2785
2872
  imageUrl?: string;
2786
2873
  /**
@@ -2804,7 +2891,9 @@ export class TranscodingVideoStream {
2804
2891
  */
2805
2892
  height?: number;
2806
2893
  /**
2807
- * The number of the layer to which the video for the local video mixing belongs. The value range is [0, 100].0: (Default) The layer is at the bottom.100: The layer is at the top.
2894
+ * The number of the layer to which the video for the local video mixing belongs. The value range is [0, 100].
2895
+ * 0: (Default) The layer is at the bottom.
2896
+ * 100: The layer is at the top.
2808
2897
  */
2809
2898
  zOrder?: number;
2810
2899
  /**
@@ -2812,7 +2901,7 @@ export class TranscodingVideoStream {
2812
2901
  */
2813
2902
  alpha?: number;
2814
2903
  /**
2815
- * Whether to mirror the video for the local video mixing.true: Mirror the video for the local video mixing.false: (Default) Do not mirror the video for the local video mixing.This parameter only takes effect on video source types that are cameras.
2904
+ * Whether to mirror the video for the local video mixing. true : Mirror the video for the local video mixing. false : (Default) Do not mirror the video for the local video mixing. This parameter only takes effect on video source types that are cameras.
2816
2905
  */
2817
2906
  mirror?: boolean;
2818
2907
  }
@@ -2878,11 +2967,11 @@ export enum VideoTranscoderError {
2878
2967
  */
2879
2968
  export class LastmileProbeConfig {
2880
2969
  /**
2881
- * Sets whether to test the uplink network. Some users, for example, the audience members in a LIVE_BROADCASTING channel, do not need such a test.true: Test the uplink network.false: Do not test the uplink network.
2970
+ * Sets whether to test the uplink network. Some users, for example, the audience members in a LIVE_BROADCASTING channel, do not need such a test. true : Test the uplink network. false : Do not test the uplink network.
2882
2971
  */
2883
2972
  probeUplink?: boolean;
2884
2973
  /**
2885
- * Sets whether to test the downlink network:true: Test the downlink network.false: Do not test the downlink network.
2974
+ * Sets whether to test the downlink network: true : Test the downlink network. false : Do not test the downlink network.
2886
2975
  */
2887
2976
  probeDownlink?: boolean;
2888
2977
  /**
@@ -2990,7 +3079,9 @@ export enum ConnectionChangedReasonType {
2990
3079
  */
2991
3080
  ConnectionChangedInvalidChannelName = 7,
2992
3081
  /**
2993
- * 8: The connection failed because the token is not valid. Possible reasons are as follows:The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.The uid specified when calling joinChannel to join the channel is inconsistent with the uid passed in when generating the token.
3082
+ * 8: The connection failed because the token is not valid. Possible reasons are as follows:
3083
+ * The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
3084
+ * The uid specified when calling joinChannel to join the channel is inconsistent with the uid passed in when generating the token.
2994
3085
  */
2995
3086
  ConnectionChangedInvalidToken = 8,
2996
3087
  /**
@@ -2998,7 +3089,9 @@ export enum ConnectionChangedReasonType {
2998
3089
  */
2999
3090
  ConnectionChangedTokenExpired = 9,
3000
3091
  /**
3001
- * 10: The connection is rejected by server. Possible reasons are as follows:The user is already in the channel and still calls a method, for example, joinChannel, to join the channel. Stop calling this method to clear this error.The user tries to join a channel while a test call is in progress. The user needs to join the channel after the call test ends.
3092
+ * 10: The connection is rejected by server. Possible reasons are as follows:
3093
+ * The user is already in the channel and still calls a method, for example, joinChannel, to join the channel. Stop calling this method to clear this error.
3094
+ * The user tries to join a channel while a test call is in progress. The user needs to join the channel after the call test ends.
3002
3095
  */
3003
3096
  ConnectionChangedRejectedByServer = 10,
3004
3097
  /**
@@ -3045,6 +3138,10 @@ export enum ConnectionChangedReasonType {
3045
3138
  * @ignore
3046
3139
  */
3047
3140
  ConnectionChangedLicenseValidationFailure = 21,
3141
+ /**
3142
+ * @ignore
3143
+ */
3144
+ ConnectionChangedCertificationVeryfyFailure = 22,
3048
3145
  }
3049
3146
 
3050
3147
  /**
@@ -3052,7 +3149,7 @@ export enum ConnectionChangedReasonType {
3052
3149
  */
3053
3150
  export enum ClientRoleChangeFailedReason {
3054
3151
  /**
3055
- * 1: The number of hosts in the channel is already at the upper limit.This enumerator is reported only when the support for 128 users is enabled. The maximum number of hosts is based on the actual number of hosts configured when you enable the 128-user feature.
3152
+ * 1: The number of hosts in the channel is already at the upper limit. This enumerator is reported only when the support for 128 users is enabled. The maximum number of hosts is based on the actual number of hosts configured when you enable the 128-user feature.
3056
3153
  */
3057
3154
  ClientRoleChangeFailedTooManyBroadcasters = 1,
3058
3155
  /**
@@ -3180,7 +3277,7 @@ export enum VideoViewSetupMode {
3180
3277
  */
3181
3278
  export class VideoCanvas {
3182
3279
  /**
3183
- * Video display window.
3280
+ * The video display window.
3184
3281
  */
3185
3282
  view?: any;
3186
3283
  /**
@@ -3188,7 +3285,7 @@ export class VideoCanvas {
3188
3285
  */
3189
3286
  uid?: number;
3190
3287
  /**
3191
- * @ignore
3288
+ * The background color of the video canvas in RGBA format. The default value is 0x00000000, which represents completely transparent black.
3192
3289
  */
3193
3290
  backgroundColor?: number;
3194
3291
  /**
@@ -3196,7 +3293,9 @@ export class VideoCanvas {
3196
3293
  */
3197
3294
  renderMode?: RenderModeType;
3198
3295
  /**
3199
- * The mirror mode of the view. See VideoMirrorModeType.For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.For the remote user: The mirror mode is disabled by default.
3296
+ * The mirror mode of the view. See VideoMirrorModeType.
3297
+ * For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
3298
+ * For the remote user: The mirror mode is disabled by default.
3200
3299
  */
3201
3300
  mirrorMode?: VideoMirrorModeType;
3202
3301
  /**
@@ -3216,7 +3315,10 @@ export class VideoCanvas {
3216
3315
  */
3217
3316
  cropArea?: Rectangle;
3218
3317
  /**
3219
- * (Optional) Whether the receiver enables alpha mask rendering:true: The receiver enables alpha mask rendering.false: (default) The receiver disables alpha mask rendering.Alpha mask rendering can create images with transparent effects and extract portraits from videos. When used in combination with other methods, you can implement effects such as picture-in-picture and watermarking.This property applies to macOS only.The receiver can render alpha channel information only when the sender enables alpha transmission.To enable alpha transmission, .
3318
+ * (Optional) Whether the receiver enables alpha mask rendering: true : The receiver enables alpha mask rendering. false : (default) The receiver disables alpha mask rendering. Alpha mask rendering can create images with transparent effects and extract portraits from videos. When used in combination with other methods, you can implement effects such as picture-in-picture and watermarking.
3319
+ * This property applies to macOS only.
3320
+ * The receiver can render alpha channel information only when the sender enables alpha transmission.
3321
+ * To enable alpha transmission,.
3220
3322
  */
3221
3323
  enableAlphaMask?: boolean;
3222
3324
  }
@@ -3362,7 +3464,9 @@ export class ColorEnhanceOptions {
3362
3464
  */
3363
3465
  strengthLevel?: number;
3364
3466
  /**
3365
- * The level of skin tone protection. The value range is [0.0, 1.0]. 0.0 means no skin tone protection. The higher the value, the higher the level of skin tone protection. The default value is 1.0.When the level of color enhancement is higher, the portrait skin tone can be significantly distorted, so you need to set the level of skin tone protection.When the level of skin tone protection is higher, the color enhancement effect can be slightly reduced.Therefore, to get the best color enhancement effect, Agora recommends that you adjust strengthLevel and skinProtectLevel to get the most appropriate values.
3467
+ * The level of skin tone protection. The value range is [0.0, 1.0]. 0.0 means no skin tone protection. The higher the value, the higher the level of skin tone protection. The default value is 1.0.
3468
+ * When the level of color enhancement is higher, the portrait skin tone can be significantly distorted, so you need to set the level of skin tone protection.
3469
+ * When the level of skin tone protection is higher, the color enhancement effect can be slightly reduced. Therefore, to get the best color enhancement effect, Agora recommends that you adjust strengthLevel and skinProtectLevel to get the most appropriate values.
3366
3470
  */
3367
3471
  skinProtectLevel?: number;
3368
3472
  }
@@ -3420,15 +3524,15 @@ export class VirtualBackgroundSource {
3420
3524
  */
3421
3525
  background_source_type?: BackgroundSourceType;
3422
3526
  /**
3423
- * The type of the custom background image. The color of the custom background image. The format is a hexadecimal integer defined by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is 0xFFFFFF, which signifies white. The value range is [0x000000, 0xffffff]. If the value is invalid, the SDK replaces the original background image with a white background image.This parameter takes effect only when the type of the custom background image is BackgroundColor.
3527
+ * The type of the custom background image. The color of the custom background image. The format is a hexadecimal integer defined by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is 0xFFFFFF, which signifies white. The value range is [0x000000, 0xffffff]. If the value is invalid, the SDK replaces the original background image with a white background image. This parameter takes effect only when the type of the custom background image is BackgroundColor.
3424
3528
  */
3425
3529
  color?: number;
3426
3530
  /**
3427
- * The local absolute path of the custom background image. PNG and JPG formats are supported. If the path is invalid, the SDK replaces the original background image with a white background image.This parameter takes effect only when the type of the custom background image is BackgroundImg.
3531
+ * The local absolute path of the custom background image. PNG and JPG formats are supported. If the path is invalid, the SDK replaces the original background image with a white background image. This parameter takes effect only when the type of the custom background image is BackgroundImg.
3428
3532
  */
3429
3533
  source?: string;
3430
3534
  /**
3431
- * The degree of blurring applied to the custom background image. See BackgroundBlurDegree.This parameter takes effect only when the type of the custom background image is BackgroundBlur.
3535
+ * The degree of blurring applied to the custom background image. See BackgroundBlurDegree. This parameter takes effect only when the type of the custom background image is BackgroundBlur.
3432
3536
  */
3433
3537
  blur_degree?: BackgroundBlurDegree;
3434
3538
  }
@@ -3456,7 +3560,7 @@ export class SegmentationProperty {
3456
3560
  */
3457
3561
  modelType?: SegModelType;
3458
3562
  /**
3459
- * The range of accuracy for identifying green colors (different shades of green) in the view. The value range is [0,1], and the default value is 0.5. The larger the value, the wider the range of identifiable shades of green. When the value of this parameter is too large, the edge of the portrait and the green color in the portrait range are also detected. Agora recommends that you dynamically adjust the value of this parameter according to the actual effect.This parameter only takes effect when modelType is set to SegModelGreen.
3563
+ * The range of accuracy for identifying green colors (different shades of green) in the view. The value range is [0,1], and the default value is 0.5. The larger the value, the wider the range of identifiable shades of green. When the value of this parameter is too large, the edge of the portrait and the green color in the portrait range are also detected. Agora recommends that you dynamically adjust the value of this parameter according to the actual effect. This parameter only takes effect when modelType is set to SegModelGreen.
3460
3564
  */
3461
3565
  greenCapacity?: number;
3462
3566
  }
@@ -3470,11 +3574,11 @@ export enum AudioTrackType {
3470
3574
  */
3471
3575
  AudioTrackInvalid = -1,
3472
3576
  /**
3473
- * 0: Mixable audio tracks. You can publish multiple mixable audio tracks in one channel, and SDK will automatically mix these tracks into one. The latency of mixable audio tracks is higher than that of direct audio tracks.
3577
+ * 0: Mixable audio tracks. This type of audio track supports mixing with other audio streams (such as audio streams captured by microphone) and playing locally or publishing to channels after mixing. The latency of mixable audio tracks is higher than that of direct audio tracks.
3474
3578
  */
3475
3579
  AudioTrackMixable = 0,
3476
3580
  /**
3477
- * 1: Direct audio tracks. When creating multiple audio tracks of this type, each direct audio track can only be published in one channel and cannot be mixed with others. The latency of direct audio tracks is lower than that of mixable audio tracks.
3581
+ * 1: Direct audio tracks. This type of audio track will replace the audio streams captured by the microphone and does not support mixing with other audio streams. The latency of direct audio tracks is lower than that of mixable audio tracks. If AudioTrackDirect is specified for this parameter, you must set publishMicrophoneTrack to false in ChannelMediaOptions when calling joinChannel to join the channel; otherwise, joining the channel fails and returns the error code -2.
3478
3582
  */
3479
3583
  AudioTrackDirect = 1,
3480
3584
  }
@@ -3484,7 +3588,7 @@ export enum AudioTrackType {
3484
3588
  */
3485
3589
  export class AudioTrackConfig {
3486
3590
  /**
3487
- * Whether to enable the local audio-playback device:true: (Default) Enable the local audio-playback device.false: Do not enable the local audio-playback device.
3591
+ * Whether to enable the local audio-playback device: true : (Default) Enable the local audio-playback device. false : Do not enable the local audio-playback device.
3488
3592
  */
3489
3593
  enableLocalPlayback?: boolean;
3490
3594
  }
@@ -3498,19 +3602,21 @@ export enum VoiceBeautifierPreset {
3498
3602
  */
3499
3603
  VoiceBeautifierOff = 0x00000000,
3500
3604
  /**
3501
- * A more magnetic voice.Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
3605
+ * A more magnetic voice. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
3502
3606
  */
3503
3607
  ChatBeautifierMagnetic = 0x01010100,
3504
3608
  /**
3505
- * A fresher voice.Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
3609
+ * A fresher voice. Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
3506
3610
  */
3507
3611
  ChatBeautifierFresh = 0x01010200,
3508
3612
  /**
3509
- * A more vital voice.Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
3613
+ * A more vital voice. Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
3510
3614
  */
3511
3615
  ChatBeautifierVitality = 0x01010300,
3512
3616
  /**
3513
- * Singing beautifier effect.If you call setVoiceBeautifierPreset(SingingBeautifier), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you might experience vocal distortion.If you call setVoiceBeautifierParameters(SingingBeautifier, param1, param2), you can beautify a male or female-sounding voice and add a reverberation effect.
3617
+ * Singing beautifier effect.
3618
+ * If you call setVoiceBeautifierPreset (SingingBeautifier), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you might experience vocal distortion.
3619
+ * If you call setVoiceBeautifierParameters (SingingBeautifier, param1, param2), you can beautify a male or female-sounding voice and add a reverberation effect.
3514
3620
  */
3515
3621
  SingingBeautifier = 0x01020100,
3516
3622
  /**
@@ -3546,7 +3652,9 @@ export enum VoiceBeautifierPreset {
3546
3652
  */
3547
3653
  TimbreTransformationRinging = 0x01030800,
3548
3654
  /**
3549
- * A ultra-high quality voice, which makes the audio clearer and restores more details.To achieve better audio effect quality, Agora recommends that you set the profile of to AudioProfileMusicHighQuality(4) or AudioProfileMusicHighQualityStereo(5) and scenario to AudioScenarioGameStreaming(3) before calling setVoiceBeautifierPreset.If you have an audio capturing device that can already restore audio details to a high degree, Agora recommends that you do not enable ultra-high quality; otherwise, the SDK may over-restore audio details, and you may not hear the anticipated voice effect.
3655
+ * A ultra-high quality voice, which makes the audio clearer and restores more details.
3656
+ * To achieve better audio effect quality, Agora recommends that you set the profile of to AudioProfileMusicHighQuality (4) or AudioProfileMusicHighQualityStereo (5) and scenario to AudioScenarioGameStreaming (3) before calling setVoiceBeautifierPreset.
3657
+ * If you have an audio capturing device that can already restore audio details to a high degree, Agora recommends that you do not enable ultra-high quality; otherwise, the SDK may over-restore audio details, and you may not hear the anticipated voice effect.
3550
3658
  */
3551
3659
  UltraHighQualityVoice = 0x01040100,
3552
3660
  }
@@ -3590,31 +3698,31 @@ export enum AudioEffectPreset {
3590
3698
  */
3591
3699
  RoomAcousticsEthereal = 0x02010700,
3592
3700
  /**
3593
- * A 3D voice effect that makes the voice appear to be moving around the user. The default cycle period is 10 seconds. After setting this effect, you can call setAudioEffectParameters to modify the movement period.If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
3701
+ * A 3D voice effect that makes the voice appear to be moving around the user. The default cycle period is 10 seconds. After setting this effect, you can call setAudioEffectParameters to modify the movement period. If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
3594
3702
  */
3595
3703
  RoomAcoustics3dVoice = 0x02010800,
3596
3704
  /**
3597
- * Virtual surround sound, that is, the SDK generates a simulated surround sound field on the basis of stereo channels, thereby creating a surround sound effect.If the virtual surround sound is enabled, users need to use stereo audio playback devices to hear the anticipated audio effect.
3705
+ * Virtual surround sound, that is, the SDK generates a simulated surround sound field on the basis of stereo channels, thereby creating a surround sound effect. If the virtual surround sound is enabled, users need to use stereo audio playback devices to hear the anticipated audio effect.
3598
3706
  */
3599
3707
  RoomAcousticsVirtualSurroundSound = 0x02010900,
3600
3708
  /**
3601
- * A middle-aged man's voice.Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
3709
+ * A middle-aged man's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
3602
3710
  */
3603
3711
  VoiceChangerEffectUncle = 0x02020100,
3604
3712
  /**
3605
- * An older man's voice.Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
3713
+ * An older man's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
3606
3714
  */
3607
3715
  VoiceChangerEffectOldman = 0x02020200,
3608
3716
  /**
3609
- * A boy's voice.Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
3717
+ * A boy's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
3610
3718
  */
3611
3719
  VoiceChangerEffectBoy = 0x02020300,
3612
3720
  /**
3613
- * A young woman's voice.Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
3721
+ * A young woman's voice. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
3614
3722
  */
3615
3723
  VoiceChangerEffectSister = 0x02020400,
3616
3724
  /**
3617
- * A girl's voice.Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
3725
+ * A girl's voice. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
3618
3726
  */
3619
3727
  VoiceChangerEffectGirl = 0x02020500,
3620
3728
  /**
@@ -3732,7 +3840,9 @@ export enum HeadphoneEqualizerPreset {
3732
3840
  */
3733
3841
  export class ScreenCaptureParameters {
3734
3842
  /**
3735
- * The video encoding resolution of the shared screen stream. See VideoDimensions. The default value is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges.If the screen dimensions are different from the value of this parameter, Agora applies the following strategies for encoding. Suppose If the value of the screen dimensions is lower than that of dimensions, for example, 1000 × 1000 pixels, the SDK uses the screen dimensions, that is, 1000 × 1000 pixels, for encoding.If the value of the screen dimensions is higher than that of dimensions, for example, 2000 × 1500, the SDK uses the maximum value under
3843
+ * The video encoding resolution of the shared screen stream. See VideoDimensions. The default value is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. If the screen dimensions are different from the value of this parameter, Agora applies the following strategies for encoding. Suppose is set to 1920 × 1080:
3844
+ * If the value of the screen dimensions is lower than that of dimensions, for example, 1000 × 1000 pixels, the SDK uses the screen dimensions, that is, 1000 × 1000 pixels, for encoding.
3845
+ * If the value of the screen dimensions is higher than that of dimensions, for example, 2000 × 1500, the SDK uses the maximum value under with the aspect ratio of the screen dimension (4:3) for encoding, that is, 1440 × 1080.
3736
3846
  */
3737
3847
  dimensions?: VideoDimensions;
3738
3848
  /**
@@ -3744,11 +3854,11 @@ export class ScreenCaptureParameters {
3744
3854
  */
3745
3855
  bitrate?: number;
3746
3856
  /**
3747
- * Whether to capture the mouse in screen sharing:true: (Default) Capture the mouse.false: Do not capture the mouse.
3857
+ * Whether to capture the mouse in screen sharing: true : (Default) Capture the mouse. false : Do not capture the mouse.
3748
3858
  */
3749
3859
  captureMouseCursor?: boolean;
3750
3860
  /**
3751
- * Whether to bring the window to the front when calling the startScreenCaptureByWindowId method to share it:true: Bring the window to the front.false: (Default) Do not bring the window to the front.
3861
+ * Whether to bring the window to the front when calling the startScreenCaptureByWindowId method to share it: true : Bring the window to the front. false : (Default) Do not bring the window to the front.
3752
3862
  */
3753
3863
  windowFocus?: boolean;
3754
3864
  /**
@@ -3756,19 +3866,20 @@ export class ScreenCaptureParameters {
3756
3866
  */
3757
3867
  excludeWindowList?: any[];
3758
3868
  /**
3759
- * The number of windows to be excluded.On the Windows platform, the maximum value of this parameter is 24; if this value is exceeded, excluding the window fails.
3869
+ * The number of windows to be excluded. On the Windows platform, the maximum value of this parameter is 24; if this value is exceeded, excluding the window fails.
3760
3870
  */
3761
3871
  excludeWindowCount?: number;
3762
3872
  /**
3763
- * The width (px) of the border. The default value is 5, and the value range is (0, 50].This parameter only takes effect when highLighted is set to true.
3873
+ * The width (px) of the border. The default value is 5, and the value range is (0, 50]. This parameter only takes effect when highLighted is set to true.
3764
3874
  */
3765
3875
  highLightWidth?: number;
3766
3876
  /**
3767
- * On Windows platforms, the color of the border in ARGB format. The default value is 0xFF8CBF26.On macOS, COLOR_CLASS refers to NSColor.
3877
+ * On Windows platforms, the color of the border in ARGB format. The default value is 0xFF8CBF26.
3878
+ * On macOS, COLOR_CLASS refers to NSColor.
3768
3879
  */
3769
3880
  highLightColor?: number;
3770
3881
  /**
3771
- * Whether to place a border around the shared window or screen:true: Place a border.false: (Default) Do not place a border.When you share a part of a window or screen, the SDK places a border around the entire window or screen if you set this parameter to true.
3882
+ * Whether to place a border around the shared window or screen: true : Place a border. false : (Default) Do not place a border. When you share a part of a window or screen, the SDK places a border around the entire window or screen if you set this parameter to true.
3772
3883
  */
3773
3884
  enableHighLight?: boolean;
3774
3885
  }
@@ -3836,15 +3947,19 @@ export enum AudioEncodedFrameObserverPosition {
3836
3947
  */
3837
3948
  export class AudioRecordingConfiguration {
3838
3949
  /**
3839
- * The absolute path (including the filename extensions) of the recording file. For example: C:\music\audio.mp4.Ensure that the directory for the log files exists and is writable.
3950
+ * The absolute path (including the filename extensions) of the recording file. For example: C:\music\audio.mp4. Ensure that the directory for the log files exists and is writable.
3840
3951
  */
3841
3952
  filePath?: string;
3842
3953
  /**
3843
- * Whether to encode the audio data:true: Encode audio data in AAC.false: (Default) Do not encode audio data, but save the recorded audio data directly.
3954
+ * Whether to encode the audio data: true : Encode audio data in AAC. false : (Default) Do not encode audio data, but save the recorded audio data directly.
3844
3955
  */
3845
3956
  encode?: boolean;
3846
3957
  /**
3847
- * Recording sample rate (Hz).16000(Default) 320004410048000If you set this parameter to 44100 or 48000, Agora recommends recording WAV files, or AAC files with quality set as AudioRecordingQualityMedium or AudioRecordingQualityHigh for better recording quality.
3958
+ * Recording sample rate (Hz).
3959
+ * 16000
3960
+ * (Default) 32000
3961
+ * 44100
3962
+ * 48000 If you set this parameter to 44100 or 48000, Agora recommends recording WAV files, or AAC files with quality set as AudioRecordingQualityMedium or AudioRecordingQualityHigh for better recording quality.
3848
3963
  */
3849
3964
  sampleRate?: number;
3850
3965
  /**
@@ -3852,11 +3967,15 @@ export class AudioRecordingConfiguration {
3852
3967
  */
3853
3968
  fileRecordingType?: AudioFileRecordingType;
3854
3969
  /**
3855
- * Recording quality. See AudioRecordingQualityType.Note: This parameter applies to AAC files only.
3970
+ * Recording quality. See AudioRecordingQualityType. Note: This parameter applies to AAC files only.
3856
3971
  */
3857
3972
  quality?: AudioRecordingQualityType;
3858
3973
  /**
3859
- * The audio channel of recording: The parameter supports the following values:1: (Default) Mono.2: Stereo.The actual recorded audio channel is related to the audio channel that you capture.If the captured audio is mono and recordingChannel is 2, the recorded audio is the dual-channel data that is copied from mono data, not stereo.If the captured audio is dual channel and recordingChannel is 1, the recorded audio is the mono data that is mixed by dual-channel data.The integration scheme also affects the final recorded audio channel. If you need to record in stereo, contact .
3974
+ * The audio channel of recording: The parameter supports the following values:
3975
+ * 1: (Default) Mono.
3976
+ * 2: Stereo. The actual recorded audio channel is related to the audio channel that you capture.
3977
+ * If the captured audio is mono and recordingChannel is 2, the recorded audio is the dual-channel data that is copied from mono data, not stereo.
3978
+ * If the captured audio is dual channel and recordingChannel is 1, the recorded audio is the mono data that is mixed by dual-channel data. The integration scheme also affects the final recorded audio channel. If you need to record in stereo, contact.
3860
3979
  */
3861
3980
  recordingChannel?: number;
3862
3981
  }
@@ -3882,7 +4001,7 @@ export interface IAudioEncodedFrameObserver {
3882
4001
  /**
3883
4002
  * Gets the encoded audio data of the local user.
3884
4003
  *
3885
- * After calling registerAudioEncodedFrameObserver and setting the encoded audio as AudioEncodedFrameObserverPositionRecord , you can get the encoded audio data of the local user from this callback.
4004
+ * After calling registerAudioEncodedFrameObserver and setting the encoded audio as AudioEncodedFrameObserverPositionRecord, you can get the encoded audio data of the local user from this callback.
3886
4005
  *
3887
4006
  * @param channels The number of channels.
3888
4007
  * 1: Mono.
@@ -3900,7 +4019,7 @@ export interface IAudioEncodedFrameObserver {
3900
4019
  /**
3901
4020
  * Gets the encoded audio data of all remote users.
3902
4021
  *
3903
- * After calling registerAudioEncodedFrameObserver and setting the encoded audio as AudioEncodedFrameObserverPositionPlayback , you can get encoded audio data of all remote users through this callback.
4022
+ * After calling registerAudioEncodedFrameObserver and setting the encoded audio as AudioEncodedFrameObserverPositionPlayback, you can get encoded audio data of all remote users through this callback.
3904
4023
  *
3905
4024
  * @param samplesPerSec Recording sample rate (Hz).
3906
4025
  * @param channels The number of channels.
@@ -3920,7 +4039,7 @@ export interface IAudioEncodedFrameObserver {
3920
4039
  /**
3921
4040
  * Gets the mixed and encoded audio data of the local and all remote users.
3922
4041
  *
3923
- * After calling registerAudioEncodedFrameObserver and setting the audio profile as AudioEncodedFrameObserverPositionMixed , you can get the mixed and encoded audio data of the local and all remote users through this callback.
4042
+ * After calling registerAudioEncodedFrameObserver and setting the audio profile as AudioEncodedFrameObserverPositionMixed, you can get the mixed and encoded audio data of the local and all remote users through this callback.
3924
4043
  *
3925
4044
  * @param samplesPerSec Recording sample rate (Hz).
3926
4045
  * @param channels The number of channels.
@@ -4019,7 +4138,7 @@ export enum ChannelMediaRelayError {
4019
4138
  */
4020
4139
  RelayErrorServerErrorResponse = 1,
4021
4140
  /**
4022
- * 2: No server response.You can call leaveChannel to leave the channel.This error can also occur if your project has not enabled co-host token authentication. You can to enable the service for cohosting across channels before starting a channel media relay.
4141
+ * 2: No server response. You can call leaveChannel to leave the channel. This error can also occur if your project has not enabled co-host token authentication. You can to enable the service for cohosting across channels before starting a channel media relay.
4023
4142
  */
4024
4143
  RelayErrorServerNoResponse = 2,
4025
4144
  /**
@@ -4175,15 +4294,19 @@ export class ChannelMediaInfo {
4175
4294
  */
4176
4295
  export class ChannelMediaRelayConfiguration {
4177
4296
  /**
4178
- * The information of the source channel. See ChannelMediaInfo. It contains the following members:channelName: The name of the source channel. The default value is NULL, which means the SDK applies the name of the current channel.token: The token for joining the source channel. This token is generated with the channelName and uid you set in srcInfo.If you have not enabled the App Certificate, set this parameter as the default value NULL, which means the SDK applies the App ID.If you have enabled the App Certificate, you must use the token generated with the channelName and uid, and the uid must be set as 0.uid: The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged.
4297
+ * The information of the source channel. See ChannelMediaInfo. It contains the following members: channelName : The name of the source channel. The default value is NULL, which means the SDK applies the name of the current channel. token : The token for joining the source channel. This token is generated with the channelName and uid you set in srcInfo.
4298
+ * If you have not enabled the App Certificate, set this parameter as the default value NULL, which means the SDK applies the App ID.
4299
+ * If you have enabled the App Certificate, you must use the token generated with the channelName and uid, and the uid must be set as 0. uid : The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged.
4179
4300
  */
4180
4301
  srcInfo?: ChannelMediaInfo;
4181
4302
  /**
4182
- * The information of the target channel ChannelMediaInfo. It contains the following members:channelName: The name of the target channel.token: The token for joining the target channel. It is generated with the channelName and uid you set in destInfos.If you have not enabled the App Certificate, set this parameter as the default value NULL, which means the SDK applies the App ID.If you have enabled the App Certificate, you must use the token generated with the channelName and uid.If the token of any target channel expires, the whole media relay stops; hence Agora recommends that you specify the same expiration time for the tokens of all the target channels.uid: The unique user ID to identify the relay stream in the target channel. The value ranges from 0 to (2 32-1). To avoid user ID conflicts, this user ID must be different from any other user ID in the target channel. The default value is 0, which means the SDK generates a random user ID.
4303
+ * The information of the target channel ChannelMediaInfo. It contains the following members: channelName : The name of the target channel. token : The token for joining the target channel. It is generated with the channelName and uid you set in destInfos.
4304
+ * If you have not enabled the App Certificate, set this parameter as the default value NULL, which means the SDK applies the App ID.
4305
+ * If you have enabled the App Certificate, you must use the token generated with the channelName and uid. If the token of any target channel expires, the whole media relay stops; hence Agora recommends that you specify the same expiration time for the tokens of all the target channels. uid : The unique user ID to identify the relay stream in the target channel. The value ranges from 0 to (2 32 -1). To avoid user ID conflicts, this user ID must be different from any other user ID in the target channel. The default value is 0, which means the SDK generates a random user ID.
4183
4306
  */
4184
4307
  destInfos?: ChannelMediaInfo[];
4185
4308
  /**
4186
- * The number of target channels. The default value is 0, and the value range is from 0 to 4. Ensure that the value of this parameter corresponds to the number of ChannelMediaInfo structs you define in destInfo.
4309
+ * The number of target channels. The default value is 0, and the value range is from 0 to 6. Ensure that the value of this parameter corresponds to the number of ChannelMediaInfo structs you define in destInfo.
4187
4310
  */
4188
4311
  destCount?: number;
4189
4312
  }
@@ -4299,7 +4422,7 @@ export class EncryptionConfig {
4299
4422
  */
4300
4423
  encryptionMode?: EncryptionMode;
4301
4424
  /**
4302
- * Encryption key in string type with unlimited length. Agora recommends using a 32-byte key.If you do not set an encryption key or set it as NULL, you cannot use the built-in encryption, and the SDK returns -2.
4425
+ * Encryption key in string type with unlimited length. Agora recommends using a 32-byte key. If you do not set an encryption key or set it as NULL, you cannot use the built-in encryption, and the SDK returns -2.
4303
4426
  */
4304
4427
  encryptionKey?: string;
4305
4428
  /**
@@ -4381,7 +4504,15 @@ export enum StreamSubscribeState {
4381
4504
  */
4382
4505
  SubStateIdle = 0,
4383
4506
  /**
4384
- * 1: Fails to subscribe to the remote stream. Possible reasons:The remote user:Calls muteLocalAudioStream(true) or muteLocalVideoStream(true) to stop sending local media stream.Calls disableAudio or disableVideo to disable the local audio or video module.Calls enableLocalAudio(false) or enableLocalVideo(false) to disable local audio or video capture.The role of the remote user is audience.The local user calls the following methods to stop receiving remote streams:Call muteRemoteAudioStream(true) or muteAllRemoteAudioStreams(true) to stop receiving the remote audio stream.Call muteRemoteVideoStream(true) or muteAllRemoteVideoStreams(true) to stop receiving the remote video stream.
4507
+ * 1: Fails to subscribe to the remote stream. Possible reasons:
4508
+ * The remote user:
4509
+ * Calls muteLocalAudioStream (true) or muteLocalVideoStream (true) to stop sending local media stream.
4510
+ * Calls disableAudio or disableVideo to disable the local audio or video module.
4511
+ * Calls enableLocalAudio (false) or enableLocalVideo (false) to disable local audio or video capture.
4512
+ * The role of the remote user is audience.
4513
+ * The local user calls the following methods to stop receiving remote streams:
4514
+ * Call muteRemoteAudioStream (true) or muteAllRemoteAudioStreams (true) to stop receiving the remote audio stream.
4515
+ * Call muteRemoteVideoStream (true) or muteAllRemoteVideoStreams (true) to stop receiving the remote video stream.
4385
4516
  */
4386
4517
  SubStateNoSubscribed = 1,
4387
4518
  /**
@@ -4403,7 +4534,11 @@ export enum StreamPublishState {
4403
4534
  */
4404
4535
  PubStateIdle = 0,
4405
4536
  /**
4406
- * 1: Fails to publish the local stream. Possible reasons:The local user calls muteLocalAudioStream(true) or muteLocalVideoStream(true) to stop sending local media streams.The local user calls disableAudio or disableVideo to disable the local audio or video module.The local user calls enableLocalAudio(false) or enableLocalVideo(false) to disable the local audio or video capture.The role of the local user is audience.
4537
+ * 1: Fails to publish the local stream. Possible reasons:
4538
+ * The local user calls muteLocalAudioStream (true) or muteLocalVideoStream (true) to stop sending local media streams.
4539
+ * The local user calls disableAudio or disableVideo to disable the local audio or video module.
4540
+ * The local user calls enableLocalAudio (false) or enableLocalVideo (false) to disable the local audio or video capture.
4541
+ * The role of the local user is audience.
4407
4542
  */
4408
4543
  PubStateNoPublished = 1,
4409
4544
  /**
@@ -4425,15 +4560,15 @@ export class EchoTestConfiguration {
4425
4560
  */
4426
4561
  view?: any;
4427
4562
  /**
4428
- * Whether to enable the audio device for the loop test:true: (Default) Enable the audio device. To test the audio device, set this parameter as true.false: Disable the audio device.
4563
+ * Whether to enable the audio device for the loop test: true : (Default) Enable the audio device. To test the audio device, set this parameter as true. false : Disable the audio device.
4429
4564
  */
4430
4565
  enableAudio?: boolean;
4431
4566
  /**
4432
- * Whether to enable the video device for the loop test:true: (Default) Enable the video device. To test the video device, set this parameter as true.false: Disable the video device.
4567
+ * Whether to enable the video device for the loop test: true : (Default) Enable the video device. To test the video device, set this parameter as true. false : Disable the video device.
4433
4568
  */
4434
4569
  enableVideo?: boolean;
4435
4570
  /**
4436
- * The token used to secure the audio and video call loop test. If you do not enable App Certificate in Agora Console, you do not need to pass a value in this parameter; if you have enabled App Certificate in Agora Console, you must pass a token in this parameter; the uid used when you generate the token must be 0xFFFFFFFF, and the channel name used must be the channel name that identifies each audio and video call loop tested. For server-side token generation, see .
4571
+ * The token used to secure the audio and video call loop test. If you do not enable App Certificate in Agora Console, you do not need to pass a value in this parameter; if you have enabled App Certificate in Agora Console, you must pass a token in this parameter; the uid used when you generate the token must be 0xFFFFFFFF, and the channel name used must be the channel name that identifies each audio and video call loop tested. For server-side token generation, see.
4437
4572
  */
4438
4573
  token?: string;
4439
4574
  /**
@@ -4533,7 +4668,7 @@ export class ScreenVideoParameters {
4533
4668
  /**
4534
4669
  * The audio configuration for the shared screen stream.
4535
4670
  *
4536
- * Only available where captureAudio is true .
4671
+ * Only available where captureAudio is true.
4537
4672
  */
4538
4673
  export class ScreenAudioParameters {
4539
4674
  /**
@@ -4573,7 +4708,7 @@ export class ScreenCaptureParameters2 {
4573
4708
  }
4574
4709
 
4575
4710
  /**
4576
- * The rendering state of the media frame.`
4711
+ * The rendering state of the media frame.
4577
4712
  */
4578
4713
  export enum MediaTraceEvent {
4579
4714
  /**
@@ -4603,19 +4738,31 @@ export class VideoRenderingTracingInfo {
4603
4738
  */
4604
4739
  join2JoinSuccess?: number;
4605
4740
  /**
4606
- * If the local user calls startMediaRenderingTracing before successfully joining the channel, this value is the time interval from the local user successfully joining the channel to the remote user joining the channel. The unit is milliseconds.If the local user calls startMediaRenderingTracing after successfully joining the channel, the value is the time interval from calling startMediaRenderingTracing to when the remote user joins the channel. The unit is milliseconds.If the local user calls startMediaRenderingTracing after the remote user joins the channel, the value is 0 and meaningless.In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user joins the channel when the remote user is in the channel to reduce this value.
4741
+ * If the local user calls startMediaRenderingTracing before successfully joining the channel, this value is the time interval from the local user successfully joining the channel to the remote user joining the channel. The unit is milliseconds.
4742
+ * If the local user calls startMediaRenderingTracing after successfully joining the channel, the value is the time interval from calling startMediaRenderingTracing to when the remote user joins the channel. The unit is milliseconds.
4743
+ * If the local user calls startMediaRenderingTracing after the remote user joins the channel, the value is 0 and meaningless.
4744
+ * In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user joins the channel when the remote user is in the channel to reduce this value.
4607
4745
  */
4608
4746
  joinSuccess2RemoteJoined?: number;
4609
4747
  /**
4610
- * If the local user calls startMediaRenderingTracing before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user sets the remote view. The unit is milliseconds.If the local user calls startMediaRenderingTracing after the remote user joins the channel, this value is the time interval from calling startMediaRenderingTracing to setting the remote view. The unit is milliseconds.If the local user calls startMediaRenderingTracing after setting the remote view, the value is 0 and has no effect.In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user sets the remote view before the remote user joins the channel, or sets the remote view immediately after the remote user joins the channel to reduce this value.
4748
+ * If the local user calls startMediaRenderingTracing before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user sets the remote view. The unit is milliseconds.
4749
+ * If the local user calls startMediaRenderingTracing after the remote user joins the channel, this value is the time interval from calling startMediaRenderingTracing to setting the remote view. The unit is milliseconds.
4750
+ * If the local user calls startMediaRenderingTracing after setting the remote view, the value is 0 and has no effect.
4751
+ * In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user sets the remote view before the remote user joins the channel, or sets the remote view immediately after the remote user joins the channel to reduce this value.
4611
4752
  */
4612
4753
  remoteJoined2SetView?: number;
4613
4754
  /**
4614
- * If the local user calls startMediaRenderingTracing before the remote user joins the channel, this value is the time interval from the remote user joining the channel to subscribing to the remote video stream. The unit is milliseconds.If the local user calls startMediaRenderingTracing after the remote user joins the channel, this value is the time interval from calling startMediaRenderingTracing to subscribing to the remote video stream. The unit is milliseconds.If the local user calls startMediaRenderingTracing after subscribing to the remote video stream, the value is 0 and has no effect.In order to reduce the time of rendering the first frame for remote users, Agora recommends that after the remote user joins the channel, the local user immediately subscribes to the remote video stream to reduce this value.
4755
+ * If the local user calls startMediaRenderingTracing before the remote user joins the channel, this value is the time interval from the remote user joining the channel to subscribing to the remote video stream. The unit is milliseconds.
4756
+ * If the local user calls startMediaRenderingTracing after the remote user joins the channel, this value is the time interval from calling startMediaRenderingTracing to subscribing to the remote video stream. The unit is milliseconds.
4757
+ * If the local user calls startMediaRenderingTracing after subscribing to the remote video stream, the value is 0 and has no effect.
4758
+ * In order to reduce the time of rendering the first frame for remote users, Agora recommends that after the remote user joins the channel, the local user immediately subscribes to the remote video stream to reduce this value.
4615
4759
  */
4616
4760
  remoteJoined2UnmuteVideo?: number;
4617
4761
  /**
4618
- * If the local user calls startMediaRenderingTracing before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user receives the remote video stream. The unit is milliseconds.If the local user calls startMediaRenderingTracing after the remote user joins the channel, this value is the time interval from calling startMediaRenderingTracing to receiving the remote video stream. The unit is milliseconds.If the local user calls startMediaRenderingTracing after receiving the remote video stream, the value is 0 and has no effect.In order to reduce the time of rendering the first frame for remote users, Agora recommends that the remote user publishes video streams immediately after joining the channel, and the local user immediately subscribes to remote video streams to reduce this value.
4762
+ * If the local user calls startMediaRenderingTracing before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user receives the remote video stream. The unit is milliseconds.
4763
+ * If the local user calls startMediaRenderingTracing after the remote user joins the channel, this value is the time interval from calling startMediaRenderingTracing to receiving the remote video stream. The unit is milliseconds.
4764
+ * If the local user calls startMediaRenderingTracing after receiving the remote video stream, the value is 0 and has no effect.
4765
+ * In order to reduce the time of rendering the first frame for remote users, Agora recommends that the remote user publishes video streams immediately after joining the channel, and the local user immediately subscribes to remote video streams to reduce this value.
4619
4766
  */
4620
4767
  remoteJoined2PacketReceived?: number;
4621
4768
  }
@@ -4733,11 +4880,19 @@ export class LocalAccessPointConfiguration {
4733
4880
  */
4734
4881
  export class SpatialAudioParams {
4735
4882
  /**
4736
- * The azimuth angle of the remote user or media player relative to the local user. The value range is [0,360], and the unit is degrees, The values are as follows:0: (Default) 0 degrees, which means directly in front on the horizontal plane.90: 90 degrees, which means directly to the left on the horizontal plane.180: 180 degrees, which means directly behind on the horizontal plane.270: 270 degrees, which means directly to the right on the horizontal plane.360: 360 degrees, which means directly in front on the horizontal plane.
4883
+ * The azimuth angle of the remote user or media player relative to the local user. The value range is [0,360], and the unit is degrees, The values are as follows:
4884
+ * 0: (Default) 0 degrees, which means directly in front on the horizontal plane.
4885
+ * 90: 90 degrees, which means directly to the left on the horizontal plane.
4886
+ * 180: 180 degrees, which means directly behind on the horizontal plane.
4887
+ * 270: 270 degrees, which means directly to the right on the horizontal plane.
4888
+ * 360: 360 degrees, which means directly in front on the horizontal plane.
4737
4889
  */
4738
4890
  speaker_azimuth?: number;
4739
4891
  /**
4740
- * The elevation angle of the remote user or media player relative to the local user. The value range is [-90,90], and the unit is degrees, The values are as follows:0: (Default) 0 degrees, which means that the horizontal plane is not rotated.-90: -90 degrees, which means that the horizontal plane is rotated 90 degrees downwards.90: 90 degrees, which means that the horizontal plane is rotated 90 degrees upwards.
4892
+ * The elevation angle of the remote user or media player relative to the local user. The value range is [-90,90], and the unit is degrees, The values are as follows:
4893
+ * 0: (Default) 0 degrees, which means that the horizontal plane is not rotated.
4894
+ * -90: -90 degrees, which means that the horizontal plane is rotated 90 degrees downwards.
4895
+ * 90: 90 degrees, which means that the horizontal plane is rotated 90 degrees upwards.
4741
4896
  */
4742
4897
  speaker_elevation?: number;
4743
4898
  /**
@@ -4745,23 +4900,31 @@ export class SpatialAudioParams {
4745
4900
  */
4746
4901
  speaker_distance?: number;
4747
4902
  /**
4748
- * The orientation of the remote user or media player relative to the local user. The value range is [0,180], and the unit is degrees, The values are as follows:0: (Default) 0 degrees, which means that the sound source and listener face the same direction.180: 180 degrees, which means that the sound source and listener face each other.
4903
+ * The orientation of the remote user or media player relative to the local user. The value range is [0,180], and the unit is degrees, The values are as follows:
4904
+ * 0: (Default) 0 degrees, which means that the sound source and listener face the same direction.
4905
+ * 180: 180 degrees, which means that the sound source and listener face each other.
4749
4906
  */
4750
4907
  speaker_orientation?: number;
4751
4908
  /**
4752
- * Whether to enable audio blurring:true: Enable audio blurring.false: (Default) Disable audio blurring.
4909
+ * Whether to enable audio blurring: true : Enable audio blurring. false : (Default) Disable audio blurring.
4753
4910
  */
4754
4911
  enable_blur?: boolean;
4755
4912
  /**
4756
- * Whether to enable air absorption, that is, to simulate the sound attenuation effect of sound transmitting in the air; under a certain transmission distance, the attenuation speed of high-frequency sound is fast, and the attenuation speed of low-frequency sound is slow.true: (Default) Enable air absorption. Make sure that the value of speaker_attenuation is not 0; otherwise, this setting does not take effect.false: Disable air absorption.
4913
+ * Whether to enable air absorption, that is, to simulate the sound attenuation effect of sound transmitting in the air; under a certain transmission distance, the attenuation speed of high-frequency sound is fast, and the attenuation speed of low-frequency sound is slow. true : (Default) Enable air absorption. Make sure that the value of speaker_attenuation is not 0; otherwise, this setting does not take effect. false : Disable air absorption.
4757
4914
  */
4758
4915
  enable_air_absorb?: boolean;
4759
4916
  /**
4760
- * The sound attenuation coefficient of the remote user or media player. The value range is [0,1]. The values are as follows:0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.(0,0.5): Weak attenuation mode, where the volume and timbre only have a weak attenuation during the propagation, and the sound can travel farther than that in a real environment. enable_air_absorb needs to be enabled at the same time. 0.5: (Default) Simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the speaker_attenuation parameter.(0.5,1]: Strong attenuation mode, where volume and timbre attenuate rapidly during the propagation. enable_air_absorb needs to be enabled at the same time.
4917
+ * The sound attenuation coefficient of the remote user or media player. The value range is [0,1]. The values are as follows:
4918
+ * 0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.
4919
+ * (0,0.5): Weak attenuation mode, where the volume and timbre only have a weak attenuation during the propagation, and the sound can travel farther than that in a real environment. enable_air_absorb needs to be enabled at the same time.
4920
+ * 0.5: (Default) Simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the speaker_attenuation parameter.
4921
+ * (0.5,1]: Strong attenuation mode, where volume and timbre attenuate rapidly during the propagation. enable_air_absorb needs to be enabled at the same time.
4761
4922
  */
4762
4923
  speaker_attenuation?: number;
4763
4924
  /**
4764
- * Whether to enable the Doppler effect: When there is a relative displacement between the sound source and the receiver of the sound source, the tone heard by the receiver changes.true: Enable the Doppler effect.false: (Default) Disable the Doppler effect.This parameter is suitable for scenarios where the sound source is moving at high speed (for example, racing games). It is not recommended for common audio and video interactive scenarios (for example, voice chat, cohosting, or online KTV).When this parameter is enabled, Agora recommends that you set a regular period (such as 30 ms), and then call the updatePlayerPositionInfo, updateSelfPosition, and updateRemotePosition methods to continuously update the relative distance between the sound source and the receiver. The following factors can cause the Doppler effect to be unpredictable or the sound to be jittery: the period of updating the distance is too long, the updating period is irregular, or the distance information is lost due to network packet loss or delay.
4925
+ * Whether to enable the Doppler effect: When there is a relative displacement between the sound source and the receiver of the sound source, the tone heard by the receiver changes. true : Enable the Doppler effect. false : (Default) Disable the Doppler effect.
4926
+ * This parameter is suitable for scenarios where the sound source is moving at high speed (for example, racing games). It is not recommended for common audio and video interactive scenarios (for example, voice chat, cohosting, or online KTV).
4927
+ * When this parameter is enabled, Agora recommends that you set a regular period (such as 30 ms), and then call the updatePlayerPositionInfo, updateSelfPosition, and updateRemotePosition methods to continuously update the relative distance between the sound source and the receiver. The following factors can cause the Doppler effect to be unpredictable or the sound to be jittery: the period of updating the distance is too long, the updating period is irregular, or the distance information is lost due to network packet loss or delay.
4765
4928
  */
4766
4929
  enable_doppler?: boolean;
4767
4930
  }