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
@@ -1185,8 +1185,6 @@ export interface IRtcEngineEventHandler {
1185
1185
  /**
1186
1186
  * Occurs when a user rejoins the channel.
1187
1187
  *
1188
- * When a user loses connection with the server because of network problems, the SDK automatically tries to reconnect and triggers this callback upon reconnection.
1189
- *
1190
1188
  * @param uid The ID of the user who rejoins the channel.
1191
1189
  * @param connection The connection information. See RtcConnection.
1192
1190
  * @param elapsed Time elapsed (ms) from the local user calling joinChannel until the SDK triggers this callback.
@@ -1433,10 +1431,7 @@ export interface IRtcEngineEventHandler {
1433
1431
  * Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins the channel.
1434
1432
  *
1435
1433
  * 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.
1436
- * 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:
1437
- * A remote user/host joins the channel.
1438
- * A remote user switches the user role to the host after joining the channel.
1439
- * A remote user/host rejoins the channel after a network interruption.
1434
+ * 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.
1440
1435
  *
1441
1436
  * @param connection The connection information. See RtcConnection.
1442
1437
  * @param remoteUid The ID of the user or host who joins the channel.
@@ -1446,13 +1441,13 @@ export interface IRtcEngineEventHandler {
1446
1441
  /**
1447
1442
  * Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves the channel.
1448
1443
  *
1449
- * There are two reasons for users to become offline:
1450
- * 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.
1451
- * 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.
1444
+ * There are generally two reasons for users to become offline:
1445
+ * Leave the channel: When a user/host leaves the channel, the user/host sends a goodbye message.
1446
+ * 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.
1452
1447
  *
1453
1448
  * @param connection The connection information. See RtcConnection.
1454
1449
  * @param remoteUid The ID of the user who leaves the channel or goes offline.
1455
- * @param reason Reasons why the user goes offline: UserOfflineReasonType.
1450
+ * @param reason Reasons why a remote user (in the communication profile) or host (in the live streaming profile) goes offline. See UserOfflineReasonType.
1456
1451
  */
1457
1452
  onUserOffline?(connection: RtcConnection, remoteUid: number, reason: UserOfflineReasonType): void;
1458
1453
  /**
@@ -1569,7 +1564,12 @@ export interface IRtcEngineEventHandler {
1569
1564
  */
1570
1565
  onAudioMixingStateChanged?(state: AudioMixingStateType, reason: AudioMixingReasonType): void;
1571
1566
  /**
1572
- * @ignore
1567
+ * Occurs when the state of virtual metronome changes.
1568
+ *
1569
+ * 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.
1570
+ *
1571
+ * @param state For the current virtual metronome status, see RhythmPlayerStateType.
1572
+ * @param errorCode For the error codes and error messages related to virtual metronome errors, see RhythmPlayerReason.
1573
1573
  */
1574
1574
  onRhythmPlayerStateChanged?(state: RhythmPlayerStateType, reason: RhythmPlayerReason): void;
1575
1575
  /**
@@ -1999,19 +1999,39 @@ export interface IRtcEngineEventHandler {
1999
1999
  */
2000
2000
  onAudioMetadataReceived?(connection: RtcConnection, uid: number, metadata: string, length: number): void;
2001
2001
  /**
2002
- * @ignore
2002
+ * The event callback of the extension.
2003
+ *
2004
+ * To listen for events while the extension is running, you need to register this callback.
2005
+ *
2006
+ * @param context The context information of the extension, see ExtensionContext.
2007
+ * @param key The key of the extension.
2008
+ * @param value The value of the extension key.
2003
2009
  */
2004
2010
  onExtensionEventWithContext?(context: ExtensionContext, key: string, value: string): void;
2005
2011
  /**
2006
- * @ignore
2012
+ * Occurrs when the extension is enabled.
2013
+ *
2014
+ * The callback is triggered after the extension is successfully enabled.
2015
+ *
2016
+ * @param context The context information of the extension, see ExtensionContext.
2007
2017
  */
2008
2018
  onExtensionStartedWithContext?(context: ExtensionContext): void;
2009
2019
  /**
2010
- * @ignore
2020
+ * Occurs when the extension is disabled.
2021
+ *
2022
+ * The callback is triggered after the extension is successfully disabled.
2023
+ *
2024
+ * @param context The context information of the extension, see ExtensionContext.
2011
2025
  */
2012
2026
  onExtensionStoppedWithContext?(context: ExtensionContext): void;
2013
2027
  /**
2014
- * @ignore
2028
+ * Occurs when the extension runs incorrectly.
2029
+ *
2030
+ * In case of extension enabling failure or runtime errors, the extension triggers this callback and reports the error code along with the reasons.
2031
+ *
2032
+ * @param context The context information of the extension, see ExtensionContext.
2033
+ * @param error Error code. For details, see the extension documentation provided by the extension provider.
2034
+ * @param message Reason. For details, see the extension documentation provided by the extension provider.
2015
2035
  */
2016
2036
  onExtensionErrorWithContext?(context: ExtensionContext, error: number, message: string): void;
2017
2037
  /**
@@ -2177,7 +2197,7 @@ export declare enum MaxMetadataSizeType {
2177
2197
  */
2178
2198
  export declare class Metadata {
2179
2199
  /**
2180
- * @ignore
2200
+ * The channel name.
2181
2201
  */
2182
2202
  channelId?: string;
2183
2203
  /**
@@ -2191,11 +2211,11 @@ export declare class Metadata {
2191
2211
  */
2192
2212
  size?: number;
2193
2213
  /**
2194
- * The buffer address of the sent or received Metadata.
2214
+ * The buffer address of the received Metadata.
2195
2215
  */
2196
2216
  buffer?: Uint8Array;
2197
2217
  /**
2198
- * The timestamp (ms) of Metadata.
2218
+ * The timestamp (ms) of when the Metadata is sent.
2199
2219
  */
2200
2220
  timeStampMs?: number;
2201
2221
  }
@@ -2449,7 +2469,33 @@ export declare abstract class IRtcEngine {
2449
2469
  */
2450
2470
  abstract preloadChannel(token: string, channelId: string, uid: number): number;
2451
2471
  /**
2452
- * @ignore
2472
+ * Preloads a channel with token, channelId, and userAccount.
2473
+ *
2474
+ * 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.
2475
+ *
2476
+ * @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.
2477
+ * When preloading one channel, calling this method to pass in the new token.
2478
+ * When preloading more than one channels:
2479
+ * 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.
2480
+ * If you use different tokens to preload different channels, call this method to pass in your user ID, channel name and the new token.
2481
+ * @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):
2482
+ * All lowercase English letters: a to z.
2483
+ * All uppercase English letters: A to Z.
2484
+ * All numeric characters: 0 to 9.
2485
+ * "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
2486
+ * @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):
2487
+ * The 26 lowercase English letters: a to z.
2488
+ * The 26 uppercase English letters: A to Z.
2489
+ * All numeric characters: 0 to 9.
2490
+ * Space
2491
+ * "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
2492
+ *
2493
+ * @returns
2494
+ * 0: Success.
2495
+ * < 0: Failure.
2496
+ * -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.
2497
+ * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
2498
+ * -102: The channel name is invalid. You need to pass in a valid channel name and join the channel again.
2453
2499
  */
2454
2500
  abstract preloadChannelWithUserAccount(token: string, channelId: string, userAccount: string): number;
2455
2501
  /**
@@ -2469,14 +2515,12 @@ export declare abstract class IRtcEngine {
2469
2515
  /**
2470
2516
  * Joins a channel with media options.
2471
2517
  *
2472
- * 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:
2473
- * The local client: The onJoinChannelSuccess and onConnectionStateChanged callbacks.
2474
- * 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.
2475
- * This method allows users to join only one channel at a time.
2476
- * 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.
2477
- * 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.
2518
+ * 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.
2478
2519
  *
2479
- * @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.
2520
+ * @param token The token generated on your server for authentication.
2521
+ * (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
2522
+ * 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.
2523
+ * 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.
2480
2524
  * @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):
2481
2525
  * All lowercase English letters: a to z.
2482
2526
  * All uppercase English letters: A to Z.
@@ -2489,11 +2533,11 @@ export declare abstract class IRtcEngine {
2489
2533
  * 0: Success.
2490
2534
  * < 0: Failure.
2491
2535
  * -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.
2492
- * -3: Failes to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
2536
+ * -3: Fails to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
2493
2537
  * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
2494
- * -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.
2495
- * -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.
2496
- * -102: The channel name is invalid. You need to pass in a valid channelname in channelId to rejoin the channel.
2538
+ * -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.
2539
+ * -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.
2540
+ * -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
2497
2541
  * -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
2498
2542
  */
2499
2543
  abstract joinChannel(token: string, channelId: string, uid: number, options: ChannelMediaOptions): number;
@@ -2505,9 +2549,9 @@ export declare abstract class IRtcEngine {
2505
2549
  * @returns
2506
2550
  * 0: Success.
2507
2551
  * < 0: Failure.
2508
- * -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.
2552
+ * -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.
2509
2553
  * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
2510
- * -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.
2554
+ * -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.
2511
2555
  */
2512
2556
  abstract updateChannelMediaOptions(options: ChannelMediaOptions): number;
2513
2557
  /**
@@ -2574,9 +2618,6 @@ export declare abstract class IRtcEngine {
2574
2618
  * Starts an audio device loopback test.
2575
2619
  *
2576
2620
  * 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.
2577
- * 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.
2578
- * 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.
2579
- * In live streaming scenarios, this method only applies to hosts.
2580
2621
  *
2581
2622
  * @param config The configuration of the audio and video call loop test. See EchoTestConfiguration.
2582
2623
  *
@@ -2588,6 +2629,8 @@ export declare abstract class IRtcEngine {
2588
2629
  /**
2589
2630
  * Stops the audio call test.
2590
2631
  *
2632
+ * 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.
2633
+ *
2591
2634
  * @returns
2592
2635
  * 0: Success.
2593
2636
  * < 0: Failure.
@@ -2643,9 +2686,7 @@ export declare abstract class IRtcEngine {
2643
2686
  /**
2644
2687
  * Starts the last mile network probe test.
2645
2688
  *
2646
- * 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.
2647
- * Do not call other methods before receiving the onLastmileQuality and onLastmileProbeResult callbacks. Otherwise, the callbacks may be interrupted.
2648
- * A host should not call this method after joining a channel (when in a call).
2689
+ * 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).
2649
2690
  *
2650
2691
  * @param config The configurations of the last-mile network probe test. See LastmileProbeConfig.
2651
2692
  *
@@ -2678,9 +2719,6 @@ export declare abstract class IRtcEngine {
2678
2719
  * Sets the image enhancement options.
2679
2720
  *
2680
2721
  * Enables or disables image enhancement, and sets the options.
2681
- * Call this method after calling enableVideo or startPreview.
2682
- * 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.
2683
- * This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device.
2684
2722
  *
2685
2723
  * @param enabled Whether to enable the image enhancement function: true : Enable the image enhancement function. false : (Default) Disable the image enhancement function.
2686
2724
  * @param options The image enhancement options. See BeautyOptions.
@@ -2797,7 +2835,7 @@ export declare abstract class IRtcEngine {
2797
2835
  * Initializes the video view of a remote user.
2798
2836
  *
2799
2837
  * 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.
2800
- * 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.
2838
+ * 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.
2801
2839
  * 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.
2802
2840
  *
2803
2841
  * @param canvas The remote video view and settings. See VideoCanvas.
@@ -2810,9 +2848,7 @@ export declare abstract class IRtcEngine {
2810
2848
  /**
2811
2849
  * Initializes the local video view.
2812
2850
  *
2813
- * 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.
2814
- * You can call this method either before or after joining a channel.
2815
- * 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.
2851
+ * 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.
2816
2852
  *
2817
2853
  * @param canvas The local video view and settings. See VideoCanvas.
2818
2854
  *
@@ -2824,9 +2860,9 @@ export declare abstract class IRtcEngine {
2824
2860
  /**
2825
2861
  * Sets video application scenarios.
2826
2862
  *
2827
- * 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.
2863
+ * 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.
2828
2864
  *
2829
- * @param scenarioType The type of video application scenario. See VideoApplicationScenarioType. If set to ApplicationScenarioMeeting (1), the SDK automatically enables the following strategies:
2865
+ * @param scenarioType The type of video application scenario. See VideoApplicationScenarioType. ApplicationScenarioMeeting (1) is suitable for meeting scenarios. The SDK automatically enables the following strategies:
2830
2866
  * 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.
2831
2867
  * 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.
2832
2868
  * If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
@@ -2839,7 +2875,7 @@ export declare abstract class IRtcEngine {
2839
2875
  * 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:
2840
2876
  * Resolution: 480 × 272
2841
2877
  * Frame rate: 15 fps
2842
- * Bitrate: 500 Kbps
2878
+ * 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.
2843
2879
  *
2844
2880
  * @returns
2845
2881
  * 0: Success.
@@ -2930,10 +2966,6 @@ export declare abstract class IRtcEngine {
2930
2966
  * < 0: Failure.
2931
2967
  */
2932
2968
  abstract muteAllRemoteAudioStreams(mute: boolean): number;
2933
- /**
2934
- * @ignore
2935
- */
2936
- abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number;
2937
2969
  /**
2938
2970
  * Stops or resumes subscribing to the audio stream of a specified user.
2939
2971
  *
@@ -2983,16 +3015,13 @@ export declare abstract class IRtcEngine {
2983
3015
  * < 0: Failure.
2984
3016
  */
2985
3017
  abstract muteAllRemoteVideoStreams(mute: boolean): number;
2986
- /**
2987
- * @ignore
2988
- */
2989
- abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number;
2990
3018
  /**
2991
3019
  * Sets the default video stream type to subscribe to.
2992
3020
  *
2993
- * 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.
2994
- * Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
2995
- * If you call both this method and setRemoteVideoStreamType, the setting of setRemoteVideoStreamType takes effect.
3021
+ * 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:
3022
+ * 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.
3023
+ * If the sender calls setDualStreamMode and sets mode to DisableSimulcastStream (never send low-quality video stream), then calling this method will have no effect.
3024
+ * 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.
2996
3025
  *
2997
3026
  * @param streamType The default video-stream type. See VideoStreamType.
2998
3027
  *
@@ -3015,11 +3044,12 @@ export declare abstract class IRtcEngine {
3015
3044
  /**
3016
3045
  * Sets the video stream type to subscribe to.
3017
3046
  *
3018
- * 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.
3047
+ * 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:
3048
+ * 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.
3049
+ * If the sender calls setDualStreamMode and sets mode to DisableSimulcastStream (never send low-quality video stream), then calling this method will have no effect.
3050
+ * 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.
3019
3051
  * You can call this method either before or after joining a channel.
3020
- * 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.
3021
- * Calling this method on the receiving end of the audience role will not take effect.
3022
- * If you call both setRemoteVideoStreamType and setRemoteDefaultVideoStreamType, the settings in setRemoteVideoStreamType take effect.
3052
+ * If you call both this method and setRemoteDefaultVideoStreamType, the setting of this method takes effect.
3023
3053
  *
3024
3054
  * @param uid The user ID.
3025
3055
  * @param streamType The video stream type, see VideoStreamType.
@@ -3136,9 +3166,9 @@ export declare abstract class IRtcEngine {
3136
3166
  /**
3137
3167
  * Starts audio recording on the client and sets recording configurations.
3138
3168
  *
3139
- * 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:
3169
+ * 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:
3140
3170
  * 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.
3141
- * 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.
3171
+ * 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.
3142
3172
  *
3143
3173
  * @param config Recording configurations. See AudioRecordingConfiguration.
3144
3174
  *
@@ -3166,10 +3196,12 @@ export declare abstract class IRtcEngine {
3166
3196
  */
3167
3197
  abstract stopAudioRecording(): number;
3168
3198
  /**
3169
- * Creates a media player instance.
3199
+ * Creates a media player object.
3200
+ *
3201
+ * 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.
3170
3202
  *
3171
3203
  * @returns
3172
- * The IMediaPlayer instance, if the method call succeeds.
3204
+ * An IMediaPlayer object, if the method call succeeds.
3173
3205
  * An empty pointer, if the method call fails.
3174
3206
  */
3175
3207
  abstract createMediaPlayer(): IMediaPlayer;
@@ -3194,17 +3226,14 @@ export declare abstract class IRtcEngine {
3194
3226
  /**
3195
3227
  * Starts playing the music file.
3196
3228
  *
3197
- * 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.
3198
- * 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.
3199
- * 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.
3200
- * For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
3229
+ * 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.
3201
3230
  *
3202
3231
  * @param filePath File path:
3203
3232
  * Windows: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example : C:\music\audio.mp4.
3204
3233
  * 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.
3205
3234
  * @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.
3206
3235
  * @param cycle The number of times the music file plays.
3207
- * 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.
3236
+ * >0: The number of times for playback. For example, 1 represents playing 1 time.
3208
3237
  * -1: Play the audio file in an infinite loop.
3209
3238
  * @param startPos The playback position (ms) of the music file.
3210
3239
  *
@@ -3220,9 +3249,9 @@ export declare abstract class IRtcEngine {
3220
3249
  */
3221
3250
  abstract startAudioMixing(filePath: string, loopback: boolean, cycle: number, startPos?: number): number;
3222
3251
  /**
3223
- * Stops playing and mixing the music file.
3252
+ * Stops playing the music file.
3224
3253
  *
3225
- * This method stops the audio mixing. Call this method when you are in a channel.
3254
+ * 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.
3226
3255
  *
3227
3256
  * @returns
3228
3257
  * 0: Success.
@@ -3232,7 +3261,7 @@ export declare abstract class IRtcEngine {
3232
3261
  /**
3233
3262
  * Pauses playing and mixing the music file.
3234
3263
  *
3235
- * Call this method after joining a channel.
3264
+ * 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.
3236
3265
  *
3237
3266
  * @returns
3238
3267
  * 0: Success.
@@ -3242,7 +3271,7 @@ export declare abstract class IRtcEngine {
3242
3271
  /**
3243
3272
  * Resumes playing and mixing the music file.
3244
3273
  *
3245
- * This method resumes playing and mixing the music file. Call this method when you are in a channel.
3274
+ * After calling pauseAudioMixing to pause the playback, you can call this method to resume the playback.
3246
3275
  *
3247
3276
  * @returns
3248
3277
  * 0: Success.
@@ -3256,7 +3285,7 @@ export declare abstract class IRtcEngine {
3256
3285
  * For the supported formats of audio files, see.
3257
3286
  * You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
3258
3287
  *
3259
- * @param index The audio track you want to specify. The value range is [0, getAudioTrackCount ()].
3288
+ * @param index The audio track you want to specify. The value should be greater than 0 and less than that of returned by getAudioTrackCount.
3260
3289
  *
3261
3290
  * @returns
3262
3291
  * 0: Success.
@@ -3277,7 +3306,6 @@ export declare abstract class IRtcEngine {
3277
3306
  * Adjusts the volume during audio mixing.
3278
3307
  *
3279
3308
  * This method adjusts the audio mixing volume on both the local client and remote clients.
3280
- * Call this method after startAudioMixing.
3281
3309
  *
3282
3310
  * @param volume Audio mixing volume. The value ranges between 0 and 100. The default value is 100, which means the original volume.
3283
3311
  *
@@ -3289,7 +3317,7 @@ export declare abstract class IRtcEngine {
3289
3317
  /**
3290
3318
  * Adjusts the volume of audio mixing for publishing.
3291
3319
  *
3292
- * 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.
3320
+ * This method adjusts the volume of audio mixing for publishing (sending to other users).
3293
3321
  *
3294
3322
  * @param volume The volume of audio mixing for local playback. The value ranges between 0 and 100 (default). 100 represents the original volume.
3295
3323
  *
@@ -3311,8 +3339,6 @@ export declare abstract class IRtcEngine {
3311
3339
  /**
3312
3340
  * Adjusts the volume of audio mixing for local playback.
3313
3341
  *
3314
- * Call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
3315
- *
3316
3342
  * @param volume The volume of audio mixing for local playback. The value ranges between 0 and 100 (default). 100 represents the original volume.
3317
3343
  *
3318
3344
  * @returns
@@ -3323,7 +3349,7 @@ export declare abstract class IRtcEngine {
3323
3349
  /**
3324
3350
  * Retrieves the audio mixing volume for local playback.
3325
3351
  *
3326
- * This method helps troubleshoot audio volume‑related issues. You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
3352
+ * You can call this method to get the local playback volume of the mixed audio file, which helps in troubleshooting volume‑related issues.
3327
3353
  *
3328
3354
  * @returns
3329
3355
  * ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
@@ -3333,7 +3359,7 @@ export declare abstract class IRtcEngine {
3333
3359
  /**
3334
3360
  * Retrieves the duration (ms) of the music file.
3335
3361
  *
3336
- * Retrieves the total duration (ms) of the audio. You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
3362
+ * Retrieves the total duration (ms) of the audio.
3337
3363
  *
3338
3364
  * @returns
3339
3365
  * ≥ 0: The audio mixing duration, if this method call succeeds.
@@ -3354,7 +3380,7 @@ export declare abstract class IRtcEngine {
3354
3380
  /**
3355
3381
  * Sets the audio mixing position.
3356
3382
  *
3357
- * 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.
3383
+ * Call this method to set the playback position of the music file to a different starting position (the default plays from the beginning).
3358
3384
  *
3359
3385
  * @param pos Integer. The playback position (ms).
3360
3386
  *
@@ -3366,9 +3392,7 @@ export declare abstract class IRtcEngine {
3366
3392
  /**
3367
3393
  * Sets the channel mode of the current audio file.
3368
3394
  *
3369
- * 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.
3370
- * You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
3371
- * This method only applies to stereo audio files.
3395
+ * 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.
3372
3396
  *
3373
3397
  * @param mode The channel mode. See AudioMixingDualMonoMode.
3374
3398
  *
@@ -3380,7 +3404,7 @@ export declare abstract class IRtcEngine {
3380
3404
  /**
3381
3405
  * Sets the pitch of the local music file.
3382
3406
  *
3383
- * 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.
3407
+ * 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.
3384
3408
  *
3385
3409
  * @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.
3386
3410
  *
@@ -3417,8 +3441,6 @@ export declare abstract class IRtcEngine {
3417
3441
  /**
3418
3442
  * Sets the volume of the audio effects.
3419
3443
  *
3420
- * Call this method after playEffect.
3421
- *
3422
3444
  * @param volume The playback volume. The value range is [0, 100]. The default value is 100, which represents the original volume.
3423
3445
  *
3424
3446
  * @returns
@@ -3429,7 +3451,7 @@ export declare abstract class IRtcEngine {
3429
3451
  /**
3430
3452
  * Preloads a specified audio effect file into the memory.
3431
3453
  *
3432
- * 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.
3454
+ * 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.
3433
3455
  *
3434
3456
  * @param soundId The audio effect ID. The ID of each audio effect file is unique.
3435
3457
  * @param filePath File path:
@@ -3445,10 +3467,10 @@ export declare abstract class IRtcEngine {
3445
3467
  /**
3446
3468
  * Plays the specified local or online audio effect file.
3447
3469
  *
3448
- * 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.
3470
+ * 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.
3449
3471
  *
3450
3472
  * @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.
3451
- * @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.
3473
+ * @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.
3452
3474
  * @param loopCount The number of times the audio effect loops.
3453
3475
  * ≥ 0: The number of playback times. For example, 1 means looping one time, which means playing the audio effect two times in total.
3454
3476
  * -1: Play the audio file in an infinite loop.
@@ -3499,7 +3521,7 @@ export declare abstract class IRtcEngine {
3499
3521
  */
3500
3522
  abstract getVolumeOfEffect(soundId: number): number;
3501
3523
  /**
3502
- * Sets the volume of a specified audio effect.
3524
+ * Gets the volume of a specified audio effect file.
3503
3525
  *
3504
3526
  * @param soundId The ID of the audio effect. The ID of each audio effect file is unique.
3505
3527
  * @param volume The playback volume. The value range is [0, 100]. The default value is 100, which represents the original volume.
@@ -3540,6 +3562,8 @@ export declare abstract class IRtcEngine {
3540
3562
  /**
3541
3563
  * Resumes playing all audio effect files.
3542
3564
  *
3565
+ * After you call pauseAllEffects to pause the playback, you can call this method to resume the playback.
3566
+ *
3543
3567
  * @returns
3544
3568
  * 0: Success.
3545
3569
  * < 0: Failure.
@@ -3548,6 +3572,8 @@ export declare abstract class IRtcEngine {
3548
3572
  /**
3549
3573
  * Stops playing a specified audio effect.
3550
3574
  *
3575
+ * 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.
3576
+ *
3551
3577
  * @param soundId The ID of the audio effect. Each audio effect has a unique ID.
3552
3578
  *
3553
3579
  * @returns
@@ -3558,6 +3584,8 @@ export declare abstract class IRtcEngine {
3558
3584
  /**
3559
3585
  * Stops playing all audio effects.
3560
3586
  *
3587
+ * 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.
3588
+ *
3561
3589
  * @returns
3562
3590
  * 0: Success.
3563
3591
  * < 0: Failure.
@@ -3566,6 +3594,8 @@ export declare abstract class IRtcEngine {
3566
3594
  /**
3567
3595
  * Releases a specified preloaded audio effect from the memory.
3568
3596
  *
3597
+ * After loading the audio effect file into memory using preloadEffect, if you need to release the audio effect file, call this method.
3598
+ *
3569
3599
  * @param soundId The ID of the audio effect. Each audio effect has a unique ID.
3570
3600
  *
3571
3601
  * @returns
@@ -3679,14 +3709,7 @@ export declare abstract class IRtcEngine {
3679
3709
  /**
3680
3710
  * Sets a preset voice beautifier effect.
3681
3711
  *
3682
- * 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:
3683
- * Call setAudioScenario to set the audio scenario to high-quality audio scenario, namely AudioScenarioGameStreaming (3).
3684
- * Call setAudioProfile to set the profile parameter to AudioProfileMusicHighQuality (4) or AudioProfileMusicHighQualityStereo (5).
3685
- * You can call this method either before or after joining a channel.
3686
- * Do not set the profile parameter in setAudioProfile to AudioProfileSpeechStandard (1) or AudioProfileIot (6), or the method does not take effect.
3687
- * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
3688
- * 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
3689
- * 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.
3712
+ * 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.
3690
3713
  *
3691
3714
  * @param preset The preset voice beautifier effect options: VoiceBeautifierPreset.
3692
3715
  *
@@ -3698,14 +3721,7 @@ export declare abstract class IRtcEngine {
3698
3721
  /**
3699
3722
  * Sets an SDK preset audio effect.
3700
3723
  *
3701
- * To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:
3702
- * Call setAudioScenario to set the audio scenario to high-quality audio scenario, namely AudioScenarioGameStreaming (3).
3703
- * 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.
3704
- * Do not set the profile parameter in setAudioProfile to AudioProfileSpeechStandard (1) or AudioProfileIot (6), or the method does not take effect.
3705
- * You can call this method either before or after joining a channel.
3706
- * If you call setAudioEffectPreset and set enumerators except for RoomAcoustics3dVoice or PitchCorrection, do not call setAudioEffectParameters; otherwise, setAudioEffectPreset is overridden.
3707
- * 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
3708
- * 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.
3724
+ * 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.
3709
3725
  *
3710
3726
  * @param preset The options for SDK preset audio effects. See AudioEffectPreset.
3711
3727
  *
@@ -3717,14 +3733,7 @@ export declare abstract class IRtcEngine {
3717
3733
  /**
3718
3734
  * Sets a preset voice beautifier effect.
3719
3735
  *
3720
- * To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:
3721
- * Call setAudioScenario to set the audio scenario to high-quality audio scenario, namely AudioScenarioGameStreaming (3).
3722
- * 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.
3723
- * Do not set the profile parameter in setAudioProfile to AudioProfileSpeechStandard (1) or AudioProfileIot (6), or the method does not take effect.
3724
- * You can call this method either before or after joining a channel.
3725
- * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
3726
- * 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
3727
- * 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.
3736
+ * 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.
3728
3737
  *
3729
3738
  * @param preset The options for the preset voice beautifier effects: VoiceConversionPreset.
3730
3739
  *
@@ -3745,6 +3754,7 @@ export declare abstract class IRtcEngine {
3745
3754
  * You can call this method either before or after joining a channel.
3746
3755
  * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
3747
3756
  * 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
3757
+ * 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.
3748
3758
  *
3749
3759
  * @param preset The options for SDK preset audio effects: RoomAcoustics3dVoice, 3D voice effect:
3750
3760
  * 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.
@@ -3769,6 +3779,7 @@ export declare abstract class IRtcEngine {
3769
3779
  * You can call this method either before or after joining a channel.
3770
3780
  * This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
3771
3781
  * 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
3782
+ * 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.
3772
3783
  *
3773
3784
  * @param preset The option for the preset audio effect: SINGING_BEAUTIFIER : The singing beautifier effect.
3774
3785
  * @param param1 The gender characteristics options for the singing voice: 1 : A male-sounding voice. 2 : A female-sounding voice.
@@ -3786,8 +3797,6 @@ export declare abstract class IRtcEngine {
3786
3797
  /**
3787
3798
  * Changes the voice pitch of the local speaker.
3788
3799
  *
3789
- * You can call this method either before or after joining a channel.
3790
- *
3791
3800
  * @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).
3792
3801
  *
3793
3802
  * @returns
@@ -3798,7 +3807,7 @@ export declare abstract class IRtcEngine {
3798
3807
  /**
3799
3808
  * Set the formant ratio to change the timbre of human voice.
3800
3809
  *
3801
- * 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.
3810
+ * 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.
3802
3811
  *
3803
3812
  * @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.
3804
3813
  *
@@ -3810,8 +3819,6 @@ export declare abstract class IRtcEngine {
3810
3819
  /**
3811
3820
  * Sets the local voice equalization effect.
3812
3821
  *
3813
- * You can call this method either before or after joining a channel.
3814
- *
3815
3822
  * @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.
3816
3823
  * @param bandGain The gain of each band in dB. The value ranges between -15 and 15. The default value is 0.
3817
3824
  *
@@ -3861,13 +3868,22 @@ export declare abstract class IRtcEngine {
3861
3868
  */
3862
3869
  abstract setHeadphoneEQParameters(lowGain: number, highGain: number): number;
3863
3870
  /**
3864
- * @ignore
3871
+ * Enables or disables the voice AI tuner.
3872
+ *
3873
+ * The voice AI tuner supports enhancing sound quality and adjusting tone style.
3874
+ *
3875
+ * @param enabled Whether to enable the voice AI tuner: true : Enables the voice AI tuner. false : (Default) Disable the voice AI tuner.
3876
+ * @param type Voice AI tuner sound types, see VoiceAiTunerType.
3877
+ *
3878
+ * @returns
3879
+ * 0: Success.
3880
+ * < 0: Failure.
3865
3881
  */
3866
3882
  abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number;
3867
3883
  /**
3868
3884
  * Sets the log file.
3869
3885
  *
3870
- * 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.
3886
+ * 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.
3871
3887
  *
3872
3888
  * @param filePath The complete path of the log files. These log files are encoded in UTF-8.
3873
3889
  *
@@ -3891,9 +3907,9 @@ export declare abstract class IRtcEngine {
3891
3907
  /**
3892
3908
  * Sets the output log level of the SDK.
3893
3909
  *
3894
- * Deprecated: This method is deprecated. Use RtcEngineContext instead to set the log output level. Choose a level to see the logs preceding that level.
3910
+ * 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.
3895
3911
  *
3896
- * @param level The log level: LogLevel.
3912
+ * @param level The log level. See LogLevel.
3897
3913
  *
3898
3914
  * @returns
3899
3915
  * 0: Success.
@@ -3934,10 +3950,7 @@ export declare abstract class IRtcEngine {
3934
3950
  /**
3935
3951
  * Updates the display mode of the local video view.
3936
3952
  *
3937
- * 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.
3938
- * Ensure that you have called the setupLocalVideo method to initialize the local video view before calling this method.
3939
- * During a call, you can call this method as many times as necessary to update the display mode of the local video view.
3940
- * 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.
3953
+ * 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.
3941
3954
  *
3942
3955
  * @param renderMode The local video display mode. See RenderModeType.
3943
3956
  * @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.
@@ -4031,16 +4044,14 @@ export declare abstract class IRtcEngine {
4031
4044
  /**
4032
4045
  * Sets the format of the captured raw audio data.
4033
4046
  *
4034
- * Sets the audio format for the onRecordAudioFrame callback.
4035
- * Ensure that you call this method before joining a channel.
4036
- * 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).
4047
+ * 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.
4037
4048
  *
4038
- * @param sampleRate The sample rate returned in the SDK, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4039
- * @param channel The number of channels returned by the SDK. You can set the value as 1 or 2:
4049
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4050
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4040
4051
  * 1: Mono.
4041
4052
  * 2: Stereo.
4042
4053
  * @param mode The use mode of the audio frame. See RawAudioFrameOpModeType.
4043
- * @param samplesPerCall The number of data samples returned in the SDK, such as 1024 for the Media Push.
4054
+ * @param samplesPerCall The number of data samples, such as 1024 for the Media Push.
4044
4055
  *
4045
4056
  * @returns
4046
4057
  * 0: Success.
@@ -4048,18 +4059,16 @@ export declare abstract class IRtcEngine {
4048
4059
  */
4049
4060
  abstract setRecordingAudioFrameParameters(sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number): number;
4050
4061
  /**
4051
- * Sets the audio data format for playback.
4062
+ * Sets the format of the raw audio playback data.
4052
4063
  *
4053
- * Sets the data format for the onPlaybackAudioFrame callback.
4054
- * Ensure that you call this method before joining a channel.
4055
- * 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.
4064
+ * 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.
4056
4065
  *
4057
- * @param sampleRate The sample rate returned in the onPlaybackAudioFrame callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4058
- * @param channel The number of channels returned in the onPlaybackAudioFrame callback:
4066
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4067
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4059
4068
  * 1: Mono.
4060
4069
  * 2: Stereo.
4061
4070
  * @param mode The use mode of the audio frame. See RawAudioFrameOpModeType.
4062
- * @param samplesPerCall The number of data samples returned in the onPlaybackAudioFrame callback, such as 1024 for the Media Push.
4071
+ * @param samplesPerCall The number of data samples, such as 1024 for the Media Push.
4063
4072
  *
4064
4073
  * @returns
4065
4074
  * 0: Success.
@@ -4067,11 +4076,15 @@ export declare abstract class IRtcEngine {
4067
4076
  */
4068
4077
  abstract setPlaybackAudioFrameParameters(sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number): number;
4069
4078
  /**
4070
- * Sets the audio data format reported by onMixedAudioFrame.
4079
+ * Set the format of the raw audio data after mixing for audio capture and playback.
4080
+ *
4081
+ * 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.
4071
4082
  *
4072
- * @param sampleRate The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.
4073
- * @param channel The number of channels of the audio data, which can be set as 1(Mono) or 2(Stereo).
4074
- * @param samplesPerCall Sets the number of samples. In Media Push scenarios, set it as 1024.
4083
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4084
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4085
+ * 1: Mono.
4086
+ * 2: Stereo.
4087
+ * @param samplesPerCall The number of data samples, such as 1024 for the Media Push.
4075
4088
  *
4076
4089
  * @returns
4077
4090
  * 0: Success.
@@ -4098,10 +4111,14 @@ export declare abstract class IRtcEngine {
4098
4111
  */
4099
4112
  abstract setEarMonitoringAudioFrameParameters(sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number): number;
4100
4113
  /**
4101
- * Sets the audio data format reported by onPlaybackAudioFrameBeforeMixing.
4114
+ * Sets the format of the raw audio playback data before mixing.
4115
+ *
4116
+ * The SDK triggers the onPlaybackAudioFrameBeforeMixing callback according to the sampling interval.
4102
4117
  *
4103
- * @param sampleRate The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.
4104
- * @param channel The number of channels of the audio data, which can be set as 1 (Mono) or 2 (Stereo).
4118
+ * @param sampleRate The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
4119
+ * @param channel The number of audio channels. You can set the value as 1 or 2.
4120
+ * 1: Mono.
4121
+ * 2: Stereo.
4105
4122
  *
4106
4123
  * @returns
4107
4124
  * 0: Success.
@@ -4375,7 +4392,12 @@ export declare abstract class IRtcEngine {
4375
4392
  */
4376
4393
  abstract registerExtension(provider: string, extension: string, type?: MediaSourceType): number;
4377
4394
  /**
4378
- * @ignore
4395
+ * Sets the camera capture configuration.
4396
+ *
4397
+ * @param config The camera capture configuration. See CameraCapturerConfiguration.
4398
+ *
4399
+ * @returns
4400
+ * < 0: Failure.
4379
4401
  */
4380
4402
  abstract setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number;
4381
4403
  /**
@@ -4675,13 +4697,7 @@ export declare abstract class IRtcEngine {
4675
4697
  */
4676
4698
  abstract stopScreenCapture(): number;
4677
4699
  /**
4678
- * Retrieves the call ID.
4679
- *
4680
- * 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.
4681
- *
4682
- * @returns
4683
- * The current call ID, if the method succeeds.
4684
- * An empty string, if the method call fails.
4700
+ * @ignore
4685
4701
  */
4686
4702
  abstract getCallId(): string;
4687
4703
  /**
@@ -4893,7 +4909,7 @@ export declare abstract class IRtcEngine {
4893
4909
  /**
4894
4910
  * Enables or disables the built-in encryption.
4895
4911
  *
4896
- * 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.
4912
+ * 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.
4897
4913
  *
4898
4914
  * @param enabled Whether to enable built-in encryption: true : Enable the built-in encryption. false : (Default) Disable the built-in encryption.
4899
4915
  * @param config Built-in encryption configurations. See EncryptionConfig.
@@ -4919,11 +4935,11 @@ export declare abstract class IRtcEngine {
4919
4935
  /**
4920
4936
  * Sends data stream messages.
4921
4937
  *
4922
- * Sends data stream messages to all users in a channel. The SDK has the following restrictions on this method:
4923
- * Up to 30 packets can be sent per second in a channel with each packet having a maximum size of 1 KB.
4924
- * Each client can send up to 6 KB of data per second.
4925
- * 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.
4926
- * Ensure that you call createDataStream to create a data channel before calling this method.
4938
+ * 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:
4939
+ * Each user can have up to five data streams simultaneously.
4940
+ * Up to 60 packets can be sent per second in a data stream with each packet having a maximum size of 1 KB.
4941
+ * 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.
4942
+ * This method needs to be called after createDataStream and joining the channel.
4927
4943
  * In live streaming scenarios, this method only applies to hosts.
4928
4944
  *
4929
4945
  * @param streamId The data stream ID. You can get the data stream ID by calling createDataStream.
@@ -5049,7 +5065,7 @@ export declare abstract class IRtcEngine {
5049
5065
  * 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.
5050
5066
  * Call the joinChannelWithUserAccount method to join a channel.
5051
5067
  * Ensure that the userAccount is unique in the channel.
5052
- * 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.
5068
+ * 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.
5053
5069
  *
5054
5070
  * @param appId The App ID of your project on Agora Console.
5055
5071
  * @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):
@@ -5065,14 +5081,14 @@ export declare abstract class IRtcEngine {
5065
5081
  */
5066
5082
  abstract registerLocalUserAccount(appId: string, userAccount: string): number;
5067
5083
  /**
5068
- * Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel.
5084
+ * Join a channel using a user account and token, and set the media options.
5069
5085
  *
5070
- * 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.
5071
- * 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:
5072
- * The local client: onLocalUserRegistered, onJoinChannelSuccess and onConnectionStateChanged callbacks.
5073
- * 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.
5086
+ * 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.
5074
5087
  *
5075
- * @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.
5088
+ * @param token The token generated on your server for authentication.
5089
+ * (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
5090
+ * 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.
5091
+ * 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.
5076
5092
  * @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):
5077
5093
  * All lowercase English letters: a to z.
5078
5094
  * All uppercase English letters: A to Z.
@@ -5090,22 +5106,23 @@ export declare abstract class IRtcEngine {
5090
5106
  * 0: Success.
5091
5107
  * < 0: Failure.
5092
5108
  * -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.
5093
- * -3: Failes to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
5109
+ * -3: Fails to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
5094
5110
  * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
5095
- * -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.
5096
- * -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.
5097
- * -102: The channel name is invalid. You need to pass in a valid channelname in channelId to rejoin the channel.
5111
+ * -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.
5112
+ * -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.
5113
+ * -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
5098
5114
  * -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
5099
5115
  */
5100
5116
  abstract joinChannelWithUserAccount(token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions): number;
5101
5117
  /**
5102
- * Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel.
5118
+ * Join a channel using a user account and token, and set the media options.
5103
5119
  *
5104
- * 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:
5105
- * The local client: onLocalUserRegistered, onJoinChannelSuccess and onConnectionStateChanged callbacks.
5106
- * 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.
5120
+ * 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.
5107
5121
  *
5108
- * @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.
5122
+ * @param token The token generated on your server for authentication.
5123
+ * (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
5124
+ * 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.
5125
+ * 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.
5109
5126
  * @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):
5110
5127
  * All lowercase English letters: a to z.
5111
5128
  * All uppercase English letters: A to Z.
@@ -5122,6 +5139,13 @@ export declare abstract class IRtcEngine {
5122
5139
  * @returns
5123
5140
  * 0: Success.
5124
5141
  * < 0: Failure.
5142
+ * -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.
5143
+ * -3: Fails to initialize the IRtcEngine object. You need to reinitialize the IRtcEngine object.
5144
+ * -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
5145
+ * -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.
5146
+ * -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.
5147
+ * -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
5148
+ * -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
5125
5149
  */
5126
5150
  abstract joinChannelWithUserAccountEx(token: string, channelId: string, userAccount: string, options: ChannelMediaOptions): number;
5127
5151
  /**
@@ -5166,7 +5190,6 @@ export declare abstract class IRtcEngine {
5166
5190
  * < 0: Failure.
5167
5191
  * -1: A general error occurs (no specified reason).
5168
5192
  * -2: The parameter is invalid.
5169
- * -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.
5170
5193
  * -8: Internal state error. Probably because the user is not a broadcaster.
5171
5194
  */
5172
5195
  abstract startOrUpdateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number;
@@ -5178,6 +5201,7 @@ export declare abstract class IRtcEngine {
5178
5201
  * @returns
5179
5202
  * 0: Success.
5180
5203
  * < 0: Failure.
5204
+ * -5: The method call was rejected. There is no ongoing channel media relay.
5181
5205
  */
5182
5206
  abstract stopChannelMediaRelay(): number;
5183
5207
  /**
@@ -5188,6 +5212,7 @@ export declare abstract class IRtcEngine {
5188
5212
  * @returns
5189
5213
  * 0: Success.
5190
5214
  * < 0: Failure.
5215
+ * -5: The method call was rejected. There is no ongoing channel media relay.
5191
5216
  */
5192
5217
  abstract pauseAllChannelMediaRelay(): number;
5193
5218
  /**
@@ -5198,6 +5223,7 @@ export declare abstract class IRtcEngine {
5198
5223
  * @returns
5199
5224
  * 0: Success.
5200
5225
  * < 0: Failure.
5226
+ * -5: The method call was rejected. There is no paused channel media relay.
5201
5227
  */
5202
5228
  abstract resumeAllChannelMediaRelay(): number;
5203
5229
  /**
@@ -5245,24 +5271,36 @@ export declare abstract class IRtcEngine {
5245
5271
  */
5246
5272
  abstract updateDirectCdnStreamingMediaOptions(options: DirectCdnStreamingMediaOptions): number;
5247
5273
  /**
5248
- * @ignore
5274
+ * Enables the virtual metronome.
5275
+ *
5276
+ * 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.
5277
+ * 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.
5278
+ *
5279
+ * @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.
5280
+ * @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.
5281
+ * @param config The metronome configuration. See AgoraRhythmPlayerConfig.
5249
5282
  */
5250
5283
  abstract startRhythmPlayer(sound1: string, sound2: string, config: AgoraRhythmPlayerConfig): number;
5251
5284
  /**
5252
- * @ignore
5285
+ * Disables the virtual metronome.
5286
+ *
5287
+ * After calling startRhythmPlayer, you can call this method to disable the virtual metronome.
5253
5288
  */
5254
5289
  abstract stopRhythmPlayer(): number;
5255
5290
  /**
5256
- * @ignore
5291
+ * Configures the virtual metronome.
5292
+ *
5293
+ * After calling startRhythmPlayer, you can call this method to reconfigure the virtual metronome.
5294
+ * 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.
5295
+ * 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.
5296
+ *
5297
+ * @param config The metronome configuration. See AgoraRhythmPlayerConfig.
5257
5298
  */
5258
5299
  abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number;
5259
5300
  /**
5260
5301
  * Takes a snapshot of a video stream.
5261
5302
  *
5262
- * 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.
5263
- * Call this method after joining a channel.
5264
- * When used for local video snapshots, this method takes a snapshot for the video streams specified in ChannelMediaOptions.
5265
- * If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
5303
+ * This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path.
5266
5304
  *
5267
5305
  * @param uid The user ID. Set uid as 0 if you want to take a snapshot of the local user's video.
5268
5306
  * @param filePath The local path (including filename extensions) of the snapshot. For example:
@@ -5277,10 +5315,10 @@ export declare abstract class IRtcEngine {
5277
5315
  /**
5278
5316
  * Enables or disables video screenshot and upload.
5279
5317
  *
5280
- * 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.
5318
+ * 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.
5281
5319
  *
5282
- * @param enabled Whether to enable video screenshot and upload : true : Enables video screenshot and upload. false : Disables video screenshot and upload.
5283
- * @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.
5320
+ * @param enabled Whether to enalbe video screenshot and upload: true : Enables video screenshot and upload. false : Disables video screenshot and upload.
5321
+ * @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.
5284
5322
  *
5285
5323
  * @returns
5286
5324
  * 0: Success.
@@ -5353,7 +5391,7 @@ export declare abstract class IRtcEngine {
5353
5391
  /**
5354
5392
  * Sets whether to replace the current video feeds with images when publishing video streams.
5355
5393
  *
5356
- * 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.
5394
+ * 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.
5357
5395
  *
5358
5396
  * @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.
5359
5397
  * @param options Image configurations. See ImageTrackOptions.
@@ -5421,9 +5459,7 @@ export declare abstract class IRtcEngine {
5421
5459
  /**
5422
5460
  * Enables audio and video frame instant rendering.
5423
5461
  *
5424
- * 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.
5425
- * Once the instant rendering function is enabled, it can only be canceled by calling the release method to destroy the IRtcEngine object.
5426
- * 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.
5462
+ * 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.
5427
5463
  *
5428
5464
  * @returns
5429
5465
  * 0: Success.
@@ -5643,131 +5679,131 @@ export declare enum MediaDeviceStateType {
5643
5679
  MediaDeviceStateUnplugged = 8
5644
5680
  }
5645
5681
  /**
5646
- * Video profile.
5682
+ * @ignore
5647
5683
  */
5648
5684
  export declare enum VideoProfileType {
5649
5685
  /**
5650
- * 0: 160 × 120, frame rate 15 fps, bitrate 65 Kbps.
5686
+ * @ignore
5651
5687
  */
5652
5688
  VideoProfileLandscape120p = 0,
5653
5689
  /**
5654
- * 2: 120 × 120, frame rate 15 fps, bitrate 50 Kbps.
5690
+ * @ignore
5655
5691
  */
5656
5692
  VideoProfileLandscape120p3 = 2,
5657
5693
  /**
5658
- * 10: 320 × 180, frame rate 15 fps, bitrate 140 Kbps.
5694
+ * @ignore
5659
5695
  */
5660
5696
  VideoProfileLandscape180p = 10,
5661
5697
  /**
5662
- * 12: 180 × 180, frame rate 15 fps, bitrate 100 Kbps.
5698
+ * @ignore
5663
5699
  */
5664
5700
  VideoProfileLandscape180p3 = 12,
5665
5701
  /**
5666
- * 13: 240 × 180, frame rate 15 fps, bitrate 120 Kbps.
5702
+ * @ignore
5667
5703
  */
5668
5704
  VideoProfileLandscape180p4 = 13,
5669
5705
  /**
5670
- * 20: 320 × 240, frame rate 15 fps, bitrate 200 Kbps.
5706
+ * @ignore
5671
5707
  */
5672
5708
  VideoProfileLandscape240p = 20,
5673
5709
  /**
5674
- * 22: 240 × 240, frame rate 15 fps, bitrate 140 Kbps.
5710
+ * @ignore
5675
5711
  */
5676
5712
  VideoProfileLandscape240p3 = 22,
5677
5713
  /**
5678
- * 23: 424 × 240, frame rate 15 fps, bitrate 220 Kbps.
5714
+ * @ignore
5679
5715
  */
5680
5716
  VideoProfileLandscape240p4 = 23,
5681
5717
  /**
5682
- * 30: 640 × 360, frame rate 15 fps, bitrate 400 Kbps.
5718
+ * @ignore
5683
5719
  */
5684
5720
  VideoProfileLandscape360p = 30,
5685
5721
  /**
5686
- * 32: 360 × 360, frame rate 15 fps, bitrate 260 Kbps.
5722
+ * @ignore
5687
5723
  */
5688
5724
  VideoProfileLandscape360p3 = 32,
5689
5725
  /**
5690
- * 33: 640 × 360, frame rate 30 fps, bitrate 600 Kbps.
5726
+ * @ignore
5691
5727
  */
5692
5728
  VideoProfileLandscape360p4 = 33,
5693
5729
  /**
5694
- * 35: 360 × 360, frame rate 30 fps, bitrate 400 Kbps.
5730
+ * @ignore
5695
5731
  */
5696
5732
  VideoProfileLandscape360p6 = 35,
5697
5733
  /**
5698
- * 36: 480 × 360, frame rate 15 fps, bitrate 320 Kbps.
5734
+ * @ignore
5699
5735
  */
5700
5736
  VideoProfileLandscape360p7 = 36,
5701
5737
  /**
5702
- * 37: 480 × 360, frame rate 30 fps, bitrate 490 Kbps.
5738
+ * @ignore
5703
5739
  */
5704
5740
  VideoProfileLandscape360p8 = 37,
5705
5741
  /**
5706
- * 38: 640 × 360, frame rate 15 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
5742
+ * @ignore
5707
5743
  */
5708
5744
  VideoProfileLandscape360p9 = 38,
5709
5745
  /**
5710
- * 39: 640 × 360, frame rate 24 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
5746
+ * @ignore
5711
5747
  */
5712
5748
  VideoProfileLandscape360p10 = 39,
5713
5749
  /**
5714
- * 100: 640 × 360, frame rate 24 fps, bitrate 1000 Kbps. This profile applies only to the live streaming channel profile.
5750
+ * @ignore
5715
5751
  */
5716
5752
  VideoProfileLandscape360p11 = 100,
5717
5753
  /**
5718
- * 40: 640 × 480, frame rate 15 fps, bitrate 500 Kbps.
5754
+ * @ignore
5719
5755
  */
5720
5756
  VideoProfileLandscape480p = 40,
5721
5757
  /**
5722
- * 42: 480 × 480, frame rate 15 fps, bitrate 400 Kbps.
5758
+ * @ignore
5723
5759
  */
5724
5760
  VideoProfileLandscape480p3 = 42,
5725
5761
  /**
5726
- * 43: 640 × 480, frame rate 30 fps, bitrate 750 Kbps.
5762
+ * @ignore
5727
5763
  */
5728
5764
  VideoProfileLandscape480p4 = 43,
5729
5765
  /**
5730
- * 45: 480 × 480, frame rate 30 fps, bitrate 600 Kbps.
5766
+ * @ignore
5731
5767
  */
5732
5768
  VideoProfileLandscape480p6 = 45,
5733
5769
  /**
5734
- * 47: 848 × 480, frame rate 15 fps, bitrate 610 Kbps.
5770
+ * @ignore
5735
5771
  */
5736
5772
  VideoProfileLandscape480p8 = 47,
5737
5773
  /**
5738
- * 48: 848 × 480, frame rate 30 fps, bitrate 930 Kbps.
5774
+ * @ignore
5739
5775
  */
5740
5776
  VideoProfileLandscape480p9 = 48,
5741
5777
  /**
5742
- * 49: 640 × 480, frame rate 10 fps, bitrate 400 Kbps.
5778
+ * @ignore
5743
5779
  */
5744
5780
  VideoProfileLandscape480p10 = 49,
5745
5781
  /**
5746
- * 50: 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps.
5782
+ * @ignore
5747
5783
  */
5748
5784
  VideoProfileLandscape720p = 50,
5749
5785
  /**
5750
- * 52: 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps.
5786
+ * @ignore
5751
5787
  */
5752
5788
  VideoProfileLandscape720p3 = 52,
5753
5789
  /**
5754
- * 54: 960 × 720, frame rate 15 fps, bitrate 910 Kbps.
5790
+ * @ignore
5755
5791
  */
5756
5792
  VideoProfileLandscape720p5 = 54,
5757
5793
  /**
5758
- * 55: 960 × 720, frame rate 30 fps, bitrate 1380 Kbps.
5794
+ * @ignore
5759
5795
  */
5760
5796
  VideoProfileLandscape720p6 = 55,
5761
5797
  /**
5762
- * 60: 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps.
5798
+ * @ignore
5763
5799
  */
5764
5800
  VideoProfileLandscape1080p = 60,
5765
5801
  /**
5766
- * 60: 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps.
5802
+ * @ignore
5767
5803
  */
5768
5804
  VideoProfileLandscape1080p3 = 62,
5769
5805
  /**
5770
- * 64: 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps.
5806
+ * @ignore
5771
5807
  */
5772
5808
  VideoProfileLandscape1080p5 = 64,
5773
5809
  /**
@@ -5787,127 +5823,127 @@ export declare enum VideoProfileType {
5787
5823
  */
5788
5824
  VideoProfileLandscape4k3 = 72,
5789
5825
  /**
5790
- * 1000: 120 × 160, frame rate 15 fps, bitrate 65 Kbps.
5826
+ * @ignore
5791
5827
  */
5792
5828
  VideoProfilePortrait120p = 1000,
5793
5829
  /**
5794
- * 1002: 120 × 120, frame rate 15 fps, bitrate 50 Kbps.
5830
+ * @ignore
5795
5831
  */
5796
5832
  VideoProfilePortrait120p3 = 1002,
5797
5833
  /**
5798
- * 1010: 180 × 320, frame rate 15 fps, bitrate 140 Kbps.
5834
+ * @ignore
5799
5835
  */
5800
5836
  VideoProfilePortrait180p = 1010,
5801
5837
  /**
5802
- * 1012: 180 × 180, frame rate 15 fps, bitrate 100 Kbps.
5838
+ * @ignore
5803
5839
  */
5804
5840
  VideoProfilePortrait180p3 = 1012,
5805
5841
  /**
5806
- * 1013: 180 × 240, frame rate 15 fps, bitrate 120 Kbps.
5842
+ * @ignore
5807
5843
  */
5808
5844
  VideoProfilePortrait180p4 = 1013,
5809
5845
  /**
5810
- * 1020: 240 × 320, frame rate 15 fps, bitrate 200 Kbps.
5846
+ * @ignore
5811
5847
  */
5812
5848
  VideoProfilePortrait240p = 1020,
5813
5849
  /**
5814
- * 1022: 240 × 240, frame rate 15 fps, bitrate 140 Kbps.
5850
+ * @ignore
5815
5851
  */
5816
5852
  VideoProfilePortrait240p3 = 1022,
5817
5853
  /**
5818
- * 1023: 240 × 424, frame rate 15 fps, bitrate 220 Kbps.
5854
+ * @ignore
5819
5855
  */
5820
5856
  VideoProfilePortrait240p4 = 1023,
5821
5857
  /**
5822
- * 1030: 360 × 640, frame rate 15 fps, bitrate 400 Kbps.
5858
+ * @ignore
5823
5859
  */
5824
5860
  VideoProfilePortrait360p = 1030,
5825
5861
  /**
5826
- * 1032: 360 × 360, frame rate 15 fps, bitrate 260 Kbps.
5862
+ * @ignore
5827
5863
  */
5828
5864
  VideoProfilePortrait360p3 = 1032,
5829
5865
  /**
5830
- * 1033: 360 × 640, frame rate 15 fps, bitrate 600 Kbps.
5866
+ * @ignore
5831
5867
  */
5832
5868
  VideoProfilePortrait360p4 = 1033,
5833
5869
  /**
5834
- * 1035: 360 × 360, frame rate 30 fps, bitrate 400 Kbps.
5870
+ * @ignore
5835
5871
  */
5836
5872
  VideoProfilePortrait360p6 = 1035,
5837
5873
  /**
5838
- * 1036: 360 × 480, frame rate 15 fps, bitrate 320 Kbps.
5874
+ * @ignore
5839
5875
  */
5840
5876
  VideoProfilePortrait360p7 = 1036,
5841
5877
  /**
5842
- * 1037: 360 × 480, frame rate 30 fps, bitrate 490 Kbps.
5878
+ * @ignore
5843
5879
  */
5844
5880
  VideoProfilePortrait360p8 = 1037,
5845
5881
  /**
5846
- * 1038: 360 × 640, frame rate 15 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
5882
+ * @ignore
5847
5883
  */
5848
5884
  VideoProfilePortrait360p9 = 1038,
5849
5885
  /**
5850
- * 1039: 360 × 640, frame rate 24 fps, bitrate 800 Kbps. This profile applies only to the live streaming channel profile.
5886
+ * @ignore
5851
5887
  */
5852
5888
  VideoProfilePortrait360p10 = 1039,
5853
5889
  /**
5854
- * 1100: 360 × 640, frame rate 24 fps, bitrate 1000 Kbps. This profile applies only to the live streaming channel profile.
5890
+ * @ignore
5855
5891
  */
5856
5892
  VideoProfilePortrait360p11 = 1100,
5857
5893
  /**
5858
- * 1040: 480 × 640, frame rate 15 fps, bitrate 500 Kbps.
5894
+ * @ignore
5859
5895
  */
5860
5896
  VideoProfilePortrait480p = 1040,
5861
5897
  /**
5862
- * 1042: 480 × 480, frame rate 15 fps, bitrate 400 Kbps.
5898
+ * @ignore
5863
5899
  */
5864
5900
  VideoProfilePortrait480p3 = 1042,
5865
5901
  /**
5866
- * 1043: 480 × 640, frame rate 30 fps, bitrate 750 Kbps.
5902
+ * @ignore
5867
5903
  */
5868
5904
  VideoProfilePortrait480p4 = 1043,
5869
5905
  /**
5870
- * 1045: 480 × 480, frame rate 30 fps, bitrate 600 Kbps.
5906
+ * @ignore
5871
5907
  */
5872
5908
  VideoProfilePortrait480p6 = 1045,
5873
5909
  /**
5874
- * 1047: 480 × 848, frame rate 15 fps, bitrate 610 Kbps.
5910
+ * @ignore
5875
5911
  */
5876
5912
  VideoProfilePortrait480p8 = 1047,
5877
5913
  /**
5878
- * 1048: 480 × 848, frame rate 30 fps, bitrate 930 Kbps.
5914
+ * @ignore
5879
5915
  */
5880
5916
  VideoProfilePortrait480p9 = 1048,
5881
5917
  /**
5882
- * 1049: 480 × 640, frame rate 10 fps, bitrate 400 Kbps.
5918
+ * @ignore
5883
5919
  */
5884
5920
  VideoProfilePortrait480p10 = 1049,
5885
5921
  /**
5886
- * 1050: 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps.
5922
+ * @ignore
5887
5923
  */
5888
5924
  VideoProfilePortrait720p = 1050,
5889
5925
  /**
5890
- * 1052: 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps.
5926
+ * @ignore
5891
5927
  */
5892
5928
  VideoProfilePortrait720p3 = 1052,
5893
5929
  /**
5894
- * 1054: 720 × 960, frame rate 15 fps, bitrate 910 Kbps.
5930
+ * @ignore
5895
5931
  */
5896
5932
  VideoProfilePortrait720p5 = 1054,
5897
5933
  /**
5898
- * 1055: 720 × 960, frame rate 30 fps, bitrate 1380 Kbps.
5934
+ * @ignore
5899
5935
  */
5900
5936
  VideoProfilePortrait720p6 = 1055,
5901
5937
  /**
5902
- * 1060: 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps.
5938
+ * @ignore
5903
5939
  */
5904
5940
  VideoProfilePortrait1080p = 1060,
5905
5941
  /**
5906
- * 1062: 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps.
5942
+ * @ignore
5907
5943
  */
5908
5944
  VideoProfilePortrait1080p3 = 1062,
5909
5945
  /**
5910
- * 1064: 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps.
5946
+ * @ignore
5911
5947
  */
5912
5948
  VideoProfilePortrait1080p5 = 1064,
5913
5949
  /**
@@ -5927,7 +5963,7 @@ export declare enum VideoProfileType {
5927
5963
  */
5928
5964
  VideoProfilePortrait4k3 = 1072,
5929
5965
  /**
5930
- * (Default) 640 × 360, frame rate 15 fps, bitrate 400 Kbps.
5966
+ * @ignore
5931
5967
  */
5932
5968
  VideoProfileDefault = 30
5933
5969
  }