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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/js/Private/AgoraBase.js +123 -53
  3. package/js/Private/AgoraMediaBase.js +9 -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 +9 -7
  9. package/js/Private/internal/MusicContentCenterInternal.js +3 -0
  10. package/js/Private/internal/RtcEngineExInternal.js +24 -7
  11. package/js/Private/ti/IAgoraRtcEngine-ti.js +2 -2
  12. package/js/Renderer/WebGLRenderer/index.js +19 -19
  13. package/js/Renderer/YUVCanvasRenderer/index.js +1 -1
  14. package/package.json +3 -3
  15. package/scripts/zipBuild.js +3 -1
  16. package/ts/Private/AgoraBase.ts +280 -133
  17. package/ts/Private/AgoraMediaBase.ts +52 -34
  18. package/ts/Private/AgoraMediaPlayerTypes.ts +8 -5
  19. package/ts/Private/IAgoraLog.ts +7 -3
  20. package/ts/Private/IAgoraMediaEngine.ts +76 -35
  21. package/ts/Private/IAgoraMediaPlayer.ts +126 -64
  22. package/ts/Private/IAgoraMediaPlayerSource.ts +3 -1
  23. package/ts/Private/IAgoraRtcEngine.ts +1317 -527
  24. package/ts/Private/IAgoraRtcEngineEx.ts +227 -94
  25. package/ts/Private/IAgoraSpatialAudio.ts +71 -36
  26. package/ts/Private/IAudioDeviceManager.ts +61 -31
  27. package/ts/Private/impl/IAgoraMediaEngineImpl.ts +12 -6
  28. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +11 -11
  29. package/ts/Private/internal/MusicContentCenterInternal.ts +4 -0
  30. package/ts/Private/internal/RtcEngineExInternal.ts +36 -14
  31. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +2 -2
  32. package/ts/Renderer/WebGLRenderer/index.ts +26 -21
  33. package/ts/Renderer/YUVCanvasRenderer/index.ts +1 -1
  34. package/types/Private/AgoraBase.d.ts +280 -133
  35. package/types/Private/AgoraBase.d.ts.map +1 -1
  36. package/types/Private/AgoraMediaBase.d.ts +52 -34
  37. package/types/Private/AgoraMediaBase.d.ts.map +1 -1
  38. package/types/Private/AgoraMediaPlayerTypes.d.ts +8 -5
  39. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -1
  40. package/types/Private/IAgoraLog.d.ts +7 -3
  41. package/types/Private/IAgoraLog.d.ts.map +1 -1
  42. package/types/Private/IAgoraMediaEngine.d.ts +76 -35
  43. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -1
  44. package/types/Private/IAgoraMediaPlayer.d.ts +126 -64
  45. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
  46. package/types/Private/IAgoraMediaPlayerSource.d.ts +3 -1
  47. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -1
  48. package/types/Private/IAgoraRtcEngine.d.ts +1318 -527
  49. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
  50. package/types/Private/IAgoraRtcEngineEx.d.ts +227 -94
  51. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
  52. package/types/Private/IAgoraSpatialAudio.d.ts +71 -36
  53. package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -1
  54. package/types/Private/IAudioDeviceManager.d.ts +61 -31
  55. package/types/Private/IAudioDeviceManager.d.ts.map +1 -1
  56. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +2 -2
  57. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -1
  58. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +5 -5
  59. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
  60. package/types/Private/internal/MusicContentCenterInternal.d.ts +1 -0
  61. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
  62. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  63. package/types/Renderer/WebGLRenderer/index.d.ts +1 -1
  64. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
 
2
2
 
3
+ ## [4.2.2](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.1...v4.2.2) (2023-08-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * CSD-57615 render mode not working on software renderer ([1097ebc](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/1097ebcdf21cb6f5c66821174e8f46ec470976db))
9
+ * CSD-57699 removeEventListener `webglcontextlost` while unbind ([2a280c8](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/2a280c87242fe3abecb61bc23ffb0996029d6fec))
10
+
11
+
12
+ ### Features
13
+
14
+ * support native 4.2.2 ([#1033](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1033)) ([f151e69](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/f151e69abf22286eb5fbec3bcee8f703188c7515))
15
+
16
+ ## [4.2.1](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.0...v4.2.1) (2023-06-30)
17
+
18
+
19
+ ### Features
20
+
21
+ * support native 4.2.1 ([#1029](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1029)) ([31ca560](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/31ca560bcd6434c4d3badad1b2e8d40eaae8be36))
22
+
3
23
  # [4.2.0](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.0-rc.6...v4.2.0) (2023-05-26)
4
24
 
5
25
  # [4.2.0-rc.6](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.1.1-rc.1...v4.2.0-rc.6) (2023-05-25)
@@ -181,15 +181,24 @@ var ErrorCodeType;
181
181
  */
182
182
  ErrorCodeType[ErrorCodeType["ErrInvalidArgument"] = 2] = "ErrInvalidArgument";
183
183
  /**
184
- * 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.
184
+ * 3: The SDK is not ready. Possible reasons include the following:
185
+ * The initialization of IRtcEngine fails. Reinitialize the IRtcEngine.
186
+ * No user has joined the channel when the method is called. Check the code logic.
187
+ * The user has not left the channel when the rate or complain method is called. Check the code logic.
188
+ * The audio module is disabled.
189
+ * The program is not complete.
185
190
  */
186
191
  ErrorCodeType[ErrorCodeType["ErrNotReady"] = 3] = "ErrNotReady";
187
192
  /**
188
- * 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.
193
+ * 4: The IRtcEngine does not support the request. Possible reasons include the following:
194
+ * 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.
189
195
  */
190
196
  ErrorCodeType[ErrorCodeType["ErrNotSupported"] = 4] = "ErrNotSupported";
191
197
  /**
192
- * 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.
198
+ * 5: The request is rejected. Possible reasons include the following:
199
+ * The IRtcEngine initialization fails. Reinitialize the IRtcEngine.
200
+ * The channel name is set as the empty string "" when joining the channel. Reset the channel name.
201
+ * When the joinChannelEx method is called to join multiple channels, the specified channel name is already in use. Reset the channel name.
193
202
  */
194
203
  ErrorCodeType[ErrorCodeType["ErrRefused"] = 5] = "ErrRefused";
195
204
  /**
@@ -229,11 +238,15 @@ var ErrorCodeType;
229
238
  */
230
239
  ErrorCodeType[ErrorCodeType["ErrNetDown"] = 14] = "ErrNetDown";
231
240
  /**
232
- * 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.
241
+ * 17: The request to join the channel is rejected. Possible reasons include the following:
242
+ * 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.
243
+ * 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.
233
244
  */
234
245
  ErrorCodeType[ErrorCodeType["ErrJoinChannelRejected"] = 17] = "ErrJoinChannelRejected";
235
246
  /**
236
- * 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.
247
+ * 18: Fails to leave the channel. Possible reasons include the following:
248
+ * The user has left the channel before calling the leaveChannel method. Stop calling this method to clear this error.
249
+ * The user calls the leaveChannel method to leave the channel before joining the channel. In this case, no extra operation is needed.
237
250
  */
238
251
  ErrorCodeType[ErrorCodeType["ErrLeaveChannelRejected"] = 18] = "ErrLeaveChannelRejected";
239
252
  /**
@@ -265,11 +278,13 @@ var ErrorCodeType;
265
278
  */
266
279
  ErrorCodeType[ErrorCodeType["ErrNoServerResources"] = 103] = "ErrNoServerResources";
267
280
  /**
268
- * 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.
281
+ * 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.
269
282
  */
270
283
  ErrorCodeType[ErrorCodeType["ErrTokenExpired"] = 109] = "ErrTokenExpired";
271
284
  /**
272
- * 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.
285
+ * 110: Invalid token. Typical reasons include the following:
286
+ * 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.
287
+ * 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.
273
288
  */
274
289
  ErrorCodeType[ErrorCodeType["ErrInvalidToken"] = 110] = "ErrInvalidToken";
275
290
  /**
@@ -495,7 +510,7 @@ var UserOfflineReasonType;
495
510
  */
496
511
  UserOfflineReasonType[UserOfflineReasonType["UserOfflineQuit"] = 0] = "UserOfflineQuit";
497
512
  /**
498
- * 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.
513
+ * 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.
499
514
  */
500
515
  UserOfflineReasonType[UserOfflineReasonType["UserOfflineDropped"] = 1] = "UserOfflineDropped";
501
516
  /**
@@ -537,7 +552,7 @@ var InterfaceIdType;
537
552
  */
538
553
  InterfaceIdType[InterfaceIdType["AgoraIidRtcConnection"] = 7] = "AgoraIidRtcConnection";
539
554
  /**
540
- * This interface class is deprecated.
555
+ * @ignore
541
556
  */
542
557
  InterfaceIdType[InterfaceIdType["AgoraIidSignalingEngine"] = 8] = "AgoraIidSignalingEngine";
543
558
  /**
@@ -737,7 +752,9 @@ var VideoFrameType;
737
752
  var OrientationMode;
738
753
  (function (OrientationMode) {
739
754
  /**
740
- * 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.
755
+ * 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.
756
+ * If the captured video is in landscape mode, the output video is in landscape mode.
757
+ * If the captured video is in portrait mode, the output video is in portrait mode.
741
758
  */
742
759
  OrientationMode[OrientationMode["OrientationModeAdaptive"] = 0] = "OrientationModeAdaptive";
743
760
  /**
@@ -763,7 +780,7 @@ var DegradationPreference;
763
780
  */
764
781
  DegradationPreference[DegradationPreference["MaintainFramerate"] = 1] = "MaintainFramerate";
765
782
  /**
766
- * 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.
783
+ * 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.
767
784
  */
768
785
  DegradationPreference[DegradationPreference["MaintainBalanced"] = 2] = "MaintainBalanced";
769
786
  /**
@@ -850,7 +867,7 @@ var VideoCodecType;
850
867
  */
851
868
  VideoCodecType[VideoCodecType["VideoCodecH265"] = 3] = "VideoCodecH265";
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
  VideoCodecType[VideoCodecType["VideoCodecGeneric"] = 6] = "VideoCodecGeneric";
856
873
  /**
@@ -866,7 +883,7 @@ var VideoCodecType;
866
883
  */
867
884
  VideoCodecType[VideoCodecType["VideoCodecVp9"] = 13] = "VideoCodecVp9";
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
  VideoCodecType[VideoCodecType["VideoCodecGenericJpeg"] = 20] = "VideoCodecGenericJpeg";
872
889
  })(VideoCodecType = exports.VideoCodecType || (exports.VideoCodecType = {}));
@@ -1119,7 +1136,9 @@ exports.AdvanceOptions = AdvanceOptions;
1119
1136
  var VideoMirrorModeType;
1120
1137
  (function (VideoMirrorModeType) {
1121
1138
  /**
1122
- * 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.
1139
+ * 0: The SDK determines the mirror mode.
1140
+ * 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.
1141
+ * For the remote user: The mirror mode is disabled by default.
1123
1142
  */
1124
1143
  VideoMirrorModeType[VideoMirrorModeType["VideoMirrorModeAuto"] = 0] = "VideoMirrorModeAuto";
1125
1144
  /**
@@ -1158,7 +1177,7 @@ var CodecCapMask;
1158
1177
  CodecCapMask[CodecCapMask["CodecCapMaskSwEnc"] = 8] = "CodecCapMaskSwEnc";
1159
1178
  })(CodecCapMask = exports.CodecCapMask || (exports.CodecCapMask = {}));
1160
1179
  /**
1161
- * @ignore
1180
+ * The level of the codec capability.
1162
1181
  */
1163
1182
  var CodecCapLevels = /** @class */ (function () {
1164
1183
  function CodecCapLevels() {
@@ -1234,7 +1253,9 @@ exports.Rectangle = Rectangle;
1234
1253
  /**
1235
1254
  * The position and size of the watermark on the screen.
1236
1255
  *
1237
- * 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.
1256
+ * The position and size of the watermark on the screen are determined by xRatio, yRatio, and widthRatio :
1257
+ * (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.
1258
+ * The widthRatio determines the width of the watermark.
1238
1259
  */
1239
1260
  var WatermarkRatio = /** @class */ (function () {
1240
1261
  function WatermarkRatio() {
@@ -1379,7 +1400,10 @@ var AudioAinsMode;
1379
1400
  var AudioProfileType;
1380
1401
  (function (AudioProfileType) {
1381
1402
  /**
1382
- * 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.
1403
+ * 0: The default audio profile.
1404
+ * For the interactive streaming profile: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
1405
+ * For the communication profile:
1406
+ * 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.
1383
1407
  */
1384
1408
  AudioProfileType[AudioProfileType["AudioProfileDefault"] = 0] = "AudioProfileDefault";
1385
1409
  /**
@@ -1391,7 +1415,7 @@ var AudioProfileType;
1391
1415
  */
1392
1416
  AudioProfileType[AudioProfileType["AudioProfileMusicStandard"] = 2] = "AudioProfileMusicStandard";
1393
1417
  /**
1394
- * 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.
1418
+ * 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.
1395
1419
  */
1396
1420
  AudioProfileType[AudioProfileType["AudioProfileMusicStandardStereo"] = 3] = "AudioProfileMusicStandardStereo";
1397
1421
  /**
@@ -1399,7 +1423,7 @@ var AudioProfileType;
1399
1423
  */
1400
1424
  AudioProfileType[AudioProfileType["AudioProfileMusicHighQuality"] = 4] = "AudioProfileMusicHighQuality";
1401
1425
  /**
1402
- * 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.
1426
+ * 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.
1403
1427
  */
1404
1428
  AudioProfileType[AudioProfileType["AudioProfileMusicHighQualityStereo"] = 5] = "AudioProfileMusicHighQualityStereo";
1405
1429
  /**
@@ -1500,7 +1524,20 @@ var VideoApplicationScenarioType;
1500
1524
  */
1501
1525
  VideoApplicationScenarioType[VideoApplicationScenarioType["ApplicationScenarioGeneral"] = 0] = "ApplicationScenarioGeneral";
1502
1526
  /**
1503
- * 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.
1527
+ * If set to ApplicationScenarioMeeting (1), the SDK automatically enables the following strategies:
1528
+ * 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.
1529
+ * 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.
1530
+ * If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
1531
+ * 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:
1532
+ * Resolution: 1280 × 720
1533
+ * Frame rate: 15 fps
1534
+ * Bitrate: 1600 Kbps
1535
+ * 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.
1536
+ * If nobody subscribes to the low-quality stream, the SDK automatically disables it to save upstream bandwidth.
1537
+ * 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:
1538
+ * Resolution: 480 × 272
1539
+ * Frame rate: 15 fps
1540
+ * Bitrate: 500 Kbps 1: The meeting scenario.
1504
1541
  */
1505
1542
  VideoApplicationScenarioType[VideoApplicationScenarioType["ApplicationScenarioMeeting"] = 1] = "ApplicationScenarioMeeting";
1506
1543
  })(VideoApplicationScenarioType = exports.VideoApplicationScenarioType || (exports.VideoApplicationScenarioType = {}));
@@ -1562,7 +1599,7 @@ var LocalAudioStreamError;
1562
1599
  */
1563
1600
  LocalAudioStreamError[LocalAudioStreamError["LocalAudioStreamErrorFailure"] = 1] = "LocalAudioStreamErrorFailure";
1564
1601
  /**
1565
- * 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.
1602
+ * 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.
1566
1603
  */
1567
1604
  LocalAudioStreamError[LocalAudioStreamError["LocalAudioStreamErrorDeviceNoPermission"] = 2] = "LocalAudioStreamErrorDeviceNoPermission";
1568
1605
  /**
@@ -1634,7 +1671,7 @@ var LocalVideoStreamError;
1634
1671
  */
1635
1672
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorFailure"] = 1] = "LocalVideoStreamErrorFailure";
1636
1673
  /**
1637
- * 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.
1674
+ * 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.
1638
1675
  */
1639
1676
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceNoPermission"] = 2] = "LocalVideoStreamErrorDeviceNoPermission";
1640
1677
  /**
@@ -1662,7 +1699,7 @@ var LocalVideoStreamError;
1662
1699
  */
1663
1700
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceNotFound"] = 8] = "LocalVideoStreamErrorDeviceNotFound";
1664
1701
  /**
1665
- * 9:(For macOS only) The video capture device currently in use is disconnected (such as being unplugged).
1702
+ * 9: (For macOS only) The video capture device currently in use is disconnected (such as being unplugged).
1666
1703
  */
1667
1704
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceDisconnected"] = 9] = "LocalVideoStreamErrorDeviceDisconnected";
1668
1705
  /**
@@ -1678,7 +1715,10 @@ var LocalVideoStreamError;
1678
1715
  */
1679
1716
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorScreenCaptureWindowMinimized"] = 11] = "LocalVideoStreamErrorScreenCaptureWindowMinimized";
1680
1717
  /**
1681
- * 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.
1718
+ * 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:
1719
+ * When the local user closes the shared window, the SDK reports this error code.
1720
+ * 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.
1721
+ * 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.
1682
1722
  */
1683
1723
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorScreenCaptureWindowClosed"] = 12] = "LocalVideoStreamErrorScreenCaptureWindowClosed";
1684
1724
  /**
@@ -1846,7 +1886,7 @@ var RemoteVideoStateReason;
1846
1886
  */
1847
1887
  RemoteVideoStateReason[RemoteVideoStateReason["RemoteVideoStateReasonSdkInBackground"] = 12] = "RemoteVideoStateReasonSdkInBackground";
1848
1888
  /**
1849
- * @ignore
1889
+ * 13: The local video decoder does not support decoding the remote video stream.
1850
1890
  */
1851
1891
  RemoteVideoStateReason[RemoteVideoStateReason["RemoteVideoStateReasonCodecNotSupport"] = 13] = "RemoteVideoStateReasonCodecNotSupport";
1852
1892
  })(RemoteVideoStateReason = exports.RemoteVideoStateReason || (exports.RemoteVideoStateReason = {}));
@@ -2029,7 +2069,9 @@ var RtmpStreamPublishState;
2029
2069
  */
2030
2070
  RtmpStreamPublishState[RtmpStreamPublishState["RtmpStreamPublishStateRunning"] = 2] = "RtmpStreamPublishStateRunning";
2031
2071
  /**
2032
- * 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.
2072
+ * 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.
2073
+ * If the SDK successfully resumes the streaming, RtmpStreamPublishStateRunning (2) returns.
2074
+ * 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.
2033
2075
  */
2034
2076
  RtmpStreamPublishState[RtmpStreamPublishState["RtmpStreamPublishStateRecovering"] = 3] = "RtmpStreamPublishStateRecovering";
2035
2077
  /**
@@ -2151,7 +2193,7 @@ exports.RtcImage = RtcImage;
2151
2193
  /**
2152
2194
  * The configuration for advanced features of the RTMP or RTMPS streaming with transcoding.
2153
2195
  *
2154
- * If you want to enable the advanced features of streaming with transcoding, contact .
2196
+ * If you want to enable the advanced features of streaming with transcoding, contact.
2155
2197
  */
2156
2198
  var LiveStreamAdvancedFeature = /** @class */ (function () {
2157
2199
  function LiveStreamAdvancedFeature() {
@@ -2165,11 +2207,15 @@ exports.LiveStreamAdvancedFeature = LiveStreamAdvancedFeature;
2165
2207
  var ConnectionStateType;
2166
2208
  (function (ConnectionStateType) {
2167
2209
  /**
2168
- * 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.
2210
+ * 1: The SDK is disconnected from the Agora edge server. The state indicates the SDK is in one of the following phases:
2211
+ * Theinitial state before calling the joinChannel method.
2212
+ * The app calls the leaveChannel method.
2169
2213
  */
2170
2214
  ConnectionStateType[ConnectionStateType["ConnectionStateDisconnected"] = 1] = "ConnectionStateDisconnected";
2171
2215
  /**
2172
- * 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.
2216
+ * 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.
2217
+ * If the SDK successfully joins the channel, it triggers the onConnectionStateChanged callback and the connection state switches to ConnectionStateConnected.
2218
+ * After the connection is established, the SDK also initializes the media and triggers onJoinChannelSuccess when everything is ready.
2173
2219
  */
2174
2220
  ConnectionStateType[ConnectionStateType["ConnectionStateConnecting"] = 2] = "ConnectionStateConnecting";
2175
2221
  /**
@@ -2177,11 +2223,15 @@ var ConnectionStateType;
2177
2223
  */
2178
2224
  ConnectionStateType[ConnectionStateType["ConnectionStateConnected"] = 3] = "ConnectionStateConnected";
2179
2225
  /**
2180
- * 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.
2226
+ * 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.
2227
+ * If the SDK cannot rejoin the channel within 10 seconds, it triggers onConnectionLost, stays in the ConnectionStateReconnecting state, and keeps rejoining the channel.
2228
+ * 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.
2181
2229
  */
2182
2230
  ConnectionStateType[ConnectionStateType["ConnectionStateReconnecting"] = 4] = "ConnectionStateReconnecting";
2183
2231
  /**
2184
- * 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.
2232
+ * 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.
2233
+ * You can call joinChannel to rejoin the channel.
2234
+ * If the SDK is banned from joining the channel by the Agora edge server through the RESTful API, the SDK triggers the onConnectionStateChanged callback.
2185
2235
  */
2186
2236
  ConnectionStateType[ConnectionStateType["ConnectionStateFailed"] = 5] = "ConnectionStateFailed";
2187
2237
  })(ConnectionStateType = exports.ConnectionStateType || (exports.ConnectionStateType = {}));
@@ -2338,7 +2388,9 @@ var ConnectionChangedReasonType;
2338
2388
  */
2339
2389
  ConnectionChangedReasonType[ConnectionChangedReasonType["ConnectionChangedInvalidChannelName"] = 7] = "ConnectionChangedInvalidChannelName";
2340
2390
  /**
2341
- * 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.
2391
+ * 8: The connection failed because the token is not valid. Possible reasons are as follows:
2392
+ * 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.
2393
+ * The uid specified when calling joinChannel to join the channel is inconsistent with the uid passed in when generating the token.
2342
2394
  */
2343
2395
  ConnectionChangedReasonType[ConnectionChangedReasonType["ConnectionChangedInvalidToken"] = 8] = "ConnectionChangedInvalidToken";
2344
2396
  /**
@@ -2346,7 +2398,9 @@ var ConnectionChangedReasonType;
2346
2398
  */
2347
2399
  ConnectionChangedReasonType[ConnectionChangedReasonType["ConnectionChangedTokenExpired"] = 9] = "ConnectionChangedTokenExpired";
2348
2400
  /**
2349
- * 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.
2401
+ * 10: The connection is rejected by server. Possible reasons are as follows:
2402
+ * 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.
2403
+ * 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.
2350
2404
  */
2351
2405
  ConnectionChangedReasonType[ConnectionChangedReasonType["ConnectionChangedRejectedByServer"] = 10] = "ConnectionChangedRejectedByServer";
2352
2406
  /**
@@ -2400,7 +2454,7 @@ var ConnectionChangedReasonType;
2400
2454
  var ClientRoleChangeFailedReason;
2401
2455
  (function (ClientRoleChangeFailedReason) {
2402
2456
  /**
2403
- * 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.
2457
+ * 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.
2404
2458
  */
2405
2459
  ClientRoleChangeFailedReason[ClientRoleChangeFailedReason["ClientRoleChangeFailedTooManyBroadcasters"] = 1] = "ClientRoleChangeFailedTooManyBroadcasters";
2406
2460
  /**
@@ -2722,11 +2776,11 @@ var AudioTrackType;
2722
2776
  */
2723
2777
  AudioTrackType[AudioTrackType["AudioTrackInvalid"] = -1] = "AudioTrackInvalid";
2724
2778
  /**
2725
- * 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.
2779
+ * 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.
2726
2780
  */
2727
2781
  AudioTrackType[AudioTrackType["AudioTrackMixable"] = 0] = "AudioTrackMixable";
2728
2782
  /**
2729
- * 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.
2783
+ * 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.
2730
2784
  */
2731
2785
  AudioTrackType[AudioTrackType["AudioTrackDirect"] = 1] = "AudioTrackDirect";
2732
2786
  })(AudioTrackType = exports.AudioTrackType || (exports.AudioTrackType = {}));
@@ -2749,19 +2803,21 @@ var VoiceBeautifierPreset;
2749
2803
  */
2750
2804
  VoiceBeautifierPreset[VoiceBeautifierPreset["VoiceBeautifierOff"] = 0] = "VoiceBeautifierOff";
2751
2805
  /**
2752
- * A more magnetic voice.Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
2806
+ * A more magnetic voice. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
2753
2807
  */
2754
2808
  VoiceBeautifierPreset[VoiceBeautifierPreset["ChatBeautifierMagnetic"] = 16843008] = "ChatBeautifierMagnetic";
2755
2809
  /**
2756
- * A fresher voice.Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
2810
+ * A fresher voice. Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
2757
2811
  */
2758
2812
  VoiceBeautifierPreset[VoiceBeautifierPreset["ChatBeautifierFresh"] = 16843264] = "ChatBeautifierFresh";
2759
2813
  /**
2760
- * A more vital voice.Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
2814
+ * A more vital voice. Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
2761
2815
  */
2762
2816
  VoiceBeautifierPreset[VoiceBeautifierPreset["ChatBeautifierVitality"] = 16843520] = "ChatBeautifierVitality";
2763
2817
  /**
2764
- * 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.
2818
+ * Singing beautifier effect.
2819
+ * 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.
2820
+ * If you call setVoiceBeautifierParameters (SingingBeautifier, param1, param2), you can beautify a male or female-sounding voice and add a reverberation effect.
2765
2821
  */
2766
2822
  VoiceBeautifierPreset[VoiceBeautifierPreset["SingingBeautifier"] = 16908544] = "SingingBeautifier";
2767
2823
  /**
@@ -2797,7 +2853,9 @@ var VoiceBeautifierPreset;
2797
2853
  */
2798
2854
  VoiceBeautifierPreset[VoiceBeautifierPreset["TimbreTransformationRinging"] = 16975872] = "TimbreTransformationRinging";
2799
2855
  /**
2800
- * 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.
2856
+ * A ultra-high quality voice, which makes the audio clearer and restores more details.
2857
+ * 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.
2858
+ * 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.
2801
2859
  */
2802
2860
  VoiceBeautifierPreset[VoiceBeautifierPreset["UltraHighQualityVoice"] = 17039616] = "UltraHighQualityVoice";
2803
2861
  })(VoiceBeautifierPreset = exports.VoiceBeautifierPreset || (exports.VoiceBeautifierPreset = {}));
@@ -2841,31 +2899,31 @@ var AudioEffectPreset;
2841
2899
  */
2842
2900
  AudioEffectPreset[AudioEffectPreset["RoomAcousticsEthereal"] = 33621760] = "RoomAcousticsEthereal";
2843
2901
  /**
2844
- * 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.
2902
+ * 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.
2845
2903
  */
2846
2904
  AudioEffectPreset[AudioEffectPreset["RoomAcoustics3dVoice"] = 33622016] = "RoomAcoustics3dVoice";
2847
2905
  /**
2848
- * 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.
2906
+ * 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.
2849
2907
  */
2850
2908
  AudioEffectPreset[AudioEffectPreset["RoomAcousticsVirtualSurroundSound"] = 33622272] = "RoomAcousticsVirtualSurroundSound";
2851
2909
  /**
2852
- * 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.
2910
+ * 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.
2853
2911
  */
2854
2912
  AudioEffectPreset[AudioEffectPreset["VoiceChangerEffectUncle"] = 33685760] = "VoiceChangerEffectUncle";
2855
2913
  /**
2856
- * 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.
2914
+ * 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.
2857
2915
  */
2858
2916
  AudioEffectPreset[AudioEffectPreset["VoiceChangerEffectOldman"] = 33686016] = "VoiceChangerEffectOldman";
2859
2917
  /**
2860
- * A boy's voice.Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
2918
+ * A boy's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
2861
2919
  */
2862
2920
  AudioEffectPreset[AudioEffectPreset["VoiceChangerEffectBoy"] = 33686272] = "VoiceChangerEffectBoy";
2863
2921
  /**
2864
- * 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.
2922
+ * 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.
2865
2923
  */
2866
2924
  AudioEffectPreset[AudioEffectPreset["VoiceChangerEffectSister"] = 33686528] = "VoiceChangerEffectSister";
2867
2925
  /**
2868
- * A girl's voice.Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
2926
+ * A girl's voice. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
2869
2927
  */
2870
2928
  AudioEffectPreset[AudioEffectPreset["VoiceChangerEffectGirl"] = 33686784] = "VoiceChangerEffectGirl";
2871
2929
  /**
@@ -3144,7 +3202,7 @@ var ChannelMediaRelayError;
3144
3202
  */
3145
3203
  ChannelMediaRelayError[ChannelMediaRelayError["RelayErrorServerErrorResponse"] = 1] = "RelayErrorServerErrorResponse";
3146
3204
  /**
3147
- * 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.
3205
+ * 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.
3148
3206
  */
3149
3207
  ChannelMediaRelayError[ChannelMediaRelayError["RelayErrorServerNoResponse"] = 2] = "RelayErrorServerNoResponse";
3150
3208
  /**
@@ -3448,7 +3506,15 @@ var StreamSubscribeState;
3448
3506
  */
3449
3507
  StreamSubscribeState[StreamSubscribeState["SubStateIdle"] = 0] = "SubStateIdle";
3450
3508
  /**
3451
- * 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.
3509
+ * 1: Fails to subscribe to the remote stream. Possible reasons:
3510
+ * The remote user:
3511
+ * Calls muteLocalAudioStream (true) or muteLocalVideoStream (true) to stop sending local media stream.
3512
+ * Calls disableAudio or disableVideo to disable the local audio or video module.
3513
+ * Calls enableLocalAudio (false) or enableLocalVideo (false) to disable local audio or video capture.
3514
+ * The role of the remote user is audience.
3515
+ * The local user calls the following methods to stop receiving remote streams:
3516
+ * Call muteRemoteAudioStream (true) or muteAllRemoteAudioStreams (true) to stop receiving the remote audio stream.
3517
+ * Call muteRemoteVideoStream (true) or muteAllRemoteVideoStreams (true) to stop receiving the remote video stream.
3452
3518
  */
3453
3519
  StreamSubscribeState[StreamSubscribeState["SubStateNoSubscribed"] = 1] = "SubStateNoSubscribed";
3454
3520
  /**
@@ -3470,7 +3536,11 @@ var StreamPublishState;
3470
3536
  */
3471
3537
  StreamPublishState[StreamPublishState["PubStateIdle"] = 0] = "PubStateIdle";
3472
3538
  /**
3473
- * 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.
3539
+ * 1: Fails to publish the local stream. Possible reasons:
3540
+ * The local user calls muteLocalAudioStream (true) or muteLocalVideoStream (true) to stop sending local media streams.
3541
+ * The local user calls disableAudio or disableVideo to disable the local audio or video module.
3542
+ * The local user calls enableLocalAudio (false) or enableLocalVideo (false) to disable the local audio or video capture.
3543
+ * The role of the local user is audience.
3474
3544
  */
3475
3545
  StreamPublishState[StreamPublishState["PubStateNoPublished"] = 1] = "PubStateNoPublished";
3476
3546
  /**
@@ -3560,7 +3630,7 @@ exports.ScreenVideoParameters = ScreenVideoParameters;
3560
3630
  /**
3561
3631
  * The audio configuration for the shared screen stream.
3562
3632
  *
3563
- * Only available where captureAudio is true .
3633
+ * Only available where captureAudio is true.
3564
3634
  */
3565
3635
  var ScreenAudioParameters = /** @class */ (function () {
3566
3636
  function ScreenAudioParameters() {
@@ -3578,7 +3648,7 @@ var ScreenCaptureParameters2 = /** @class */ (function () {
3578
3648
  }());
3579
3649
  exports.ScreenCaptureParameters2 = ScreenCaptureParameters2;
3580
3650
  /**
3581
- * The rendering state of the media frame.`
3651
+ * The rendering state of the media frame.
3582
3652
  */
3583
3653
  var MediaTraceEvent;
3584
3654
  (function (MediaTraceEvent) {
@@ -64,15 +64,15 @@ var VideoSourceType;
64
64
  */
65
65
  VideoSourceType[VideoSourceType["VideoSourceCameraThird"] = 11] = "VideoSourceCameraThird";
66
66
  /**
67
- * 12:The fourth camera.
67
+ * 12: The fourth camera.
68
68
  */
69
69
  VideoSourceType[VideoSourceType["VideoSourceCameraFourth"] = 12] = "VideoSourceCameraFourth";
70
70
  /**
71
- * 13:The third screen.
71
+ * 13: The third screen.
72
72
  */
73
73
  VideoSourceType[VideoSourceType["VideoSourceScreenThird"] = 13] = "VideoSourceScreenThird";
74
74
  /**
75
- * 14:The fourth screen.
75
+ * 14: The fourth screen.
76
76
  */
77
77
  VideoSourceType[VideoSourceType["VideoSourceScreenFourth"] = 14] = "VideoSourceScreenFourth";
78
78
  /**
@@ -262,7 +262,7 @@ var ContentInspectType;
262
262
  ContentInspectType[ContentInspectType["ContentInspectSupervision"] = 2] = "ContentInspectSupervision";
263
263
  })(ContentInspectType = exports.ContentInspectType || (exports.ContentInspectType = {}));
264
264
  /**
265
- * A structure used to configure the frequency of video screenshot and upload.ContentInspectModule
265
+ * A ContentInspectModule structure used to configure the frequency of video screenshot and upload.
266
266
  */
267
267
  var ContentInspectModule = /** @class */ (function () {
268
268
  function ContentInspectModule() {
@@ -558,7 +558,9 @@ var AudioFramePosition;
558
558
  /**
559
559
  * Audio data format.
560
560
  *
561
- * The SDK sets the audio data format in the following callbacks according to AudioParams . onRecordAudioFrame onPlaybackAudioFrame onMixedAudioFrame The SDK calculates the sampling interval through the samplesPerCall , sampleRate , and channel parameters in AudioParams , and triggers the onRecordAudioFrame , onPlaybackAudioFrame , onMixedAudioFrame , and onEarMonitoringAudioFrame callbacks according to the sampling interval. Sample interval (sec) = samplePerCall /( sampleRate × channel ) . Ensure that the sample interval ≥ 0.01 (s).
561
+ * The SDK sets the audio data format in the following callbacks according to AudioParams. onRecordAudioFrame onPlaybackAudioFrame onMixedAudioFrame
562
+ * The SDK calculates the sampling interval through the samplesPerCall, sampleRate, and channel parameters in AudioParams, and triggers the onRecordAudioFrame, onPlaybackAudioFrame, onMixedAudioFrame, and onEarMonitoringAudioFrame callbacks according to the sampling interval. Sample interval (sec) = samplePerCall /(sampleRate × channel).
563
+ * Ensure that the sample interval ≥ 0.01 (s).
562
564
  */
563
565
  var AudioParams = /** @class */ (function () {
564
566
  function AudioParams() {
@@ -590,11 +592,11 @@ exports.UserAudioSpectrumInfo = UserAudioSpectrumInfo;
590
592
  var VideoFrameProcessMode;
591
593
  (function (VideoFrameProcessMode) {
592
594
  /**
593
- * Read-only mode.In this mode, you do not modify the video frame. The video frame observer is a renderer.
595
+ * Read-only mode. In this mode, you do not modify the video frame. The video frame observer is a renderer.
594
596
  */
595
597
  VideoFrameProcessMode[VideoFrameProcessMode["ProcessModeReadOnly"] = 0] = "ProcessModeReadOnly";
596
598
  /**
597
- * Read and write mode.In this mode, you modify the video frame. The video frame observer is a video filter.
599
+ * Read and write mode. In this mode, you modify the video frame. The video frame observer is a video filter.
598
600
  */
599
601
  VideoFrameProcessMode[VideoFrameProcessMode["ProcessModeReadWrite"] = 1] = "ProcessModeReadWrite";
600
602
  })(VideoFrameProcessMode = exports.VideoFrameProcessMode || (exports.VideoFrameProcessMode = {}));