agora-electron-sdk 4.4.0-dev.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/js/AgoraSdk.js +1 -1
  3. package/js/Private/AgoraBase.js +28 -28
  4. package/js/Private/AgoraMediaBase.js +30 -4
  5. package/js/Private/IAgoraLog.js +4 -0
  6. package/js/Private/IAgoraRhythmPlayer.js +12 -12
  7. package/js/Private/IAgoraRtcEngine.js +64 -64
  8. package/js/Private/impl/IAgoraRtcEngineImpl.js +0 -32
  9. package/js/Private/internal/RtcEngineExInternal.js +9 -3
  10. package/js/Renderer/AgoraView.js +21 -2
  11. package/js/Renderer/IRendererManager.js +15 -2
  12. package/js/Renderer/RendererCache.js +2 -2
  13. package/package.json +9 -5
  14. package/scripts/downloadPrebuild.js +9 -3
  15. package/ts/AgoraSdk.ts +1 -1
  16. package/ts/Private/AgoraBase.ts +35 -31
  17. package/ts/Private/AgoraMediaBase.ts +60 -40
  18. package/ts/Private/IAgoraLog.ts +4 -0
  19. package/ts/Private/IAgoraMediaEngine.ts +8 -19
  20. package/ts/Private/IAgoraMediaPlayer.ts +13 -12
  21. package/ts/Private/IAgoraMusicContentCenter.ts +13 -1
  22. package/ts/Private/IAgoraRhythmPlayer.ts +12 -12
  23. package/ts/Private/IAgoraRtcEngine.ts +296 -262
  24. package/ts/Private/IAgoraRtcEngineEx.ts +35 -34
  25. package/ts/Private/IAudioDeviceManager.ts +4 -4
  26. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +0 -42
  27. package/ts/Private/internal/RtcEngineExInternal.ts +7 -2
  28. package/ts/Renderer/AgoraView.ts +33 -4
  29. package/ts/Renderer/IRendererManager.ts +20 -2
  30. package/ts/Renderer/RendererCache.ts +2 -2
  31. package/ts/Types.ts +1 -1
  32. package/types/AgoraSdk.d.ts +1 -1
  33. package/types/Private/AgoraBase.d.ts +35 -31
  34. package/types/Private/AgoraBase.d.ts.map +1 -1
  35. package/types/Private/AgoraMediaBase.d.ts +59 -40
  36. package/types/Private/AgoraMediaBase.d.ts.map +1 -1
  37. package/types/Private/IAgoraLog.d.ts +5 -1
  38. package/types/Private/IAgoraLog.d.ts.map +1 -1
  39. package/types/Private/IAgoraMediaEngine.d.ts +8 -19
  40. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -1
  41. package/types/Private/IAgoraMediaPlayer.d.ts +13 -12
  42. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
  43. package/types/Private/IAgoraMusicContentCenter.d.ts +13 -1
  44. package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -1
  45. package/types/Private/IAgoraRhythmPlayer.d.ts +12 -12
  46. package/types/Private/IAgoraRtcEngine.d.ts +296 -260
  47. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
  48. package/types/Private/IAgoraRtcEngineEx.d.ts +35 -34
  49. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
  50. package/types/Private/IAudioDeviceManager.d.ts +4 -4
  51. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +0 -4
  52. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
  53. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  54. package/types/Renderer/AgoraView.d.ts +8 -2
  55. package/types/Renderer/AgoraView.d.ts.map +1 -1
  56. package/types/Renderer/IRendererManager.d.ts.map +1 -1
  57. package/types/Renderer/RendererCache.d.ts +1 -1
  58. package/types/Renderer/RendererCache.d.ts.map +1 -1
  59. package/types/Types.d.ts +1 -1
  60. package/types/Types.d.ts.map +1 -1
@@ -1338,8 +1338,6 @@ export interface IRtcEngineEventHandler {
1338
1338
  /**
1339
1339
  * Occurs when a user rejoins the channel.
1340
1340
  *
1341
- * When a user loses connection with the server because of network problems, the SDK automatically tries to reconnect and triggers this callback upon reconnection.
1342
- *
1343
1341
  * @param uid The ID of the user who rejoins the channel.
1344
1342
  * @param connection The connection information. See RtcConnection.
1345
1343
  * @param elapsed Time elapsed (ms) from the local user calling joinChannel until the SDK triggers this callback.
@@ -1678,10 +1676,7 @@ export interface IRtcEngineEventHandler {
1678
1676
  * Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins the channel.
1679
1677
  *
1680
1678
  * In a communication channel, this callback indicates that a remote user joins the channel. The SDK also triggers this callback to report the existing users in the channel when a user joins the channel.
1681
- * In a live-broadcast channel, this callback indicates that a host joins the channel. The SDK also triggers this callback to report the existing hosts in the channel when a host joins the channel. Agora recommends limiting the number of hosts to 17. The SDK triggers this callback under one of the following circumstances:
1682
- * A remote user/host joins the channel.
1683
- * A remote user switches the user role to the host after joining the channel.
1684
- * A remote user/host rejoins the channel after a network interruption.
1679
+ * In a live-broadcast channel, this callback indicates that a host joins the channel. The SDK also triggers this callback to report the existing hosts in the channel when a host joins the channel. Agora recommends limiting the number of hosts to 17.
1685
1680
  *
1686
1681
  * @param connection The connection information. See RtcConnection.
1687
1682
  * @param remoteUid The ID of the user or host who joins the channel.
@@ -1696,13 +1691,13 @@ export interface IRtcEngineEventHandler {
1696
1691
  /**
1697
1692
  * Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves the channel.
1698
1693
  *
1699
- * There are two reasons for users to become offline:
1700
- * Leave the channel: When a user/host leaves the channel, the user/host sends a goodbye message. When this message is received, the SDK determines that the user/host leaves the channel.
1701
- * Drop offline: When no data packet of the user or host is received for a certain period of time (20 seconds for the communication profile, and more for the live broadcast profile), the SDK assumes that the user/host drops offline. A poor network connection may lead to false detections. It's recommended to use the Agora RTM SDK for reliable offline detection.
1694
+ * There are generally two reasons for users to become offline:
1695
+ * Leave the channel: When a user/host leaves the channel, the user/host sends a goodbye message.
1696
+ * Drop offline: When no data packet of the user or host is received for a certain period of time (20 seconds for the communication profile, and more for the live broadcast profile), the SDK assumes that the user/host drops offline. A poor network connection may lead to false detections. It is recommended to use the Agora RTM SDK for reliable offline detection.
1702
1697
  *
1703
1698
  * @param connection The connection information. See RtcConnection.
1704
1699
  * @param remoteUid The ID of the user who leaves the channel or goes offline.
1705
- * @param reason Reasons why the user goes offline: UserOfflineReasonType.
1700
+ * @param reason Reasons why a remote user (in the communication profile) or host (in the live streaming profile) goes offline. See UserOfflineReasonType.
1706
1701
  */
1707
1702
  onUserOffline?(
1708
1703
  connection: RtcConnection,
@@ -1878,7 +1873,12 @@ export interface IRtcEngineEventHandler {
1878
1873
  ): void;
1879
1874
 
1880
1875
  /**
1881
- * @ignore
1876
+ * Occurs when the state of virtual metronome changes.
1877
+ *
1878
+ * When the state of the virtual metronome changes, the SDK triggers this callback to report the current state of the virtual metronome. This callback indicates the state of the local audio stream and enables you to troubleshoot issues when audio exceptions occur.
1879
+ *
1880
+ * @param state For the current virtual metronome status, see RhythmPlayerStateType.
1881
+ * @param errorCode For the error codes and error messages related to virtual metronome errors, see RhythmPlayerReason.
1882
1882
  */
1883
1883
  onRhythmPlayerStateChanged?(
1884
1884
  state: RhythmPlayerStateType,
@@ -2506,7 +2506,13 @@ export interface IRtcEngineEventHandler {
2506
2506
  ): void;
2507
2507
 
2508
2508
  /**
2509
- * @ignore
2509
+ * The event callback of the extension.
2510
+ *
2511
+ * To listen for events while the extension is running, you need to register this callback.
2512
+ *
2513
+ * @param context The context information of the extension, see ExtensionContext.
2514
+ * @param key The key of the extension.
2515
+ * @param value The value of the extension key.
2510
2516
  */
2511
2517
  onExtensionEventWithContext?(
2512
2518
  context: ExtensionContext,
@@ -2515,17 +2521,31 @@ export interface IRtcEngineEventHandler {
2515
2521
  ): void;
2516
2522
 
2517
2523
  /**
2518
- * @ignore
2524
+ * Occurrs when the extension is enabled.
2525
+ *
2526
+ * The callback is triggered after the extension is successfully enabled.
2527
+ *
2528
+ * @param context The context information of the extension, see ExtensionContext.
2519
2529
  */
2520
2530
  onExtensionStartedWithContext?(context: ExtensionContext): void;
2521
2531
 
2522
2532
  /**
2523
- * @ignore
2533
+ * Occurs when the extension is disabled.
2534
+ *
2535
+ * The callback is triggered after the extension is successfully disabled.
2536
+ *
2537
+ * @param context The context information of the extension, see ExtensionContext.
2524
2538
  */
2525
2539
  onExtensionStoppedWithContext?(context: ExtensionContext): void;
2526
2540
 
2527
2541
  /**
2528
- * @ignore
2542
+ * Occurs when the extension runs incorrectly.
2543
+ *
2544
+ * In case of extension enabling failure or runtime errors, the extension triggers this callback and reports the error code along with the reasons.
2545
+ *
2546
+ * @param context The context information of the extension, see ExtensionContext.
2547
+ * @param error Error code. For details, see the extension documentation provided by the extension provider.
2548
+ * @param message Reason. For details, see the extension documentation provided by the extension provider.
2529
2549
  */
2530
2550
  onExtensionErrorWithContext?(
2531
2551
  context: ExtensionContext,
@@ -2711,7 +2731,7 @@ export enum MaxMetadataSizeType {
2711
2731
  */
2712
2732
  export class Metadata {
2713
2733
  /**
2714
- * @ignore
2734
+ * The channel name.
2715
2735
  */
2716
2736
  channelId?: string;
2717
2737
  /**
@@ -2725,11 +2745,11 @@ export class Metadata {
2725
2745
  */
2726
2746
  size?: number;
2727
2747
  /**
2728
- * The buffer address of the sent or received Metadata.
2748
+ * The buffer address of the received Metadata.
2729
2749
  */
2730
2750
  buffer?: Uint8Array;
2731
2751
  /**
2732
- * The timestamp (ms) of Metadata.
2752
+ * The timestamp (ms) of when the Metadata is sent.
2733
2753
  */
2734
2754
  timeStampMs?: number;
2735
2755
  }
@@ -3003,7 +3023,33 @@ export abstract class IRtcEngine {
3003
3023
  ): number;
3004
3024
 
3005
3025
  /**
3006
- * @ignore
3026
+ * Preloads a channel with token, channelId, and userAccount.
3027
+ *
3028
+ * When audience members need to switch between different channels frequently, calling the method can help shortening the time of joining a channel, thus reducing the time it takes for audience members to hear and see the host. If you join a preloaded channel, leave it and want to rejoin the same channel, you do not need to call this method unless the token for preloading the channel expires. Failing to preload a channel does not mean that you can't join a channel, nor will it increase the time of joining a channel.
3029
+ *
3030
+ * @param token The token generated on your server for authentication. When the token for preloading channels expires, you can update the token based on the number of channels you preload.
3031
+ * When preloading one channel, calling this method to pass in the new token.
3032
+ * When preloading more than one channels:
3033
+ * If you use a wildcard token for all preloaded channels, call updatePreloadChannelToken to update the token. When generating a wildcard token, ensure the user ID is not set as 0.
3034
+ * If you use different tokens to preload different channels, call this method to pass in your user ID, channel name and the new token.
3035
+ * @param channelId The channel name that you want to preload. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
3036
+ * All lowercase English letters: a to z.
3037
+ * All uppercase English letters: A to Z.
3038
+ * All numeric characters: 0 to 9.
3039
+ * "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
3040
+ * @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported characters are as follows(89 in total):
3041
+ * The 26 lowercase English letters: a to z.
3042
+ * The 26 uppercase English letters: A to Z.
3043
+ * All numeric characters: 0 to 9.
3044
+ * Space
3045
+ * "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
3046
+ *
3047
+ * @returns
3048
+ * 0: Success.
3049
+ * < 0: Failure.
3050
+ * -2: The parameter is invalid. For example, the User Account is empty. You need to pass in a valid parameter and join the channel again.
3051
+ * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
3052
+ * -102: The channel name is invalid. You need to pass in a valid channel name and join the channel again.
3007
3053
  */
3008
3054
  abstract preloadChannelWithUserAccount(
3009
3055
  token: string,
@@ -3029,14 +3075,12 @@ export abstract class IRtcEngine {
3029
3075
  /**
3030
3076
  * Joins a channel with media options.
3031
3077
  *
3032
- * This method enables users to join a channel. Users in the same channel can talk to each other, and multiple users in the same channel can start a group chat. Users with different App IDs cannot call each other. A successful call of this method triggers the following callbacks:
3033
- * The local client: The onJoinChannelSuccess and onConnectionStateChanged callbacks.
3034
- * The remote client: onUserJoined, if the user joining the channel is in the Communication profile or is a host in the Live-broadcasting profile. When the connection between the client and Agora's server is interrupted due to poor network conditions, the SDK tries reconnecting to the server. When the local client successfully rejoins the channel, the SDK triggers the onRejoinChannelSuccess callback on the local client.
3035
- * This method allows users to join only one channel at a time.
3036
- * Ensure that the app ID you use to generate the token is the same app ID that you pass in the initialize method; otherwise, you may fail to join the channel by token.
3037
- * If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
3078
+ * This method supports setting the media options when joining a channel, such as whether to publish audio and video streams within the channel. or whether to automatically subscribe to the audio and video streams of all remote users when joining a channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to other streams, set the options parameter or call the corresponding mute methods.
3038
3079
  *
3039
- * @param token The token generated on your server for authentication. If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
3080
+ * @param token The token generated on your server for authentication.
3081
+ * (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
3082
+ * If you have only enabled the testing mode (using APP ID for authentication), this parameter is optional. You will automatically exit the channel 24 hours after successfully joining in.
3083
+ * If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
3040
3084
  * @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
3041
3085
  * All lowercase English letters: a to z.
3042
3086
  * All uppercase English letters: A to Z.
@@ -3049,11 +3093,11 @@ export abstract class IRtcEngine {
3049
3093
  * 0: Success.
3050
3094
  * < 0: Failure.
3051
3095
  * -2: The parameter is invalid. For example, the token is invalid, the uid parameter is not set to an integer, or the value of a member in ChannelMediaOptions is invalid. You need to pass in a valid parameter and join the channel again.
3052
- * -3: Failes to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
3096
+ * -3: Fails to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
3053
3097
  * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
3054
- * -8: The internal state of the IRtcEngine object is wrong. The typical cause is that you call this method to join the channel without calling startEchoTest to stop the test after calling stopEchoTest to start a call loop test. You need to call stopEchoTest before calling this method.
3055
- * -17: The request to join the channel is rejected. The typical cause is that the user is 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.
3056
- * -102: The channel name is invalid. You need to pass in a valid channelname in channelId to rejoin the channel.
3098
+ * -8: The internal state of the IRtcEngine object is wrong. The typical cause is that after calling startEchoTest to start a call loop test, you call this method to join the channel without calling stopEchoTest to stop the test. You need to call stopEchoTest before calling this method.
3099
+ * -17: The request to join the channel is rejected. The typical cause is that the user is already in the channel. Agora recommends that you use the onConnectionStateChanged callback to see whether the user is in the channel. Do not call this method to join the channel unless you receive the ConnectionStateDisconnected (1) state.
3100
+ * -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
3057
3101
  * -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
3058
3102
  */
3059
3103
  abstract joinChannel(
@@ -3071,9 +3115,9 @@ export abstract class IRtcEngine {
3071
3115
  * @returns
3072
3116
  * 0: Success.
3073
3117
  * < 0: Failure.
3074
- * -2: The value of a member in the ChannelMediaOptions structure is invalid. For example, the token or the user ID is invalid. You need to fill in a valid parameter.
3118
+ * -2: The value of a member in ChannelMediaOptions is invalid. For example, the token or the user ID is invalid. You need to fill in a valid parameter.
3075
3119
  * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
3076
- * -8: The internal state of the IRtcEngine object is wrong. The possible reason is that the user is not in the channel. Agora recommends that you use the onConnectionStateChanged callback to determine whether the user exists in the channel. If you receive the ConnectionStateDisconnected (1) or ConnectionStateFailed (5) state, the user is not in the channel. You need to call joinChannel to join a channel before calling this method.
3120
+ * -8: The internal state of the IRtcEngine object is wrong. The possible reason is that the user is not in the channel. Agora recommends that you use the onConnectionStateChanged callback to see whether the user is in the channel. If you receive the ConnectionStateDisconnected (1) or ConnectionStateFailed (5) state, the user is not in the channel. You need to call joinChannel to join a channel before calling this method.
3077
3121
  */
3078
3122
  abstract updateChannelMediaOptions(options: ChannelMediaOptions): number;
3079
3123
 
@@ -3148,9 +3192,6 @@ export abstract class IRtcEngine {
3148
3192
  * Starts an audio device loopback test.
3149
3193
  *
3150
3194
  * To test whether the user's local sending and receiving streams are normal, you can call this method to perform an audio and video call loop test, which tests whether the audio and video devices and the user's upstream and downstream networks are working properly. After starting the test, the user needs to make a sound or face the camera. The audio or video is output after about two seconds. If the audio playback is normal, the audio device and the user's upstream and downstream networks are working properly; if the video playback is normal, the video device and the user's upstream and downstream networks are working properly.
3151
- * You can call this method either before or after joining a channel. When calling in a channel, make sure that no audio or video stream is being published.
3152
- * After calling this method, call stopEchoTest to end the test; otherwise, the user cannot perform the next audio and video call loop test and cannot join the channel.
3153
- * In live streaming scenarios, this method only applies to hosts.
3154
3195
  *
3155
3196
  * @param config The configuration of the audio and video call loop test. See EchoTestConfiguration.
3156
3197
  *
@@ -3163,6 +3204,8 @@ export abstract class IRtcEngine {
3163
3204
  /**
3164
3205
  * Stops the audio call test.
3165
3206
  *
3207
+ * After calling startEchoTest, you must call this method to end the test; otherwise, the user cannot perform the next audio and video call loop test and cannot join the channel.
3208
+ *
3166
3209
  * @returns
3167
3210
  * 0: Success.
3168
3211
  * < 0: Failure.
@@ -3227,9 +3270,7 @@ export abstract class IRtcEngine {
3227
3270
  /**
3228
3271
  * Starts the last mile network probe test.
3229
3272
  *
3230
- * This method starts the last-mile network probe test before joining a channel to get the uplink and downlink last mile network statistics, including the bandwidth, packet loss, jitter, and round-trip time (RTT). Once this method is enabled, the SDK returns the following callbacks: onLastmileQuality : The SDK triggers this callback within two seconds depending on the network conditions. This callback rates the network conditions and is more closely linked to the user experience. onLastmileProbeResult : The SDK triggers this callback within 30 seconds depending on the network conditions. This callback returns the real-time statistics of the network conditions and is more objective. This method must be called before joining the channel, and is used to judge and predict whether the current uplink network quality is good enough.
3231
- * Do not call other methods before receiving the onLastmileQuality and onLastmileProbeResult callbacks. Otherwise, the callbacks may be interrupted.
3232
- * A host should not call this method after joining a channel (when in a call).
3273
+ * This method starts the last-mile network probe test before joining a channel to get the uplink and downlink last mile network statistics, including the bandwidth, packet loss, jitter, and round-trip time (RTT).
3233
3274
  *
3234
3275
  * @param config The configurations of the last-mile network probe test. See LastmileProbeConfig.
3235
3276
  *
@@ -3267,9 +3308,6 @@ export abstract class IRtcEngine {
3267
3308
  * Sets the image enhancement options.
3268
3309
  *
3269
3310
  * Enables or disables image enhancement, and sets the options.
3270
- * Call this method after calling enableVideo or startPreview.
3271
- * This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
3272
- * This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device.
3273
3311
  *
3274
3312
  * @param enabled Whether to enable the image enhancement function: true : Enable the image enhancement function. false : (Default) Disable the image enhancement function.
3275
3313
  * @param options The image enhancement options. See BeautyOptions.
@@ -3428,7 +3466,7 @@ export abstract class IRtcEngine {
3428
3466
  * Initializes the video view of a remote user.
3429
3467
  *
3430
3468
  * This method initializes the video view of a remote stream on the local device. It affects only the video view that the local user sees. Call this method to bind the remote video stream to a video view and to set the rendering and mirror modes of the video view. You need to specify the ID of the remote user in this method. If the remote user ID is unknown to the application, set it after the app receives the onUserJoined callback. To unbind the remote user from the view, set the view parameter to NULL. Once the remote user leaves the channel, the SDK unbinds the remote user.
3431
- * If you use the Agora recording function, the recording client joins the channel as a placeholder client, triggering the onUserJoined callback. Do not bind the placeholder client to the app view because the placeholder client does not send any video streams. If your app does not recognize the placeholder client, bind the remote user to the view when the SDK triggers the onFirstRemoteVideoDecoded callback.
3469
+ * When using the recording service, the app does not need to bind a view, as it does not send a video stream. If your app does not recognize the recording service, bind the remote user to the view when the SDK triggers the onFirstRemoteVideoDecoded callback.
3432
3470
  * If you want to stop rendering the view, set view to null and then call this method again to stop rendering and clear the rendering cache.
3433
3471
  *
3434
3472
  * @param canvas The remote video view and settings. See VideoCanvas.
@@ -3442,9 +3480,7 @@ export abstract class IRtcEngine {
3442
3480
  /**
3443
3481
  * Initializes the local video view.
3444
3482
  *
3445
- * This method initializes the video view of a local stream on the local device. It affects only the video view that the local user sees, not the published local video stream. Call this method to bind the local video stream to a video view (view) and to set the rendering and mirror modes of the video view. After initialization, call this method to set the local video and then join the channel. The local video still binds to the view after you leave the channel. To unbind the local video from the view, set the view parameter as null. In real-time interactive scenarios, if you need to simultaneously view multiple preview frames in the local video preview, and each frame is at a different observation position along the video link, you can repeatedly call this method to set different view s and set different observation positions for each view. For example, by setting the video source to the camera and then configuring two view s with position setting to PositionPostCapturerOrigin and PositionPostCapturer, you can simultaneously preview the raw, unprocessed video frame and the video frame that has undergone preprocessing (image enhancement effects, virtual background, watermark) in the local video preview.
3446
- * You can call this method either before or after joining a channel.
3447
- * If you want to stop rendering the view, set view to null and then call this method again to stop rendering and clear the rendering cache.
3483
+ * This method initializes the video view of a local stream on the local device. It only affects the video seen by the local user and does not impact the publishing of the local video. Call this method to bind the local video stream to a video view (view) and to set the rendering and mirror modes of the video view. The binding remains valid after leaving the channel. To stop rendering or unbind the local video from the view, set view as null.
3448
3484
  *
3449
3485
  * @param canvas The local video view and settings. See VideoCanvas.
3450
3486
  *
@@ -3457,9 +3493,9 @@ export abstract class IRtcEngine {
3457
3493
  /**
3458
3494
  * Sets video application scenarios.
3459
3495
  *
3460
- * After successfully calling this method, the SDK will automatically enable the best practice strategies and adjust key performance metrics based on the specified scenario, to optimize the video experience. Ensure that you call this method before joining a channel.
3496
+ * After successfully calling this method, the SDK will automatically enable the best practice strategies and adjust key performance metrics based on the specified scenario, to optimize the video experience. Call this method before joining a channel.
3461
3497
  *
3462
- * @param scenarioType The type of video application scenario. See VideoApplicationScenarioType. If set to ApplicationScenarioMeeting (1), the SDK automatically enables the following strategies:
3498
+ * @param scenarioType The type of video application scenario. See VideoApplicationScenarioType. ApplicationScenarioMeeting (1) is suitable for meeting scenarios. The SDK automatically enables the following strategies:
3463
3499
  * 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.
3464
3500
  * 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.
3465
3501
  * If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
@@ -3472,7 +3508,7 @@ export abstract class IRtcEngine {
3472
3508
  * 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:
3473
3509
  * Resolution: 480 × 272
3474
3510
  * Frame rate: 15 fps
3475
- * Bitrate: 500 Kbps
3511
+ * Bitrate: 500 Kbps ApplicationScenario1v1 (2) is suitable for 1v1 video call scenarios. To meet the requirements for low latency and high-quality video in this scenario, the SDK optimizes its strategies, improving performance in terms of video quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under weak network conditions.
3476
3512
  *
3477
3513
  * @returns
3478
3514
  * 0: Success.
@@ -3575,11 +3611,6 @@ export abstract class IRtcEngine {
3575
3611
  */
3576
3612
  abstract muteAllRemoteAudioStreams(mute: boolean): number;
3577
3613
 
3578
- /**
3579
- * @ignore
3580
- */
3581
- abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number;
3582
-
3583
3614
  /**
3584
3615
  * Stops or resumes subscribing to the audio stream of a specified user.
3585
3616
  *
@@ -3633,17 +3664,13 @@ export abstract class IRtcEngine {
3633
3664
  */
3634
3665
  abstract muteAllRemoteVideoStreams(mute: boolean): number;
3635
3666
 
3636
- /**
3637
- * @ignore
3638
- */
3639
- abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number;
3640
-
3641
3667
  /**
3642
3668
  * Sets the default video stream type to subscribe to.
3643
3669
  *
3644
- * The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream. The SDK defaults to enabling low-quality video stream adaptive mode (AutoSimulcastStream) on the sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling this method, and upon receiving the request, the sending end automatically starts sending the low-quality video stream.
3645
- * Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
3646
- * If you call both this method and setRemoteVideoStreamType, the setting of setRemoteVideoStreamType takes effect.
3670
+ * The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream. Depending on the default behavior of the sender and the specific settings when calling setDualStreamMode, the scenarios for the receiver calling this method are as follows:
3671
+ * The SDK enables low-quality video stream adaptive mode (AutoSimulcastStream) on the sender side by default, meaning only the high-quality video stream is transmitted. Only the receiver with the role of the host can call this method to initiate a low-quality video stream request. Once the sender receives the request, it starts automatically sending the low-quality video stream. At this point, all users in the channel can call this method to switch to low-quality video stream subscription mode.
3672
+ * If the sender calls setDualStreamMode and sets mode to DisableSimulcastStream (never send low-quality video stream), then calling this method will have no effect.
3673
+ * If the sender calls setDualStreamMode and sets mode to EnableSimulcastStream (always send low-quality video stream), both the host and audience receivers can call this method to switch to low-quality video stream subscription mode.
3647
3674
  *
3648
3675
  * @param streamType The default video-stream type. See VideoStreamType.
3649
3676
  *
@@ -3668,11 +3695,12 @@ export abstract class IRtcEngine {
3668
3695
  /**
3669
3696
  * Sets the video stream type to subscribe to.
3670
3697
  *
3671
- * The SDK defaults to enabling low-quality video stream adaptive mode (AutoSimulcastStream) on the sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling this method, and upon receiving the request, the sending end automatically starts sending the low-quality video stream. The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream.
3698
+ * Depending on the default behavior of the sender and the specific settings when calling setDualStreamMode, the scenarios for the receiver calling this method are as follows:
3699
+ * The SDK enables low-quality video stream adaptive mode (AutoSimulcastStream) on the sender side by default, meaning only the high-quality video stream is transmitted. Only the receiver with the role of the host can call this method to initiate a low-quality video stream request. Once the sender receives the request, it starts automatically sending the low-quality video stream. At this point, all users in the channel can call this method to switch to low-quality video stream subscription mode.
3700
+ * If the sender calls setDualStreamMode and sets mode to DisableSimulcastStream (never send low-quality video stream), then calling this method will have no effect.
3701
+ * If the sender calls setDualStreamMode and sets mode to EnableSimulcastStream (always send low-quality video stream), both the host and audience receivers can call this method to switch to low-quality video stream subscription mode. The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream.
3672
3702
  * You can call this method either before or after joining a channel.
3673
- * If the publisher has already called setDualStreamMode and set mode to DisableSimulcastStream (never send low-quality video stream), calling this method will not take effect, you should call setDualStreamMode again on the sending end and adjust the settings.
3674
- * Calling this method on the receiving end of the audience role will not take effect.
3675
- * If you call both setRemoteVideoStreamType and setRemoteDefaultVideoStreamType, the settings in setRemoteVideoStreamType take effect.
3703
+ * If you call both this method and setRemoteDefaultVideoStreamType, the setting of this method takes effect.
3676
3704
  *
3677
3705
  * @param uid The user ID.
3678
3706
  * @param streamType The video stream type, see VideoStreamType.
@@ -3818,9 +3846,9 @@ export abstract class IRtcEngine {
3818
3846
  /**
3819
3847
  * Starts audio recording on the client and sets recording configurations.
3820
3848
  *
3821
- * The Agora SDK allows recording during a call. After successfully calling this method, you can record the audio of users in the channel and get an audio recording file. Supported formats of the recording file are as follows:
3849
+ * The Agora SDK allows recording during a call. After successfully calling this method, you can record the audio of users in the channel and get an audio recording file. Supported formats of audio files are as follows:
3822
3850
  * WAV: High-fidelity files with typically larger file sizes. For example, if the sample rate is 32,000 Hz, the file size for 10-minute recording is approximately 73 MB.
3823
- * AAC: Low-fidelity files with typically smaller file sizes. For example, if the sample rate is 32,000 Hz and the recording quality is AudioRecordingQualityMedium, the file size for 10-minute recording is approximately 2 MB. Once the user leaves the channel, the recording automatically stops. Call this method after joining a channel.
3851
+ * AAC: Low-fidelity files with typically smaller file sizes. For example, if the sample rate is 32,000 Hz and the recording quality is AudioRecordingQualityMedium, the file size for 10-minute recording is approximately 2 MB. Once the user leaves the channel, the recording automatically stops.
3824
3852
  *
3825
3853
  * @param config Recording configurations. See AudioRecordingConfiguration.
3826
3854
  *
@@ -3854,10 +3882,12 @@ export abstract class IRtcEngine {
3854
3882
  abstract stopAudioRecording(): number;
3855
3883
 
3856
3884
  /**
3857
- * Creates a media player instance.
3885
+ * Creates a media player object.
3886
+ *
3887
+ * Before calling any APIs in the IMediaPlayer class, you need to call this method to create an instance of the media player. If you need to create multiple instances, you can call this method multiple times.
3858
3888
  *
3859
3889
  * @returns
3860
- * The IMediaPlayer instance, if the method call succeeds.
3890
+ * An IMediaPlayer object, if the method call succeeds.
3861
3891
  * An empty pointer, if the method call fails.
3862
3892
  */
3863
3893
  abstract createMediaPlayer(): IMediaPlayer;
@@ -3886,17 +3916,14 @@ export abstract class IRtcEngine {
3886
3916
  /**
3887
3917
  * Starts playing the music file.
3888
3918
  *
3889
- * This method mixes the specified local or online audio file with the audio from the microphone, or replaces the microphone's audio with the specified local or remote audio file. A successful method call triggers the onAudioMixingStateChanged (AudioMixingStatePlaying) callback. When the audio mixing file playback finishes, the SDK triggers the onAudioMixingStateChanged (AudioMixingStateStopped) callback on the local client.
3890
- * You can call this method either before or after joining a channel. If you need to call startAudioMixing multiple times, ensure that the time interval between calling this method is more than 500 ms.
3891
- * If the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL, the SDK reports 701.
3892
- * For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
3919
+ * For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support. If the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL, the SDK reports AudioMixingReasonCanNotOpen.
3893
3920
  *
3894
3921
  * @param filePath File path:
3895
3922
  * Windows: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example : C:\music\audio.mp4.
3896
3923
  * macOS: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: /var/mobile/Containers/Data/audio.mp4.
3897
3924
  * @param loopback Whether to only play music files on the local client: true : Only play music files on the local client so that only the local user can hear the music. false : Publish music files to remote clients so that both the local user and remote users can hear the music.
3898
3925
  * @param cycle The number of times the music file plays.
3899
- * 0: The number of playback times. For example, 0 means that the SDK does not play the music file while 1 means that the SDK plays once.
3926
+ * >0: The number of times for playback. For example, 1 represents playing 1 time.
3900
3927
  * -1: Play the audio file in an infinite loop.
3901
3928
  * @param startPos The playback position (ms) of the music file.
3902
3929
  *
@@ -3918,9 +3945,9 @@ export abstract class IRtcEngine {
3918
3945
  ): number;
3919
3946
 
3920
3947
  /**
3921
- * Stops playing and mixing the music file.
3948
+ * Stops playing the music file.
3922
3949
  *
3923
- * This method stops the audio mixing. Call this method when you are in a channel.
3950
+ * After calling startAudioMixing to play a music file, you can call this method to stop the playing. If you only need to pause the playback, call pauseAudioMixing.
3924
3951
  *
3925
3952
  * @returns
3926
3953
  * 0: Success.
@@ -3931,7 +3958,7 @@ export abstract class IRtcEngine {
3931
3958
  /**
3932
3959
  * Pauses playing and mixing the music file.
3933
3960
  *
3934
- * Call this method after joining a channel.
3961
+ * After calling startAudioMixing to play a music file, you can call this method to pause the playing. If you need to stop the playback, call stopAudioMixing.
3935
3962
  *
3936
3963
  * @returns
3937
3964
  * 0: Success.
@@ -3942,7 +3969,7 @@ export abstract class IRtcEngine {
3942
3969
  /**
3943
3970
  * Resumes playing and mixing the music file.
3944
3971
  *
3945
- * This method resumes playing and mixing the music file. Call this method when you are in a channel.
3972
+ * After calling pauseAudioMixing to pause the playback, you can call this method to resume the playback.
3946
3973
  *
3947
3974
  * @returns
3948
3975
  * 0: Success.
@@ -3957,7 +3984,7 @@ export abstract class IRtcEngine {
3957
3984
  * For the supported formats of audio files, see.
3958
3985
  * You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
3959
3986
  *
3960
- * @param index The audio track you want to specify. The value range is [0, getAudioTrackCount ()].
3987
+ * @param index The audio track you want to specify. The value should be greater than 0 and less than that of returned by getAudioTrackCount.
3961
3988
  *
3962
3989
  * @returns
3963
3990
  * 0: Success.
@@ -3980,7 +4007,6 @@ export abstract class IRtcEngine {
3980
4007
  * Adjusts the volume during audio mixing.
3981
4008
  *
3982
4009
  * This method adjusts the audio mixing volume on both the local client and remote clients.
3983
- * Call this method after startAudioMixing.
3984
4010
  *
3985
4011
  * @param volume Audio mixing volume. The value ranges between 0 and 100. The default value is 100, which means the original volume.
3986
4012
  *
@@ -3993,7 +4019,7 @@ export abstract class IRtcEngine {
3993
4019
  /**
3994
4020
  * Adjusts the volume of audio mixing for publishing.
3995
4021
  *
3996
- * This method adjusts the volume of audio mixing for publishing (sending to other users). Call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4022
+ * This method adjusts the volume of audio mixing for publishing (sending to other users).
3997
4023
  *
3998
4024
  * @param volume The volume of audio mixing for local playback. The value ranges between 0 and 100 (default). 100 represents the original volume.
3999
4025
  *
@@ -4017,8 +4043,6 @@ export abstract class IRtcEngine {
4017
4043
  /**
4018
4044
  * Adjusts the volume of audio mixing for local playback.
4019
4045
  *
4020
- * Call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4021
- *
4022
4046
  * @param volume The volume of audio mixing for local playback. The value ranges between 0 and 100 (default). 100 represents the original volume.
4023
4047
  *
4024
4048
  * @returns
@@ -4030,7 +4054,7 @@ export abstract class IRtcEngine {
4030
4054
  /**
4031
4055
  * Retrieves the audio mixing volume for local playback.
4032
4056
  *
4033
- * This method helps troubleshoot audio volume‑related issues. You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4057
+ * You can call this method to get the local playback volume of the mixed audio file, which helps in troubleshooting volume‑related issues.
4034
4058
  *
4035
4059
  * @returns
4036
4060
  * ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
@@ -4041,7 +4065,7 @@ export abstract class IRtcEngine {
4041
4065
  /**
4042
4066
  * Retrieves the duration (ms) of the music file.
4043
4067
  *
4044
- * Retrieves the total duration (ms) of the audio. You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4068
+ * Retrieves the total duration (ms) of the audio.
4045
4069
  *
4046
4070
  * @returns
4047
4071
  * ≥ 0: The audio mixing duration, if this method call succeeds.
@@ -4064,7 +4088,7 @@ export abstract class IRtcEngine {
4064
4088
  /**
4065
4089
  * Sets the audio mixing position.
4066
4090
  *
4067
- * Call this method to set the playback position of the music file to a different starting position (the default plays from the beginning). You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4091
+ * Call this method to set the playback position of the music file to a different starting position (the default plays from the beginning).
4068
4092
  *
4069
4093
  * @param pos Integer. The playback position (ms).
4070
4094
  *
@@ -4077,9 +4101,7 @@ export abstract class IRtcEngine {
4077
4101
  /**
4078
4102
  * Sets the channel mode of the current audio file.
4079
4103
  *
4080
- * In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.
4081
- * You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4082
- * This method only applies to stereo audio files.
4104
+ * In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode.
4083
4105
  *
4084
4106
  * @param mode The channel mode. See AudioMixingDualMonoMode.
4085
4107
  *
@@ -4092,7 +4114,7 @@ export abstract class IRtcEngine {
4092
4114
  /**
4093
4115
  * Sets the pitch of the local music file.
4094
4116
  *
4095
- * When a local music file is mixed with a local human voice, call this method to set the pitch of the local music file only. You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
4117
+ * When a local music file is mixed with a local human voice, call this method to set the pitch of the local music file only.
4096
4118
  *
4097
4119
  * @param pitch Sets the pitch of the local music file by the chromatic scale. The default value is 0, which means keeping the original pitch. The value ranges from -12 to 12, and the pitch value between consecutive values is a chromatic value. The greater the absolute value of this parameter, the higher or lower the pitch of the local music file.
4098
4120
  *
@@ -4132,8 +4154,6 @@ export abstract class IRtcEngine {
4132
4154
  /**
4133
4155
  * Sets the volume of the audio effects.
4134
4156
  *
4135
- * Call this method after playEffect.
4136
- *
4137
4157
  * @param volume The playback volume. The value range is [0, 100]. The default value is 100, which represents the original volume.
4138
4158
  *
4139
4159
  * @returns
@@ -4145,7 +4165,7 @@ export abstract class IRtcEngine {
4145
4165
  /**
4146
4166
  * Preloads a specified audio effect file into the memory.
4147
4167
  *
4148
- * To ensure smooth communication, It is recommended that you limit the size of the audio effect file. You can call this method to preload the audio effect before calling joinChannel. For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
4168
+ * Ensure the size of all preloaded files does not exceed the limit. For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
4149
4169
  *
4150
4170
  * @param soundId The audio effect ID. The ID of each audio effect file is unique.
4151
4171
  * @param filePath File path:
@@ -4166,10 +4186,10 @@ export abstract class IRtcEngine {
4166
4186
  /**
4167
4187
  * Plays the specified local or online audio effect file.
4168
4188
  *
4169
- * If you use this method to play an online audio effect file, Agora recommends that you cache the online audio effect file to your local device, call preloadEffect to preload the cached audio effect file into memory, and then call this method to play the audio effect. Otherwise, you might encounter playback failures or no sound during playback due to loading timeouts or failures. To play multiple audio effect files at the same time, call this method multiple times with different soundId and filePath. To achieve the optimal user experience, Agora recommends that do not playing more than three audio files at the same time. After the playback of an audio effect file completes, the SDK triggers the onAudioEffectFinished callback.
4189
+ * To play multiple audio effect files at the same time, call this method multiple times with different soundId and filePath. To achieve the optimal user experience, Agora recommends that you do not playing more than three audio files at the same time.
4170
4190
  *
4171
4191
  * @param soundId The audio effect ID. The ID of each audio effect file is unique. If you have preloaded an audio effect into memory by calling preloadEffect, ensure that the value of this parameter is the same as that of soundId in preloadEffect.
4172
- * @param filePath The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example, C:\music\audio.mp4. Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats. If you have preloaded an audio effect into memory by calling preloadEffect, ensure that the value of this parameter is the same as that of filePath in preloadEffect.
4192
+ * @param filePath The file path. The SDK supports URLs and absolute path of local files. The absolute path needs to be accurate to the file name and extension. Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. If you have preloaded an audio effect into memory by calling preloadEffect, ensure that the value of this parameter is the same as that of filePath in preloadEffect.
4173
4193
  * @param loopCount The number of times the audio effect loops.
4174
4194
  * ≥ 0: The number of playback times. For example, 1 means looping one time, which means playing the audio effect two times in total.
4175
4195
  * -1: Play the audio file in an infinite loop.
@@ -4238,7 +4258,7 @@ export abstract class IRtcEngine {
4238
4258
  abstract getVolumeOfEffect(soundId: number): number;
4239
4259
 
4240
4260
  /**
4241
- * Sets the volume of a specified audio effect.
4261
+ * Gets the volume of a specified audio effect file.
4242
4262
  *
4243
4263
  * @param soundId The ID of the audio effect. The ID of each audio effect file is unique.
4244
4264
  * @param volume The playback volume. The value range is [0, 100]. The default value is 100, which represents the original volume.
@@ -4283,6 +4303,8 @@ export abstract class IRtcEngine {
4283
4303
  /**
4284
4304
  * Resumes playing all audio effect files.
4285
4305
  *
4306
+ * After you call pauseAllEffects to pause the playback, you can call this method to resume the playback.
4307
+ *
4286
4308
  * @returns
4287
4309
  * 0: Success.
4288
4310
  * < 0: Failure.
@@ -4292,6 +4314,8 @@ export abstract class IRtcEngine {
4292
4314
  /**
4293
4315
  * Stops playing a specified audio effect.
4294
4316
  *
4317
+ * When you no longer need to play the audio effect, you can call this method to stop the playback. If you only need to pause the playback, call pauseEffect.
4318
+ *
4295
4319
  * @param soundId The ID of the audio effect. Each audio effect has a unique ID.
4296
4320
  *
4297
4321
  * @returns
@@ -4303,6 +4327,8 @@ export abstract class IRtcEngine {
4303
4327
  /**
4304
4328
  * Stops playing all audio effects.
4305
4329
  *
4330
+ * When you no longer need to play the audio effect, you can call this method to stop the playback. If you only need to pause the playback, call pauseAllEffects.
4331
+ *
4306
4332
  * @returns
4307
4333
  * 0: Success.
4308
4334
  * < 0: Failure.
@@ -4312,6 +4338,8 @@ export abstract class IRtcEngine {
4312
4338
  /**
4313
4339
  * Releases a specified preloaded audio effect from the memory.
4314
4340
  *
4341
+ * After loading the audio effect file into memory using preloadEffect, if you need to release the audio effect file, call this method.
4342
+ *
4315
4343
  * @param soundId The ID of the audio effect. Each audio effect has a unique ID.
4316
4344
  *
4317
4345
  * @returns
@@ -4441,14 +4469,7 @@ export abstract class IRtcEngine {
4441
4469
  /**
4442
4470
  * Sets a preset voice beautifier effect.
4443
4471
  *
4444
- * Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting a voice beautifier effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios. To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:
4445
- * Call setAudioScenario to set the audio scenario to high-quality audio scenario, namely AudioScenarioGameStreaming (3).
4446
- * Call setAudioProfile to set the profile parameter to AudioProfileMusicHighQuality (4) or AudioProfileMusicHighQualityStereo (5).
4447
- * You can call this method either before or after joining a channel.
4448
- * Do not set the profile parameter in setAudioProfile to AudioProfileSpeechStandard (1) or AudioProfileIot (6), or the method does not take effect.
4449
- * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
4450
- * After calling setVoiceBeautifierPreset, Agora does not recommend calling the following methods, otherwise the effect set by setVoiceBeautifierPreset will be overwritten: setAudioEffectPreset setAudioEffectParameters setLocalVoicePitch setLocalVoiceEqualization setLocalVoiceReverb setVoiceBeautifierParameters setVoiceConversionPreset
4451
- * This method relies on the voice beautifier dynamic library libagora_audio_beauty_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
4472
+ * Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting a voice beautifier effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios.
4452
4473
  *
4453
4474
  * @param preset The preset voice beautifier effect options: VoiceBeautifierPreset.
4454
4475
  *
@@ -4461,14 +4482,7 @@ export abstract class IRtcEngine {
4461
4482
  /**
4462
4483
  * Sets an SDK preset audio effect.
4463
4484
  *
4464
- * To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:
4465
- * Call setAudioScenario to set the audio scenario to high-quality audio scenario, namely AudioScenarioGameStreaming (3).
4466
- * Call setAudioProfile to set the profile parameter to AudioProfileMusicHighQuality (4) or AudioProfileMusicHighQualityStereo (5). Call this method to set an SDK preset audio effect for the local user who sends an audio stream. This audio effect does not change the gender characteristics of the original voice. After setting an audio effect, all users in the channel can hear the effect.
4467
- * Do not set the profile parameter in setAudioProfile to AudioProfileSpeechStandard (1) or AudioProfileIot (6), or the method does not take effect.
4468
- * You can call this method either before or after joining a channel.
4469
- * If you call setAudioEffectPreset and set enumerators except for RoomAcoustics3dVoice or PitchCorrection, do not call setAudioEffectParameters; otherwise, setAudioEffectPreset is overridden.
4470
- * After calling setAudioEffectPreset, Agora does not recommend you to call the following methods, otherwise the effect set by setAudioEffectPreset will be overwritten: setVoiceBeautifierPreset setLocalVoicePitch setLocalVoiceEqualization setLocalVoiceReverb setVoiceBeautifierParameters setVoiceConversionPreset
4471
- * This method relies on the voice beautifier dynamic library libagora_audio_beauty_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
4485
+ * Call this method to set an SDK preset audio effect for the local user who sends an audio stream. This audio effect does not change the gender characteristics of the original voice. After setting an audio effect, all users in the channel can hear the effect.
4472
4486
  *
4473
4487
  * @param preset The options for SDK preset audio effects. See AudioEffectPreset.
4474
4488
  *
@@ -4481,14 +4495,7 @@ export abstract class IRtcEngine {
4481
4495
  /**
4482
4496
  * Sets a preset voice beautifier effect.
4483
4497
  *
4484
- * To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:
4485
- * Call setAudioScenario to set the audio scenario to high-quality audio scenario, namely AudioScenarioGameStreaming (3).
4486
- * Call setAudioProfile to set the profile parameter to AudioProfileMusicHighQuality (4) or AudioProfileMusicHighQualityStereo (5). Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting an audio effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios.
4487
- * Do not set the profile parameter in setAudioProfile to AudioProfileSpeechStandard (1) or AudioProfileIot (6), or the method does not take effect.
4488
- * You can call this method either before or after joining a channel.
4489
- * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
4490
- * After calling setVoiceConversionPreset, Agora does not recommend you to call the following methods, otherwise the effect set by setVoiceConversionPreset will be overwritten: setAudioEffectPreset setAudioEffectParameters setVoiceBeautifierPreset setVoiceBeautifierParameters setLocalVoicePitch setLocalVoiceFormant setLocalVoiceEqualization setLocalVoiceReverb
4491
- * This method relies on the voice beautifier dynamic library libagora_audio_beauty_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
4498
+ * Call this method to set a preset voice changing effect for the local user who publishes an audio stream in a channel. After setting the voice changing effect, all users in the channel can hear the effect. You can set different voice changing effects for the user depending on different scenarios.
4492
4499
  *
4493
4500
  * @param preset The options for the preset voice beautifier effects: VoiceConversionPreset.
4494
4501
  *
@@ -4510,6 +4517,7 @@ export abstract class IRtcEngine {
4510
4517
  * You can call this method either before or after joining a channel.
4511
4518
  * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
4512
4519
  * After calling setAudioEffectParameters, Agora does not recommend you to call the following methods, otherwise the effect set by setAudioEffectParameters will be overwritten: setAudioEffectPreset setVoiceBeautifierPreset setLocalVoicePitch setLocalVoiceEqualization setLocalVoiceReverb setVoiceBeautifierParameters setVoiceConversionPreset
4520
+ * This method relies on the voice beautifier dynamic library libagora_audio_beauty_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
4513
4521
  *
4514
4522
  * @param preset The options for SDK preset audio effects: RoomAcoustics3dVoice, 3D voice effect:
4515
4523
  * You need to set the profile parameter in setAudioProfile to AudioProfileMusicStandardStereo (3) or AudioProfileMusicHighQualityStereo (5) before setting this enumerator; otherwise, the enumerator setting does not take effect.
@@ -4539,6 +4547,7 @@ export abstract class IRtcEngine {
4539
4547
  * You can call this method either before or after joining a channel.
4540
4548
  * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
4541
4549
  * After calling setVoiceBeautifierParameters, Agora does not recommend calling the following methods, otherwise the effect set by setVoiceBeautifierParameters will be overwritten: setAudioEffectPreset setAudioEffectParameters setVoiceBeautifierPreset setLocalVoicePitch setLocalVoiceEqualization setLocalVoiceReverb setVoiceConversionPreset
4550
+ * This method relies on the voice beautifier dynamic library libagora_audio_beauty_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
4542
4551
  *
4543
4552
  * @param preset The option for the preset audio effect: SINGING_BEAUTIFIER : The singing beautifier effect.
4544
4553
  * @param param1 The gender characteristics options for the singing voice: 1 : A male-sounding voice. 2 : A female-sounding voice.
@@ -4566,8 +4575,6 @@ export abstract class IRtcEngine {
4566
4575
  /**
4567
4576
  * Changes the voice pitch of the local speaker.
4568
4577
  *
4569
- * You can call this method either before or after joining a channel.
4570
- *
4571
4578
  * @param pitch The local voice pitch. The value range is [0.5,2.0]. The lower the value, the lower the pitch. The default value is 1.0 (no change to the pitch).
4572
4579
  *
4573
4580
  * @returns
@@ -4579,7 +4586,7 @@ export abstract class IRtcEngine {
4579
4586
  /**
4580
4587
  * Set the formant ratio to change the timbre of human voice.
4581
4588
  *
4582
- * Formant ratio affects the timbre of voice. The smaller the value, the deeper the sound will be, and the larger, the sharper. You can call this method to set the formant ratio of local audio to change the timbre of human voice. After you set the formant ratio, all users in the channel can hear the changed voice. If you want to change the timbre and pitch of voice at the same time, Agora recommends using this method together with setLocalVoicePitch. You can call this method either before or after joining a channel.
4589
+ * Formant ratio affects the timbre of voice. The smaller the value, the deeper the sound will be, and the larger, the sharper. After you set the formant ratio, all users in the channel can hear the changed voice. If you want to change the timbre and pitch of voice at the same time, Agora recommends using this method together with setLocalVoicePitch.
4583
4590
  *
4584
4591
  * @param formantRatio The formant ratio. The value range is [-1.0, 1.0]. The default value is 0.0, which means do not change the timbre of the voice. Agora recommends setting this value within the range of [-0.4, 0.6]. Otherwise, the voice may be seriously distorted.
4585
4592
  *
@@ -4592,8 +4599,6 @@ export abstract class IRtcEngine {
4592
4599
  /**
4593
4600
  * Sets the local voice equalization effect.
4594
4601
  *
4595
- * You can call this method either before or after joining a channel.
4596
- *
4597
4602
  * @param bandFrequency The band frequency. The value ranges between 0 and 9; representing the respective 10-band center frequencies of the voice effects, including 31, 62, 125, 250, 500, 1k, 2k, 4k, 8k, and 16k Hz. See AudioEqualizationBandFrequency.
4598
4603
  * @param bandGain The gain of each band in dB. The value ranges between -15 and 15. The default value is 0.
4599
4604
  *
@@ -4653,14 +4658,23 @@ export abstract class IRtcEngine {
4653
4658
  abstract setHeadphoneEQParameters(lowGain: number, highGain: number): number;
4654
4659
 
4655
4660
  /**
4656
- * @ignore
4661
+ * Enables or disables the voice AI tuner.
4662
+ *
4663
+ * The voice AI tuner supports enhancing sound quality and adjusting tone style.
4664
+ *
4665
+ * @param enabled Whether to enable the voice AI tuner: true : Enables the voice AI tuner. false : (Default) Disable the voice AI tuner.
4666
+ * @param type Voice AI tuner sound types, see VoiceAiTunerType.
4667
+ *
4668
+ * @returns
4669
+ * 0: Success.
4670
+ * < 0: Failure.
4657
4671
  */
4658
4672
  abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number;
4659
4673
 
4660
4674
  /**
4661
4675
  * Sets the log file.
4662
4676
  *
4663
- * Deprecated: Use the mLogConfig parameter in initialize method instead. Specifies an SDK output log file. The log file records all log data for the SDK’s operation. Ensure that the directory for the log file exists and is writable. Ensure that you call initialize immediately after calling the IRtcEngine method, or the output log may not be complete.
4677
+ * Deprecated: This method is deprecated. Set the log file path by configuring the context parameter when calling initialize. Specifies an SDK output log file. The log file records all log data for the SDK’s operation.
4664
4678
  *
4665
4679
  * @param filePath The complete path of the log files. These log files are encoded in UTF-8.
4666
4680
  *
@@ -4686,9 +4700,9 @@ export abstract class IRtcEngine {
4686
4700
  /**
4687
4701
  * Sets the output log level of the SDK.
4688
4702
  *
4689
- * Deprecated: This method is deprecated. Use RtcEngineContext instead to set the log output level. Choose a level to see the logs preceding that level.
4703
+ * Deprecated: This method is deprecated. Set the log file level by configuring the context parameter when calling initialize. Choose a level to see the logs preceding that level.
4690
4704
  *
4691
- * @param level The log level: LogLevel.
4705
+ * @param level The log level. See LogLevel.
4692
4706
  *
4693
4707
  * @returns
4694
4708
  * 0: Success.
@@ -4733,10 +4747,7 @@ export abstract class IRtcEngine {
4733
4747
  /**
4734
4748
  * Updates the display mode of the local video view.
4735
4749
  *
4736
- * After initializing the local video view, you can call this method to update its rendering and mirror modes. It affects only the video view that the local user sees, not the published local video stream.
4737
- * Ensure that you have called the setupLocalVideo method to initialize the local video view before calling this method.
4738
- * During a call, you can call this method as many times as necessary to update the display mode of the local video view.
4739
- * This method only takes effect on the primary camera (PrimaryCameraSource). In scenarios involving custom video capture or the use of alternative video sources, you need to use setupLocalVideo instead of this method.
4750
+ * After initializing the local video view, you can call this method to update its rendering and mirror modes. It affects only the video view that the local user sees and does not impact the publishing of the local video.
4740
4751
  *
4741
4752
  * @param renderMode The local video display mode. See RenderModeType.
4742
4753
  * @param mirrorMode The mirror mode of the local video view. See VideoMirrorModeType. 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.
@@ -4853,16 +4864,14 @@ export abstract class IRtcEngine {
4853
4864
  /**
4854
4865
  * Sets the format of the captured raw audio data.
4855
4866
  *
4856
- * Sets the audio format for the onRecordAudioFrame callback.
4857
- * Ensure that you call this method before joining a channel.
4858
- * The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method. Sample interval (sec) = samplePerCall /(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s).
4867
+ * The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method. Sample interval (sec) = samplePerCall /(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the onRecordAudioFrame callback according to the sampling interval.
4859
4868
  *
4860
- * @param sampleRate The sample rate returned in the SDK, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4861
- * @param channel The number of channels returned by the SDK. You can set the value as 1 or 2:
4869
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4870
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4862
4871
  * 1: Mono.
4863
4872
  * 2: Stereo.
4864
4873
  * @param mode The use mode of the audio frame. See RawAudioFrameOpModeType.
4865
- * @param samplesPerCall The number of data samples returned in the SDK, such as 1024 for the Media Push.
4874
+ * @param samplesPerCall The number of data samples, such as 1024 for the Media Push.
4866
4875
  *
4867
4876
  * @returns
4868
4877
  * 0: Success.
@@ -4876,18 +4885,16 @@ export abstract class IRtcEngine {
4876
4885
  ): number;
4877
4886
 
4878
4887
  /**
4879
- * Sets the audio data format for playback.
4888
+ * Sets the format of the raw audio playback data.
4880
4889
  *
4881
- * Sets the data format for the onPlaybackAudioFrame callback.
4882
- * Ensure that you call this method before joining a channel.
4883
- * The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method. Sample interval (sec) = samplePerCall /(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the onPlaybackAudioFrame callback according to the sampling interval.
4890
+ * The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method. Sample interval (sec) = samplePerCall /(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the onPlaybackAudioFrame callback according to the sampling interval.
4884
4891
  *
4885
- * @param sampleRate The sample rate returned in the onPlaybackAudioFrame callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4886
- * @param channel The number of channels returned in the onPlaybackAudioFrame callback:
4892
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4893
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4887
4894
  * 1: Mono.
4888
4895
  * 2: Stereo.
4889
4896
  * @param mode The use mode of the audio frame. See RawAudioFrameOpModeType.
4890
- * @param samplesPerCall The number of data samples returned in the onPlaybackAudioFrame callback, such as 1024 for the Media Push.
4897
+ * @param samplesPerCall The number of data samples, such as 1024 for the Media Push.
4891
4898
  *
4892
4899
  * @returns
4893
4900
  * 0: Success.
@@ -4901,11 +4908,15 @@ export abstract class IRtcEngine {
4901
4908
  ): number;
4902
4909
 
4903
4910
  /**
4904
- * Sets the audio data format reported by onMixedAudioFrame.
4911
+ * Set the format of the raw audio data after mixing for audio capture and playback.
4905
4912
  *
4906
- * @param sampleRate The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.
4907
- * @param channel The number of channels of the audio data, which can be set as 1(Mono) or 2(Stereo).
4908
- * @param samplesPerCall Sets the number of samples. In Media Push scenarios, set it as 1024.
4913
+ * The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method. Sample interval (sec) = samplePerCall /(sampleRate × channel). Ensure that the sample interval 0.01 (s). The SDK triggers the onMixedAudioFrame callback according to the sampling interval.
4914
+ *
4915
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4916
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4917
+ * 1: Mono.
4918
+ * 2: Stereo.
4919
+ * @param samplesPerCall The number of data samples, such as 1024 for the Media Push.
4909
4920
  *
4910
4921
  * @returns
4911
4922
  * 0: Success.
@@ -4943,10 +4954,14 @@ export abstract class IRtcEngine {
4943
4954
  ): number;
4944
4955
 
4945
4956
  /**
4946
- * Sets the audio data format reported by onPlaybackAudioFrameBeforeMixing.
4957
+ * Sets the format of the raw audio playback data before mixing.
4947
4958
  *
4948
- * @param sampleRate The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.
4949
- * @param channel The number of channels of the audio data, which can be set as 1 (Mono) or 2 (Stereo).
4959
+ * The SDK triggers the onPlaybackAudioFrameBeforeMixing callback according to the sampling interval.
4960
+ *
4961
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4962
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4963
+ * 1: Mono.
4964
+ * 2: Stereo.
4950
4965
  *
4951
4966
  * @returns
4952
4967
  * 0: Success.
@@ -5290,7 +5305,12 @@ export abstract class IRtcEngine {
5290
5305
  ): number;
5291
5306
 
5292
5307
  /**
5293
- * @ignore
5308
+ * Sets the camera capture configuration.
5309
+ *
5310
+ * @param config The camera capture configuration. See CameraCapturerConfiguration.
5311
+ *
5312
+ * @returns
5313
+ * < 0: Failure.
5294
5314
  */
5295
5315
  abstract setCameraCapturerConfiguration(
5296
5316
  config: CameraCapturerConfiguration
@@ -5665,13 +5685,7 @@ export abstract class IRtcEngine {
5665
5685
  abstract stopScreenCapture(): number;
5666
5686
 
5667
5687
  /**
5668
- * Retrieves the call ID.
5669
- *
5670
- * When a user joins a channel on a client, a callId is generated to identify the call from the client. You can call this method to get the callId parameter, and pass it in when calling methods such as rate and complain. Call this method after joining a channel.
5671
- *
5672
- * @returns
5673
- * The current call ID, if the method succeeds.
5674
- * An empty string, if the method call fails.
5688
+ * @ignore
5675
5689
  */
5676
5690
  abstract getCallId(): string;
5677
5691
 
@@ -5922,7 +5936,7 @@ export abstract class IRtcEngine {
5922
5936
  /**
5923
5937
  * Enables or disables the built-in encryption.
5924
5938
  *
5925
- * In scenarios requiring high security, Agora recommends calling this method to enable the built-in encryption before joining a channel. All users in the same channel must use the same encryption mode and encryption key. After the user leaves the channel, the SDK automatically disables the built-in encryption. To enable the built-in encryption, call this method before the user joins the channel again. If you enable the built-in encryption, you cannot use the Media Push function.
5939
+ * After the user leaves the channel, the SDK automatically disables the built-in encryption. To enable the built-in encryption, call this method before the user joins the channel again.
5926
5940
  *
5927
5941
  * @param enabled Whether to enable built-in encryption: true : Enable the built-in encryption. false : (Default) Disable the built-in encryption.
5928
5942
  * @param config Built-in encryption configurations. See EncryptionConfig.
@@ -5950,11 +5964,11 @@ export abstract class IRtcEngine {
5950
5964
  /**
5951
5965
  * Sends data stream messages.
5952
5966
  *
5953
- * Sends data stream messages to all users in a channel. The SDK has the following restrictions on this method:
5954
- * Up to 30 packets can be sent per second in a channel with each packet having a maximum size of 1 KB.
5955
- * Each client can send up to 6 KB of data per second.
5956
- * Each user can have up to five data streams simultaneously. A successful method call triggers the onStreamMessage callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the onStreamMessageError callback on the remote client.
5957
- * Ensure that you call createDataStream to create a data channel before calling this method.
5967
+ * After calling createDataStream, you can call this method to send data stream messages to all users in the channel. The SDK has the following restrictions on this method:
5968
+ * Each user can have up to five data streams simultaneously.
5969
+ * Up to 60 packets can be sent per second in a data stream with each packet having a maximum size of 1 KB.
5970
+ * Up to 30 KB of data can be sent per second in a data stream. A successful method call triggers the onStreamMessage callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the onStreamMessageError callback on the remote client.
5971
+ * This method needs to be called after createDataStream and joining the channel.
5958
5972
  * In live streaming scenarios, this method only applies to hosts.
5959
5973
  *
5960
5974
  * @param streamId The data stream ID. You can get the data stream ID by calling createDataStream.
@@ -6123,7 +6137,7 @@ export abstract class IRtcEngine {
6123
6137
  * Call the registerLocalUserAccount method to register a user account, and then call the joinChannelWithUserAccount method to join a channel, which can shorten the time it takes to enter the channel.
6124
6138
  * Call the joinChannelWithUserAccount method to join a channel.
6125
6139
  * Ensure that the userAccount is unique in the channel.
6126
- * To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
6140
+ * To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a UID, then ensure all the other users use the UID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
6127
6141
  *
6128
6142
  * @param appId The App ID of your project on Agora Console.
6129
6143
  * @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported characters are as follow(89 in total):
@@ -6140,14 +6154,14 @@ export abstract class IRtcEngine {
6140
6154
  abstract registerLocalUserAccount(appId: string, userAccount: string): number;
6141
6155
 
6142
6156
  /**
6143
- * Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel.
6157
+ * Join a channel using a user account and token, and set the media options.
6144
6158
  *
6145
- * To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
6146
- * If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours. This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:
6147
- * The local client: onLocalUserRegistered, onJoinChannelSuccess and onConnectionStateChanged callbacks.
6148
- * The remote client: The onUserJoined callback, if the user is in the COMMUNICATION profile, and the onUserInfoUpdated callback if the user is a host in the LIVE_BROADCASTING profile. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.
6159
+ * Before calling this method, if you have not called registerLocalUserAccount to register a user account, when you call this method to join a channel, the SDK automatically creates a user account for you. Calling the registerLocalUserAccount method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billings. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods. To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a UID, then ensure all the other users use the UID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
6149
6160
  *
6150
- * @param token The token generated on your server for authentication. If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
6161
+ * @param token The token generated on your server for authentication.
6162
+ * (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
6163
+ * If you have only enabled the testing mode (using APP ID for authentication), this parameter is optional. You will automatically exit the channel 24 hours after successfully joining in.
6164
+ * If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
6151
6165
  * @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
6152
6166
  * All lowercase English letters: a to z.
6153
6167
  * All uppercase English letters: A to Z.
@@ -6165,11 +6179,11 @@ export abstract class IRtcEngine {
6165
6179
  * 0: Success.
6166
6180
  * < 0: Failure.
6167
6181
  * -2: The parameter is invalid. For example, the token is invalid, the uid parameter is not set to an integer, or the value of a member in ChannelMediaOptions is invalid. You need to pass in a valid parameter and join the channel again.
6168
- * -3: Failes to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
6182
+ * -3: Fails to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
6169
6183
  * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
6170
- * -8: The internal state of the IRtcEngine object is wrong. The typical cause is that you call this method to join the channel without calling startEchoTest to stop the test after calling stopEchoTest to start a call loop test. You need to call stopEchoTest before calling this method.
6171
- * -17: The request to join the channel is rejected. The typical cause is that the user is 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.
6172
- * -102: The channel name is invalid. You need to pass in a valid channelname in channelId to rejoin the channel.
6184
+ * -8: The internal state of the IRtcEngine object is wrong. The typical cause is that after calling startEchoTest to start a call loop test, you call this method to join the channel without calling stopEchoTest to stop the test. You need to call stopEchoTest before calling this method.
6185
+ * -17: The request to join the channel is rejected. The typical cause is that the user is already in the channel. Agora recommends that you use the onConnectionStateChanged callback to see whether the user is in the channel. Do not call this method to join the channel unless you receive the ConnectionStateDisconnected (1) state.
6186
+ * -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
6173
6187
  * -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
6174
6188
  */
6175
6189
  abstract joinChannelWithUserAccount(
@@ -6180,13 +6194,14 @@ export abstract class IRtcEngine {
6180
6194
  ): number;
6181
6195
 
6182
6196
  /**
6183
- * Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel.
6197
+ * Join a channel using a user account and token, and set the media options.
6184
6198
  *
6185
- * This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:
6186
- * The local client: onLocalUserRegistered, onJoinChannelSuccess and onConnectionStateChanged callbacks.
6187
- * The remote client: The onUserJoined callback, if the user is in the COMMUNICATION profile, and the onUserInfoUpdated callback if the user is a host in the LIVE_BROADCASTING profile. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods. To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
6199
+ * Before calling this method, if you have not called registerLocalUserAccount to register a user account, when you call this method to join a channel, the SDK automatically creates a user account for you. Calling the registerLocalUserAccount method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billings. If you want to stop subscribing to the media stream of other users, you can set the options parameter or call the corresponding mute method. To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a UID, then ensure all the other users use the UID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
6188
6200
  *
6189
- * @param token The token generated on your server for authentication. If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
6201
+ * @param token The token generated on your server for authentication.
6202
+ * (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
6203
+ * If you have only enabled the testing mode (using APP ID for authentication), this parameter is optional. You will automatically exit the channel 24 hours after successfully joining in.
6204
+ * If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
6190
6205
  * @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
6191
6206
  * All lowercase English letters: a to z.
6192
6207
  * All uppercase English letters: A to Z.
@@ -6203,6 +6218,13 @@ export abstract class IRtcEngine {
6203
6218
  * @returns
6204
6219
  * 0: Success.
6205
6220
  * < 0: Failure.
6221
+ * -2: The parameter is invalid. For example, the token is invalid, the uid parameter is not set to an integer, or the value of a member in ChannelMediaOptions is invalid. You need to pass in a valid parameter and join the channel again.
6222
+ * -3: Fails to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
6223
+ * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
6224
+ * -8: The internal state of the IRtcEngine object is wrong. The typical cause is that after calling startEchoTest to start a call loop test, you call this method to join the channel without calling stopEchoTest to stop the test. You need to call stopEchoTest before calling this method.
6225
+ * -17: The request to join the channel is rejected. The typical cause is that the user is already in the channel. Agora recommends that you use the onConnectionStateChanged callback to see whether the user is in the channel. Do not call this method to join the channel unless you receive the ConnectionStateDisconnected (1) state.
6226
+ * -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
6227
+ * -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
6206
6228
  */
6207
6229
  abstract joinChannelWithUserAccountEx(
6208
6230
  token: string,
@@ -6255,7 +6277,6 @@ export abstract class IRtcEngine {
6255
6277
  * < 0: Failure.
6256
6278
  * -1: A general error occurs (no specified reason).
6257
6279
  * -2: The parameter is invalid.
6258
- * -7: The method call was rejected. It may be because the SDK has not been initialized successfully, or the user role is not a host.
6259
6280
  * -8: Internal state error. Probably because the user is not a broadcaster.
6260
6281
  */
6261
6282
  abstract startOrUpdateChannelMediaRelay(
@@ -6270,6 +6291,7 @@ export abstract class IRtcEngine {
6270
6291
  * @returns
6271
6292
  * 0: Success.
6272
6293
  * < 0: Failure.
6294
+ * -5: The method call was rejected. There is no ongoing channel media relay.
6273
6295
  */
6274
6296
  abstract stopChannelMediaRelay(): number;
6275
6297
 
@@ -6281,6 +6303,7 @@ export abstract class IRtcEngine {
6281
6303
  * @returns
6282
6304
  * 0: Success.
6283
6305
  * < 0: Failure.
6306
+ * -5: The method call was rejected. There is no ongoing channel media relay.
6284
6307
  */
6285
6308
  abstract pauseAllChannelMediaRelay(): number;
6286
6309
 
@@ -6292,6 +6315,7 @@ export abstract class IRtcEngine {
6292
6315
  * @returns
6293
6316
  * 0: Success.
6294
6317
  * < 0: Failure.
6318
+ * -5: The method call was rejected. There is no paused channel media relay.
6295
6319
  */
6296
6320
  abstract resumeAllChannelMediaRelay(): number;
6297
6321
 
@@ -6355,7 +6379,14 @@ export abstract class IRtcEngine {
6355
6379
  ): number;
6356
6380
 
6357
6381
  /**
6358
- * @ignore
6382
+ * Enables the virtual metronome.
6383
+ *
6384
+ * After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in AgoraRhythmPlayerConfig. For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
6385
+ * By default, the sound of the virtual metronome is published in the channel. If you want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in ChannelMediaOptions as true.
6386
+ *
6387
+ * @param sound1 The absolute path or URL address (including the filename extensions) of the file for the downbeat. For example, C:\music\audio.mp4. For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
6388
+ * @param sound2 The absolute path or URL address (including the filename extensions) of the file for the upbeats. For example, C:\music\audio.mp4. For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
6389
+ * @param config The metronome configuration. See AgoraRhythmPlayerConfig.
6359
6390
  */
6360
6391
  abstract startRhythmPlayer(
6361
6392
  sound1: string,
@@ -6364,22 +6395,27 @@ export abstract class IRtcEngine {
6364
6395
  ): number;
6365
6396
 
6366
6397
  /**
6367
- * @ignore
6398
+ * Disables the virtual metronome.
6399
+ *
6400
+ * After calling startRhythmPlayer, you can call this method to disable the virtual metronome.
6368
6401
  */
6369
6402
  abstract stopRhythmPlayer(): number;
6370
6403
 
6371
6404
  /**
6372
- * @ignore
6405
+ * Configures the virtual metronome.
6406
+ *
6407
+ * After calling startRhythmPlayer, you can call this method to reconfigure the virtual metronome.
6408
+ * After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in AgoraRhythmPlayerConfig. For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
6409
+ * By default, the sound of the virtual metronome is published in the channel. If you want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in ChannelMediaOptions as true.
6410
+ *
6411
+ * @param config The metronome configuration. See AgoraRhythmPlayerConfig.
6373
6412
  */
6374
6413
  abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number;
6375
6414
 
6376
6415
  /**
6377
6416
  * Takes a snapshot of a video stream.
6378
6417
  *
6379
- * This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path. The method is asynchronous, and the SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the onSnapshotTaken callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.
6380
- * Call this method after joining a channel.
6381
- * When used for local video snapshots, this method takes a snapshot for the video streams specified in ChannelMediaOptions.
6382
- * If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
6418
+ * This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path.
6383
6419
  *
6384
6420
  * @param uid The user ID. Set uid as 0 if you want to take a snapshot of the local user's video.
6385
6421
  * @param filePath The local path (including filename extensions) of the snapshot. For example:
@@ -6395,10 +6431,10 @@ export abstract class IRtcEngine {
6395
6431
  /**
6396
6432
  * Enables or disables video screenshot and upload.
6397
6433
  *
6398
- * When video screenshot and upload function is enabled, the SDK takes screenshots and uploads videos sent by local users based on the type and frequency of the module you set in ContentInspectConfig. After video screenshot and upload, the Agora server sends the callback notification to your app server in HTTPS requests and sends all screenshots to the third-party cloud storage service. Before calling this method, ensure that you have contacted to activate the video screenshot upload service.
6434
+ * When video screenshot and upload function is enabled, the SDK takes screenshots and uploads videos sent by local users based on the type and frequency of the module you set in ContentInspectConfig. After video screenshot and upload, the Agora server sends the callback notification to your app server in HTTPS requests and sends all screenshots to the third-party cloud storage service.
6399
6435
  *
6400
- * @param enabled Whether to enable video screenshot and upload : true : Enables video screenshot and upload. false : Disables video screenshot and upload.
6401
- * @param config Configuration of video screenshot and upload. See ContentInspectConfig. When the video moderation module is set to video moderation via Agora self-developed extension(ContentInspectSupervision), the video screenshot and upload dynamic library libagora_content_inspect_extension.dll is required. Deleting this library disables the screenshot and upload feature.
6436
+ * @param enabled Whether to enalbe video screenshot and upload: true : Enables video screenshot and upload. false : Disables video screenshot and upload.
6437
+ * @param config Screenshot and upload configuration. See ContentInspectConfig. When the video moderation module is set to video moderation via Agora self-developed extension(ContentInspectSupervision), the video screenshot and upload dynamic library libagora_content_inspect_extension.dll is required. Deleting this library disables the screenshot and upload feature.
6402
6438
  *
6403
6439
  * @returns
6404
6440
  * 0: Success.
@@ -6490,7 +6526,7 @@ export abstract class IRtcEngine {
6490
6526
  /**
6491
6527
  * Sets whether to replace the current video feeds with images when publishing video streams.
6492
6528
  *
6493
- * Agora recommends that you call this method after joining a channel. When publishing video streams, you can call this method to replace the current video feeds with custom images. Once you enable this function, you can select images to replace the video feeds through the ImageTrackOptions parameter. If you disable this function, the remote users see the video feeds that you publish.
6529
+ * When publishing video streams, you can call this method to replace the current video feeds with custom images. Once you enable this function, you can select images to replace the video feeds through the ImageTrackOptions parameter. If you disable this function, the remote users see the video feeds that you publish.
6494
6530
  *
6495
6531
  * @param enable Whether to replace the current video feeds with custom images: true : Replace the current video feeds with custom images. false : (Default) Do not replace the current video feeds with custom images.
6496
6532
  * @param options Image configurations. See ImageTrackOptions.
@@ -6567,9 +6603,7 @@ export abstract class IRtcEngine {
6567
6603
  /**
6568
6604
  * Enables audio and video frame instant rendering.
6569
6605
  *
6570
- * After successfully calling this method, the SDK enables the instant frame rendering mode, which can speed up the first frame rendering speed after the user joins the channel.
6571
- * Once the instant rendering function is enabled, it can only be canceled by calling the release method to destroy the IRtcEngine object.
6572
- * In this mode, the SDK uses Agora's custom encryption algorithm to shorten the time required to establish transmission links, and the security is reduced compared to the standard DTLS (Datagram Transport Layer Security). If the application scenario requires higher security standards, Agora recommends that you do not use this method.
6606
+ * After successfully calling this method, the SDK enables the instant frame rendering mode, which can speed up the first frame rendering after the user joins the channel.
6573
6607
  *
6574
6608
  * @returns
6575
6609
  * 0: Success.
@@ -6823,131 +6857,131 @@ export enum MediaDeviceStateType {
6823
6857
  }
6824
6858
 
6825
6859
  /**
6826
- * Video profile.
6860
+ * @ignore
6827
6861
  */
6828
6862
  export enum VideoProfileType {
6829
6863
  /**
6830
- * 0: 160 × 120, frame rate 15 fps, bitrate 65 Kbps.
6864
+ * @ignore
6831
6865
  */
6832
6866
  VideoProfileLandscape120p = 0,
6833
6867
  /**
6834
- * 2: 120 × 120, frame rate 15 fps, bitrate 50 Kbps.
6868
+ * @ignore
6835
6869
  */
6836
6870
  VideoProfileLandscape120p3 = 2,
6837
6871
  /**
6838
- * 10: 320 × 180, frame rate 15 fps, bitrate 140 Kbps.
6872
+ * @ignore
6839
6873
  */
6840
6874
  VideoProfileLandscape180p = 10,
6841
6875
  /**
6842
- * 12: 180 × 180, frame rate 15 fps, bitrate 100 Kbps.
6876
+ * @ignore
6843
6877
  */
6844
6878
  VideoProfileLandscape180p3 = 12,
6845
6879
  /**
6846
- * 13: 240 × 180, frame rate 15 fps, bitrate 120 Kbps.
6880
+ * @ignore
6847
6881
  */
6848
6882
  VideoProfileLandscape180p4 = 13,
6849
6883
  /**
6850
- * 20: 320 × 240, frame rate 15 fps, bitrate 200 Kbps.
6884
+ * @ignore
6851
6885
  */
6852
6886
  VideoProfileLandscape240p = 20,
6853
6887
  /**
6854
- * 22: 240 × 240, frame rate 15 fps, bitrate 140 Kbps.
6888
+ * @ignore
6855
6889
  */
6856
6890
  VideoProfileLandscape240p3 = 22,
6857
6891
  /**
6858
- * 23: 424 × 240, frame rate 15 fps, bitrate 220 Kbps.
6892
+ * @ignore
6859
6893
  */
6860
6894
  VideoProfileLandscape240p4 = 23,
6861
6895
  /**
6862
- * 30: 640 × 360, frame rate 15 fps, bitrate 400 Kbps.
6896
+ * @ignore
6863
6897
  */
6864
6898
  VideoProfileLandscape360p = 30,
6865
6899
  /**
6866
- * 32: 360 × 360, frame rate 15 fps, bitrate 260 Kbps.
6900
+ * @ignore
6867
6901
  */
6868
6902
  VideoProfileLandscape360p3 = 32,
6869
6903
  /**
6870
- * 33: 640 × 360, frame rate 30 fps, bitrate 600 Kbps.
6904
+ * @ignore
6871
6905
  */
6872
6906
  VideoProfileLandscape360p4 = 33,
6873
6907
  /**
6874
- * 35: 360 × 360, frame rate 30 fps, bitrate 400 Kbps.
6908
+ * @ignore
6875
6909
  */
6876
6910
  VideoProfileLandscape360p6 = 35,
6877
6911
  /**
6878
- * 36: 480 × 360, frame rate 15 fps, bitrate 320 Kbps.
6912
+ * @ignore
6879
6913
  */
6880
6914
  VideoProfileLandscape360p7 = 36,
6881
6915
  /**
6882
- * 37: 480 × 360, frame rate 30 fps, bitrate 490 Kbps.
6916
+ * @ignore
6883
6917
  */
6884
6918
  VideoProfileLandscape360p8 = 37,
6885
6919
  /**
6886
- * 38: 640 × 360, frame rate 15 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
6920
+ * @ignore
6887
6921
  */
6888
6922
  VideoProfileLandscape360p9 = 38,
6889
6923
  /**
6890
- * 39: 640 × 360, frame rate 24 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
6924
+ * @ignore
6891
6925
  */
6892
6926
  VideoProfileLandscape360p10 = 39,
6893
6927
  /**
6894
- * 100: 640 × 360, frame rate 24 fps, bitrate 1000 Kbps. This profile applies only to the live streaming channel profile.
6928
+ * @ignore
6895
6929
  */
6896
6930
  VideoProfileLandscape360p11 = 100,
6897
6931
  /**
6898
- * 40: 640 × 480, frame rate 15 fps, bitrate 500 Kbps.
6932
+ * @ignore
6899
6933
  */
6900
6934
  VideoProfileLandscape480p = 40,
6901
6935
  /**
6902
- * 42: 480 × 480, frame rate 15 fps, bitrate 400 Kbps.
6936
+ * @ignore
6903
6937
  */
6904
6938
  VideoProfileLandscape480p3 = 42,
6905
6939
  /**
6906
- * 43: 640 × 480, frame rate 30 fps, bitrate 750 Kbps.
6940
+ * @ignore
6907
6941
  */
6908
6942
  VideoProfileLandscape480p4 = 43,
6909
6943
  /**
6910
- * 45: 480 × 480, frame rate 30 fps, bitrate 600 Kbps.
6944
+ * @ignore
6911
6945
  */
6912
6946
  VideoProfileLandscape480p6 = 45,
6913
6947
  /**
6914
- * 47: 848 × 480, frame rate 15 fps, bitrate 610 Kbps.
6948
+ * @ignore
6915
6949
  */
6916
6950
  VideoProfileLandscape480p8 = 47,
6917
6951
  /**
6918
- * 48: 848 × 480, frame rate 30 fps, bitrate 930 Kbps.
6952
+ * @ignore
6919
6953
  */
6920
6954
  VideoProfileLandscape480p9 = 48,
6921
6955
  /**
6922
- * 49: 640 × 480, frame rate 10 fps, bitrate 400 Kbps.
6956
+ * @ignore
6923
6957
  */
6924
6958
  VideoProfileLandscape480p10 = 49,
6925
6959
  /**
6926
- * 50: 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps.
6960
+ * @ignore
6927
6961
  */
6928
6962
  VideoProfileLandscape720p = 50,
6929
6963
  /**
6930
- * 52: 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps.
6964
+ * @ignore
6931
6965
  */
6932
6966
  VideoProfileLandscape720p3 = 52,
6933
6967
  /**
6934
- * 54: 960 × 720, frame rate 15 fps, bitrate 910 Kbps.
6968
+ * @ignore
6935
6969
  */
6936
6970
  VideoProfileLandscape720p5 = 54,
6937
6971
  /**
6938
- * 55: 960 × 720, frame rate 30 fps, bitrate 1380 Kbps.
6972
+ * @ignore
6939
6973
  */
6940
6974
  VideoProfileLandscape720p6 = 55,
6941
6975
  /**
6942
- * 60: 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps.
6976
+ * @ignore
6943
6977
  */
6944
6978
  VideoProfileLandscape1080p = 60,
6945
6979
  /**
6946
- * 60: 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps.
6980
+ * @ignore
6947
6981
  */
6948
6982
  VideoProfileLandscape1080p3 = 62,
6949
6983
  /**
6950
- * 64: 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps.
6984
+ * @ignore
6951
6985
  */
6952
6986
  VideoProfileLandscape1080p5 = 64,
6953
6987
  /**
@@ -6967,127 +7001,127 @@ export enum VideoProfileType {
6967
7001
  */
6968
7002
  VideoProfileLandscape4k3 = 72,
6969
7003
  /**
6970
- * 1000: 120 × 160, frame rate 15 fps, bitrate 65 Kbps.
7004
+ * @ignore
6971
7005
  */
6972
7006
  VideoProfilePortrait120p = 1000,
6973
7007
  /**
6974
- * 1002: 120 × 120, frame rate 15 fps, bitrate 50 Kbps.
7008
+ * @ignore
6975
7009
  */
6976
7010
  VideoProfilePortrait120p3 = 1002,
6977
7011
  /**
6978
- * 1010: 180 × 320, frame rate 15 fps, bitrate 140 Kbps.
7012
+ * @ignore
6979
7013
  */
6980
7014
  VideoProfilePortrait180p = 1010,
6981
7015
  /**
6982
- * 1012: 180 × 180, frame rate 15 fps, bitrate 100 Kbps.
7016
+ * @ignore
6983
7017
  */
6984
7018
  VideoProfilePortrait180p3 = 1012,
6985
7019
  /**
6986
- * 1013: 180 × 240, frame rate 15 fps, bitrate 120 Kbps.
7020
+ * @ignore
6987
7021
  */
6988
7022
  VideoProfilePortrait180p4 = 1013,
6989
7023
  /**
6990
- * 1020: 240 × 320, frame rate 15 fps, bitrate 200 Kbps.
7024
+ * @ignore
6991
7025
  */
6992
7026
  VideoProfilePortrait240p = 1020,
6993
7027
  /**
6994
- * 1022: 240 × 240, frame rate 15 fps, bitrate 140 Kbps.
7028
+ * @ignore
6995
7029
  */
6996
7030
  VideoProfilePortrait240p3 = 1022,
6997
7031
  /**
6998
- * 1023: 240 × 424, frame rate 15 fps, bitrate 220 Kbps.
7032
+ * @ignore
6999
7033
  */
7000
7034
  VideoProfilePortrait240p4 = 1023,
7001
7035
  /**
7002
- * 1030: 360 × 640, frame rate 15 fps, bitrate 400 Kbps.
7036
+ * @ignore
7003
7037
  */
7004
7038
  VideoProfilePortrait360p = 1030,
7005
7039
  /**
7006
- * 1032: 360 × 360, frame rate 15 fps, bitrate 260 Kbps.
7040
+ * @ignore
7007
7041
  */
7008
7042
  VideoProfilePortrait360p3 = 1032,
7009
7043
  /**
7010
- * 1033: 360 × 640, frame rate 15 fps, bitrate 600 Kbps.
7044
+ * @ignore
7011
7045
  */
7012
7046
  VideoProfilePortrait360p4 = 1033,
7013
7047
  /**
7014
- * 1035: 360 × 360, frame rate 30 fps, bitrate 400 Kbps.
7048
+ * @ignore
7015
7049
  */
7016
7050
  VideoProfilePortrait360p6 = 1035,
7017
7051
  /**
7018
- * 1036: 360 × 480, frame rate 15 fps, bitrate 320 Kbps.
7052
+ * @ignore
7019
7053
  */
7020
7054
  VideoProfilePortrait360p7 = 1036,
7021
7055
  /**
7022
- * 1037: 360 × 480, frame rate 30 fps, bitrate 490 Kbps.
7056
+ * @ignore
7023
7057
  */
7024
7058
  VideoProfilePortrait360p8 = 1037,
7025
7059
  /**
7026
- * 1038: 360 × 640, frame rate 15 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
7060
+ * @ignore
7027
7061
  */
7028
7062
  VideoProfilePortrait360p9 = 1038,
7029
7063
  /**
7030
- * 1039: 360 × 640, frame rate 24 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
7064
+ * @ignore
7031
7065
  */
7032
7066
  VideoProfilePortrait360p10 = 1039,
7033
7067
  /**
7034
- * 1100: 360 × 640, frame rate 24 fps, bitrate 1000 Kbps. This profile applies only to the live streaming channel profile.
7068
+ * @ignore
7035
7069
  */
7036
7070
  VideoProfilePortrait360p11 = 1100,
7037
7071
  /**
7038
- * 1040: 480 × 640, frame rate 15 fps, bitrate 500 Kbps.
7072
+ * @ignore
7039
7073
  */
7040
7074
  VideoProfilePortrait480p = 1040,
7041
7075
  /**
7042
- * 1042: 480 × 480, frame rate 15 fps, bitrate 400 Kbps.
7076
+ * @ignore
7043
7077
  */
7044
7078
  VideoProfilePortrait480p3 = 1042,
7045
7079
  /**
7046
- * 1043: 480 × 640, frame rate 30 fps, bitrate 750 Kbps.
7080
+ * @ignore
7047
7081
  */
7048
7082
  VideoProfilePortrait480p4 = 1043,
7049
7083
  /**
7050
- * 1045: 480 × 480, frame rate 30 fps, bitrate 600 Kbps.
7084
+ * @ignore
7051
7085
  */
7052
7086
  VideoProfilePortrait480p6 = 1045,
7053
7087
  /**
7054
- * 1047: 480 × 848, frame rate 15 fps, bitrate 610 Kbps.
7088
+ * @ignore
7055
7089
  */
7056
7090
  VideoProfilePortrait480p8 = 1047,
7057
7091
  /**
7058
- * 1048: 480 × 848, frame rate 30 fps, bitrate 930 Kbps.
7092
+ * @ignore
7059
7093
  */
7060
7094
  VideoProfilePortrait480p9 = 1048,
7061
7095
  /**
7062
- * 1049: 480 × 640, frame rate 10 fps, bitrate 400 Kbps.
7096
+ * @ignore
7063
7097
  */
7064
7098
  VideoProfilePortrait480p10 = 1049,
7065
7099
  /**
7066
- * 1050: 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps.
7100
+ * @ignore
7067
7101
  */
7068
7102
  VideoProfilePortrait720p = 1050,
7069
7103
  /**
7070
- * 1052: 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps.
7104
+ * @ignore
7071
7105
  */
7072
7106
  VideoProfilePortrait720p3 = 1052,
7073
7107
  /**
7074
- * 1054: 720 × 960, frame rate 15 fps, bitrate 910 Kbps.
7108
+ * @ignore
7075
7109
  */
7076
7110
  VideoProfilePortrait720p5 = 1054,
7077
7111
  /**
7078
- * 1055: 720 × 960, frame rate 30 fps, bitrate 1380 Kbps.
7112
+ * @ignore
7079
7113
  */
7080
7114
  VideoProfilePortrait720p6 = 1055,
7081
7115
  /**
7082
- * 1060: 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps.
7116
+ * @ignore
7083
7117
  */
7084
7118
  VideoProfilePortrait1080p = 1060,
7085
7119
  /**
7086
- * 1062: 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps.
7120
+ * @ignore
7087
7121
  */
7088
7122
  VideoProfilePortrait1080p3 = 1062,
7089
7123
  /**
7090
- * 1064: 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps.
7124
+ * @ignore
7091
7125
  */
7092
7126
  VideoProfilePortrait1080p5 = 1064,
7093
7127
  /**
@@ -7107,7 +7141,7 @@ export enum VideoProfileType {
7107
7141
  */
7108
7142
  VideoProfilePortrait4k3 = 1072,
7109
7143
  /**
7110
- * (Default) 640 × 360, frame rate 15 fps, bitrate 400 Kbps.
7144
+ * @ignore
7111
7145
  */
7112
7146
  VideoProfileDefault = 30,
7113
7147
  }