diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita index 2e8ee92968c..7b5febd53cd 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -29,7 +29,7 @@

After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.

diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita index f4aa340bb6c..837e03a16e9 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -29,7 +29,7 @@ diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita index 6753c73be1e..0be77384731 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita @@ -34,7 +34,7 @@

diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita index 7e9833e3f79..1b7ab83f152 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita @@ -34,7 +34,7 @@
Details

After successfully calling this method, the SDK calculates the spatial audio parameters based on the relative position of the local and remote user.

- Call this method after .
+ Call this method after the or method.
Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita index d85095e3a4d..6f0c91abf47 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita @@ -34,7 +34,7 @@ delegate audioFrameObserver -

The observer instance. See . Set the value as to release the instance. Agora recommends calling this method after receiving to release the audio observer object.

+

The observer instance. See . Set the value as to release the instance. Agora recommends calling this method after receiving to release the audio observer object.

diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita index 1c6f069bb37..9e15402c7af 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita @@ -2,7 +2,7 @@ <ph keyref="registerFaceInfoObserver" /> - Registers a facial information observer. + Registers or unregisters a facial information observer. Registers a facial information observer. @@ -47,7 +47,7 @@ observer - Facial information observer, see . + Facial information observer, see . If you need to unregister a facial information observer, pass in .
diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita index beafa1688f7..08fdc732306 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita @@ -43,7 +43,7 @@ observer delegate videoFrameObserver - The observer instance. See . To release the instance, set the value as . + The observer instance. See . To release the instance, set the value as . mode diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita index 3578a3506a3..6f099ba65dc 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita @@ -30,6 +30,7 @@ Details

On the Android platform, if you need to open a file in URI format, use .

This method supports playing URI files starting with content://.

+

For supported formats of Agora media player, see .

If you want to choose the CDN route for playing the media resource, you can call the method. Agora changes the CDN route through the self-developed scheduling center to improve the viewing user experience. If you do not need to choose the CDN route for playing the media resource, you can call the method.

This method is called asynchronously.

diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita index a456116d13e..bfb2ed895b6 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita @@ -27,6 +27,7 @@ Details

This method supports opening media files of different sources, including a custom media source, and allows you to configure the playback scenarios.

+

Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita index 09e9e5a94b0..b048a69f1c5 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita @@ -37,7 +37,7 @@
  • Video captured by a camera and encoded in H.264 or H.265.
  • Once the recording is started, if the video resolution is changed, the SDK stops the recording; if the sampling rate and audio channel changes, the SDK continues recording and generates audio files respectively.

    -

    The SDK can generate a recording file only when it detects audio and video streams; when there are no audio and video streams to be recorded or the audio and video streams are interrupted for more than 5 seconds, the SDK stops the recording and triggers the (, ) callback.

    +

    The SDK can generate a recording file only when it detects audio and video streams; when there are no audio and video streams to be recorded or the audio and video streams are interrupted for more than 5 seconds, the SDK stops the recording and triggers the (, ) callback.

    -
    - Details - -
    -
    +
    +

    This method is used to adjust the signal volume of all remote users mixed and played locally. If you need to adjust the signal volume of a specified remote user played locally, it is recommended that you call instead.

    +
    +
    + Call timing +

    It can be called either before or after joining the channel.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters @@ -46,5 +50,5 @@
  • 0: Success.
  • < 0: Failure. See for details and resolution suggestions.
  • - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita index 39cc17ebe8b..20313d0c685 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita @@ -16,27 +16,33 @@ public abstract int adjustRecordingSignalVolume(int volume); - (int)adjustRecordingSignalVolume:(NSInteger)volume; virtual int adjustRecordingSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int AdjustRecordingSignalVolume(int volume); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int AdjustRecordingSignalVolume(int volume); abstract adjustRecordingSignalVolume(volume: number): number; public abstract int AdjustRecordingSignalVolume(int volume); abstract adjustRecordingSignalVolume(volume: number): number; Future<void> adjustRecordingSignalVolume(int volume);

    -
    - Details - -

    You can call this method either before or after joining a channel.

    -
    -
    +
    +

    If you only need to mute the audio signal, Agora recommends that you use instead.

    +
    +
    + Call timing +

    It can be called either before or after joining the channel.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters volume

    The volume of the user. The value range is [0,400].

      -
    • 0: Mute.If you only need to mute the audio signal, Agora recommends that you use instead.
    • +
    • 0: Mute.
    • 100: (Default) The original volume.
    • 400: Four times the original volume (amplifying the audio signals by four times).

    @@ -50,5 +56,5 @@
  • 0: Success.
  • < 0: Failure. See for details and resolution suggestions.
  • - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita index 2c04fa497f6..1973c2bbab2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita @@ -16,8 +16,8 @@ public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int AdjustUserPlaybackSignalVolume(int uid, int volume); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int AdjustUserPlaybackSignalVolume(int uid, int volume); abstract adjustUserPlaybackSignalVolume(uid: number, volume: number): number; public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); abstract adjustUserPlaybackSignalVolume(uid: number, volume: number): number; @@ -25,22 +25,25 @@ {required int uid, required int volume});

    -
    - Details +

    You can call this method to adjust the playback volume of a specified remote user. To adjust the playback volume of different remote users, call the method as many times, once for each remote user.

    - -
      -
    • Call this method after joining a channel.
    • -
    • The playback volume here refers to the mixed volume of a specified remote user.
    • -
    -
    +
    +
    + Call timing +

    Call this method after joining a channel.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters uid The user ID of the remote user. - + @@ -52,5 +55,5 @@
  • 0: Success.
  • < 0: Failure. See for details and resolution suggestions.
  • - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita b/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita index 604c872afa2..dc9e9c7ad1e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita @@ -47,14 +47,9 @@
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita index 17dc454c356..066a19eb300 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita @@ -16,7 +16,7 @@ public abstract int disableAudio(); - (int)disableAudio; virtual int disableAudio() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DisableAudio(); abstract disableAudio(): number; public abstract int DisableAudio(); @@ -24,25 +24,30 @@ Future<void> disableAudio();

    -
    - Details - -
      -
    • This method disables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
    • -
    • This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the audio modules separately:
        +
        +

        The audio module is enabled by default, and you can call this method to disable the audio module.

        +
        +
        + Call timing +

        It can be called either before or after joining the channel. It is still valid after one leaves channel.

        +
        +
        + Restrictions +

        This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the audio modules separately:

        • : Whether to enable the microphone to create the local audio stream.
        • : Whether to enable loopback audio capturing.
        • : Whether to publish the local audio stream.
        • : Whether to subscribe and play the remote audio stream.
        • : Whether to subscribe to and play all remote audio streams.
        • -
        -
    + +

    +
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita index 00f4a540127..978037c7b37 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita @@ -24,20 +24,33 @@ Future<void> disableVideo();

    -
    - Details -

    This method can be called before joining a channel or during a call to disable the video module. If it is called before joining a channel, an audio call starts when you join the channel; if called during a call, a video call switches to an audio call. Call to enable the video module.

    -

    A successful call of this method triggers the () callback on the remote client.

    - +
    +

    This method is used to disable the video module.

    +
    +
    + Call timing +

    This method can be called either before or after joining the channel.

      +
    • If it is called before joining the channel, the audio-only mode is enabled.
    • +
    • If it is called after joining the channel, it switches from video mode to audio-only mode. Then, calling can swithch to video mode again.
    • +

    +
    +
    + Restrictions
    • This method affects the internal engine and can be called after leaving the channel.
    • -
    • This method resets the internal engine and thus might takes some time to take effect. Agora recommends using the following APIs to control the video modules separately:
        +
      • Calling this method will reset the entire engine, resulting in a slow response time. Instead of calling this method, you can independently control a specific video module based on your actual needs using the following methods:
        • : Whether to enable the camera to create the local video stream.
        • : Whether to publish the local video stream.
        • : Whether to subscribe to and play the remote video stream.
        • : Whether to subscribe to and play all remote video streams.
      • -
    + +
    + +
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita index 5ebe967f624..91c2c896bef 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita @@ -16,7 +16,7 @@ public abstract int enableAudio(); - (int)enableAudio; virtual int enableAudio() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableAudio(); abstract enableAudio(): number; public abstract int EnableAudio(); @@ -24,12 +24,16 @@ Future<void> enableAudio();

    -
    - Details -

    The audio mode is enabled by default.

    - +
    +

    The audio module is enabled by default After calling to disable the audio module, you can call this method to re-enable it.

    +
    +
    + Call timing +

    It can be called either before or after joining the channel. It is still valid after one leaves channel.

    +
    +
    + Restrictions
      -
    • This method enables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
    • Calling this method will reset the entire engine, resulting in a slow response time. Instead of callling this method, you can independently control a specific audio module based on your actual needs using the following methods:
      • : Whether to enable the microphone to create the local audio stream.
      • : Whether to publish the local audio stream.
      • @@ -37,13 +41,14 @@
      • : Whether to subscribe to and play all remote audio streams.
    • A successful call of this method resets , , and . Proceed it with caution.
    • -
    + +
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita index bba0724116d..6cf817abf67 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita @@ -18,8 +18,8 @@ smooth:(NSInteger)smooth reportVad:(BOOL)reportVad;
    virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); abstract enableAudioVolumeIndication( interval: number, smooth: number, @@ -35,11 +35,22 @@ {required int interval, required int smooth, required bool reportVad});

    -
    - Details -

    This method enables the SDK to regularly report the volume information to the app of the local user who sends a stream and remote users (three users at most) whose instantaneous volumes are the highest. Once you call this method and users send streams in the channel, the SDK triggers the callback at the time interval set in this method.

    - You can call this method either before or after joining a channel.
    -
    +
    +

    This method enables the SDK to regularly report the volume information to the app of the local user who sends a stream and remote users (three users at most) whose instantaneous volumes are the highest.

    +
    +
    + Call timing +

    It can be called either before or after joining the channel.

    +
    +
    + Restrictions +

    None.

    +
    + +
    Parameters @@ -65,9 +76,9 @@
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    -
      -
    • 0: Success.
    • +
        +
      • 0: Success.
      • < 0: Failure. See for details and resolution suggestions.
    - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita index 30c84ae3b26..984e4ec5808 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita @@ -55,10 +55,6 @@

    Agora recommends that you call to check whether the current device supports portrait center stage before enabling this feature.

    -
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita index 11fa58cc046..124e0eb4b9c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita @@ -42,15 +42,25 @@ MediaSourceType type = MediaSourceType.unknownMediaSource});

    -
    - Details -

    To call this method, call it immediately after initializing the object.

    - -
      +
      +

      +

      +
      + Call timing +

      Agora recommends that you call this method after joining a channel.

      +
      +
      + Restrictions +
      • If you want to enable multiple extensions, you need to call this method multiple times.
      • -
      • The data processing order of different extensions in the SDK is determined by the order in which the extensions are enabled. That is, the extension that is enabled first will process the data first.
      • -
      -
      +
    • After a successful call of this method, you cannot load other extensions.
    • +
    +
    + +
    Parameters @@ -82,7 +92,7 @@

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure.
        +
      • < 0: Failure. See for details and resolution suggestions.
        • -3: The extension library is not loaded. Agora recommends that you check the storage location or the name of the dynamic library.
      • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita index dabc9fae4c1..eb272222e0a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita @@ -33,7 +33,7 @@

        This method enables or disables in-ear monitoring.

          -
        • This method applies to Android and iOS only.
        • +
        • This method is for Android and iOS only.
        • Users must use earphones (wired or Bluetooth) to hear the in-ear monitoring effect.
        • You can call this method either before or after joining a channel.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita index 2554355d28d..20568ddcdc0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita @@ -16,7 +16,7 @@ public abstract int enableLocalAudio(boolean enabled); - (int)enableLocalAudio:(BOOL)enabled; virtual int enableLocalAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableLocalAudio(bool enabled); abstract enableLocalAudio(enabled: boolean): number; public abstract int EnableLocalAudio(bool enabled); @@ -24,30 +24,39 @@ Future<void> enableLocalAudio(bool enabled);

    -
    - Details +

    The audio function is enabled by default when users joining a channel. This method disables or re-enables the local audio function to stop or restart local audio capturing.

    -

    This method does not affect receiving the remote audio streams, and () is applicable to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel.

    -

    Once the local audio function is disabled or re-enabled, the SDK triggers the callback, which reports (0) or (1). -

    +
    +
    + Applicable scenarios +

    This method does not affect receiving the remote audio streams, and () is applicable to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel.

    +
    +
    + Call timing +

    You can call this method either before or after joining a channel. Calling it before joining a channel only sets the device state, and it takes effect immediately after you join the channel.

    +
    +
    + Restrictions +

    None.

    +
    + -
    +
    Parameters enabled -

    • : (Default) Re-enable the local audio function, that is, to start the local audio capturing device (for example, the microphone).
    • : Disable the local audio function, that is, to stop local audio capturing.
    • -

    +
    @@ -58,5 +67,5 @@
  • 0: Success.
  • < 0: Failure. See for details and resolution suggestions.
  • - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita index b6ea3ba99d4..974b49cb64b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita @@ -67,7 +67,7 @@ uid - The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so. + The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit signed integer. The value range is from -231-1 to 231-1. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so. diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita index 6ea08d44d72..595ca2ccead 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -81,7 +81,7 @@ uid - The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your app must record and maintain the returned user ID, because the SDK does not do so. + The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit signed integer. The value range is from -231-1 to 231-1. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so. options diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita b/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita index ab6bf231c34..897b5720c83 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita @@ -2,7 +2,7 @@ <ph keyref="loadExtensionProvider"/> - Adds an extension to the SDK. + Loads an extension. @@ -31,13 +31,21 @@ {required String path, bool unloadAfterUse = false});

    -
    - Details +
    +

    This method is used to add extensions external to the SDK (such as those from Extensions Marketplace and SDK extensions) to the SDK.

    +
    +
    + Call timing +

    Make sure the is initialized before you call this method.

    +
    +
    + Restrictions +

    If you want to load multiple extensions, you need to call this method multiple times.

    (For Windows and Android only) This method is for Android only. This method applies to Windows only.
    -
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita b/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita index afea03f9c04..dd5dc675a67 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita @@ -33,7 +33,6 @@
    Call timing

    Call this method after joining a channel.

    - If you call () after leaving the channel, you will not subscribe to any user's video stream the next time you join the channel.
    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita index cda1377d25e..27dd5608903 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita @@ -32,22 +32,29 @@ Future<void> preloadChannel( {required String token, required String channelId, required int uid});

    -
    - Details +
    Since
    v4.2.2
    -

    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. As it may take a while for the SDK to preload a channel, Agora recommends that you call this method as soon as possible after obtaining the channel name and user ID to join a channel.

    -
    • When calling this method, ensure you set the user role as audience and do not set the audio scenario as , otherwise, this method does not take effect.
    • +

      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. +
    +
    + Call timing +

    To improve the user experience of preloading channels, Agora recommends that before joining the channel, calling this method as early as possible once confirming the channel name and user information.

    +
    +
    + Restrictions +
    • When calling this method, ensure you set the user role as audience and do not set the audio scenario as , otherwise, this method does not take effect.
    • You also need to make sure that the channel name, user ID and token passed in for preloading are the same as the values passed in when joinning the channel, otherwise, this method does not take effect.
    • One instance supports preloading 20 channels at most. When exceeding this limit, the latest 20 preloaded channels take effect.
    • -
    • 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.
    -

    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.

    +
    -
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita b/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita index 705bbfe7218..55fa15f336a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita @@ -43,7 +43,7 @@ description:(NSString * _Nullable)description; rating - The rating of the call. The value is between 1 (the lowest score) and 5 (the highest score). If you set a value out of this range, the SDK returns the -2 (ERR_INVALID_ARGUMENT) error. + The value is between 1 (the lowest score) and 5 (the highest score). description @@ -56,8 +56,8 @@ description:(NSString * _Nullable)description;
    • 0: Success.
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2 (ERR_INVALID_ARGUMENT).
      • -
      • -3 (ERR_NOT_READY).
      • +
      • -1: A general error occurs (no specified reason).
      • +
      • -2: The parameter is invalid.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita index 03fe276c829..5dbb70f4d97 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita @@ -39,25 +39,33 @@ MediaSourceType type = MediaSourceType.unknownMediaSource});

    -
    - Details +
    Since
    v4.1.0
    -

    After the extension is loaded, you can call this method to register the extension.

    - +

    For extensions external to the SDK (such as those from Extensions Marketplace and SDK Extensions), you need to load them before calling this method. Extensions internal to the SDK (those included in the full SDK package) are automatically loaded and registered after the initialization of .

    +
    +
    + Call timing
      +
    • Agora recommends you call this method after the initialization of and before joining a channel.
    • +
    • For video extensions (such as the image enhancement extension), you need to call this method after enabling the video module by calling or .
    • Before calling this method, you need to call to load the extension first.
    • -
    • Before calling this method, you need to link the extension dynamic library (.xcframework) to your project in Xcode.
    • +
    • Before calling this method, you need to link the extension dynamic library (.xcframework) to your project in Xcode to load the extension.
    • Before calling this method, you need to call to load the extension first.
    • -
    • For extensions external to the SDK (such as those from Extensions Marketplace and SDK Extensions), you need to call this method before calling .
    • -
    - + +
    +
    + Restrictions +
      +
    • If you want to register multiple extensions, you need to call this method multiple times.
    • +
    • The data processing order of different extensions in the SDK is determined by the order in which the extensions are registered. That is, the extension that is registered first will process the data first.
    • +
    -
    +
    Parameters @@ -76,9 +84,12 @@
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    -
      +
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • < 0: Failure. See for details and resolution suggestions.
          +
        • -3: The extension library is not loaded. Agora recommends that you check the storage location or the name of the dynamic library.
        • +
        +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita b/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita index df48f1f082c..71111711656 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita @@ -1,12 +1,12 @@ - <ph keyref="renewToken" /> + <ph keyref="renewToken"/> Renews the token. - + @@ -24,12 +24,28 @@ Future<void> renewToken(String token);

    -
    - DetailsYou can call this method to pass a new token to the SDK. A token expires after a certain period of time. In the following two cases, the app should call this method to pass in a new token. Failure to do so will result in the SDK disconnecting from the server.
      -
    • The SDK triggers the callback.
    • -
    • The callback reports (9).
    • -
    -
    +
    +

    You can call this method to pass a new token to the SDK. A token will expire after a certain period of time, at which point the SDK will be unable to establish a connection with the server.

    +
    +
    + Call timing +

    In any of the following cases, Agora recommends that you generate a new token on your server and then call this method to renew your token:

    • Receiving the callback reporting the token is about to expire.
    • +
    • Receiving the callback reporting the token has expired.
    • +
    • Receiving the callback reporting (9).
    • +

    +
    +
    + Restrictions +

    None.

    +
    + +
    Parameters @@ -43,9 +59,12 @@
    • 0: Success.
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid. For example, the token is invalid. You need to fill in a valid parameter.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • +
      • -2: The parameter is invalid. For example, the token is empty.
      • +
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • +
      • 110: Invalid token. Ensure the following:
          +
        • The user ID specified when generating the token is consistent with the user ID used when joining the channel.
        • +
        • The generated token is the same as the token passed in to join the channel.
    - - \ No newline at end of file + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita index 40338a85cdd..cec9c02e9ac 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita @@ -16,7 +16,7 @@ public abstract int setAudioProfile(int profile, int scenario); - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioProfile(EAUDIO_PROFILE_TYPE profile = EAUDIO_PROFILE_TYPE::AUDIO_PROFILE_DEFAULT, EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); abstract setAudioProfile( profile: AudioProfileType, @@ -32,35 +32,42 @@ AudioScenarioType scenario = AudioScenarioType.audioScenarioDefault});

    -
    - Details +
    Deprecated:
    This method is deprecated. If you need to set the audio profile, use ; if you need to set the audio scenario, use .
    - -
      -
    • You can call this method either before or after joining a channel.
    • -
    • Due to iOS system restrictions, some audio routes cannot be recognized in call volume mode. Therefore, if you need to use an external sound card, it is recommended to set the audio scenario to (3). In this scenario, the SDK will switch to media volume to avoid this issue.
    • -
    • In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as (4)and scenario as (3).
    • -
    -
    +
    +
    + Applicable scenarios +

    This method is suitable for various audio scenarios. You can choose as needed. For example, in scenarios with high audio quality requirements such as music teaching, it is recommended to set profile to (4) and scenario to (3).

    +
    +
    + Call timing +

    You can call this method either before or after joining a channel.

    +
    +
    + Restrictions +

    Due to iOS system restrictions, some audio routes cannot be recognized in call volume mode. Therefore, if you need to use an external sound card, it is recommended to set the audio scenario to (3). In this scenario, the SDK will switch to media volume to avoid this issue.

    +

    None.

    +
    +
    Parameters profile -

    The audio profile, including the sampling rate, bitrate, encoding mode, and the number of channels. See .

      -
    • (0): The default value.
        +

        The audio profile, including the sampling rate, bitrate, encoding mode, and the number of channels. See .

          +
        • (0): The default value.
        • -
        • (1): A sampling rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
        • -
        • (2): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
        • -
        • (3): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
        • -
        • (4): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.
        • -
        • (5): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
        • +
        • (1): A sampling rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
        • +
        • (2): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
        • +
        • (3): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
        • +
        • (4): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.
        • +
        • (5): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.

        @@ -76,5 +83,5 @@
      • 0: Success.
      • < 0: Failure. See for details and resolution suggestions.
    - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita index 4a559ef43a9..66c689994eb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita @@ -2,7 +2,7 @@ <ph keyref="setAudioProfile2" /> - Sets the audio parameters and application scenarios. + Sets audio profiles. @@ -21,15 +21,22 @@

    -
    - Details - -
      -
    • You can call this method either before or after joining a channel.
    • -
    • In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as (4).
    • -
    • If you need to set the audio scenario, you can either call , or and set the mAudioScenarioaudioScenario in .
    • -
    -
    +
    +

    If you need to set the audio scenario, you can either call , or and set the mAudioScenarioaudioScenario in .

    +
    +
    + Applicable scenarios +

    This method is suitable for various audio scenarios. You can choose as needed. For example, in scenarios with high audio quality requirements such as music teaching, it is recommended to set profile to (4).

    +
    +
    + Call timing +

    You can call this method either before or after joining a channel.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters @@ -39,11 +46,11 @@
    -
    +
    Returns
    • 0: Success.
    • < 0: Failure. See for details and resolution suggestions.
    - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita index e8cb0892f97..2df5f3dbe8b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita @@ -16,7 +16,7 @@ public abstract int setAudioScenario(int scenario); - (int)setAudioScenario:(AgoraAudioScenario)scenario; virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioScenario(EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); abstract setAudioScenario(scenario: AudioScenarioType): number; public abstract int SetAudioScenario(AUDIO_SCENARIO_TYPE scenario); @@ -24,29 +24,32 @@ Future<void> setAudioScenario(AudioScenarioType scenario);

    -
    - Details - -
      -
    • You can call this method either before or after joining a channel.
    • -
    • -
    -
    -
    +
    +

    +

    +
    + Applicable scenarios +

    This method is suitable for various audio scenarios. You can choose as needed. For example, in scenarios such as music teaching that require high sound quality, it is recommended to set scenario to (3).

    +
    +
    + Call timing +

    You can call this method either before or after joining a channel.

    +
    +
    +
    Parameters scenario - The audio scenarios. Under different audio scenarios, the device uses different volume types. See .
      -
    • (0): (Default) Automatic scenario, where the SDK chooses the appropriate audio quality according to the user role and audio route.
    • -
    • (3): High-quality audio scenario, where users mainly play music.
    • -
    • (5): Chatroom scenario, where users need to frequently switch the user role or mute and unmute the microphone. In this scenario, audience members receive a pop-up window to request permission of using microphones.
    • -
    • (7): Real-time chorus scenario, where users have good network conditions and require ultra-low latency.
    • -
    • (8): Meeting scenario that mainly involves the human voice.
    • + The audio scenarios. Under different audio scenarios, the device uses different volume types. See .
        +
      • (0): (Default) Automatic scenario, where the SDK chooses the appropriate audio quality according to the user role and audio route.
      • +
      • (3): High-quality audio scenario, where users mainly play music.
      • +
      • (5): Chatroom scenario, where users need to frequently switch the user role or mute and unmute the microphone. In this scenario, audience members receive a pop-up window to request permission of using microphones.
      • +
      • (7): Real-time chorus scenario, where users have good network conditions and require ultra-low latency.
      • +
      • (8): Meeting scenario that mainly involves the human voice.
      - -
    +
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    @@ -54,5 +57,5 @@
  • 0: Success.
  • < 0: Failure. See for details and resolution suggestions.
  • - - + + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita index 91b9bd08bf4..4623d530a36 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita @@ -49,10 +49,6 @@
  • After enabling camera stabilization, the higher the camera stabilization level, the smaller the camera's field of view and the greater the camera's latency. To improve user experience, it is recommended that you set the mode parameter to .
  • -
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita index c2b8e7e755f..57269870702 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -33,7 +33,7 @@ Details
      -
    • This method applies to Android and iOS only.
    • +
    • This method is for Android and iOS only.
    • Ensure that you call this method before joining a channel. If you need to change the audio route after joining a channel, call .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita index 0da33e6a87d..9917cfe2223 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -24,11 +24,12 @@ Future<void> setEnableSpeakerphone(bool speakerOn);

    Details -

    If the default audio route of the SDK (see Set the Audio Route) or the setting in cannot meet your requirements, you can call to switch the current audio route. After a successful method call, the SDK triggers the callback.

    +

    If the default audio route of the SDK or the setting in cannot meet your requirements, you can call to switch the current audio route. After a successful method call, the SDK triggers the callback.

    +

    For the default audio route in different scenarios, see Audio Route.

    This method only sets the audio route in the current channel and does not influence the default audio route. If the user leaves the current channel and joins another channel, the default audio route is used.

      -
    • This method applies to Android and iOS only.
    • +
    • This method is for Android and iOS only.
    • Call this method after joining a channel.
    • If the user uses an external audio playback device such as a Bluetooth or wired headset, this method does not take effect, and the SDK plays audio through the external device. When the user uses multiple external devices, the SDK plays audio through the last connected device.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita index ed04d421750..308bb2b1415 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita @@ -47,11 +47,22 @@ MediaSourceType type = MediaSourceType.unknownMediaSource});

    -
    - Details +

    After enabling the extension, you can call this method to set the properties of the extension.

    -
    +
    + Call timing +

    Call this mehtod after calling .

    +
    +
    + Restrictions +

    If you want to set properties for multiple extensions, you need to call this method multiple times.

    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita index 90b5f2b9e27..cd38bb98831 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita @@ -37,15 +37,18 @@ {required String provider, required String key, required String value});

    -
    - Details +

    You can call this method to set the attributes of the extension provider and initialize the relevant parameters according to the type of the provider.

    -

    - -

    Call this method after , and before enabling the audio (/) or the video (/).

    -

    -
    +
    + Call timing +

    Call this method before and after .

    +
    +
    + Restrictions +

    If you want to set the properties of the extension provider for multiple extensions, you need to call this method multiple times.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita index 71fe991fe14..52705ddc848 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita @@ -16,31 +16,31 @@ public abstract int setInEarMonitoringVolume(int volume); - (int)setInEarMonitoringVolume:(NSInteger)volume; virtual int setInEarMonitoringVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int SetInEarMonitoringVolume(int volume); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int SetInEarMonitoringVolume(int volume); abstract setInEarMonitoringVolume(volume: number): number; public abstract int SetInEarMonitoringVolume(int volume); abstract setInEarMonitoringVolume(volume: number): number; Future<void> setInEarMonitoringVolume(int volume);

    -
    - Details - -
      -
    • You can call this method either before or after joining a channel.
    • -
    -
    +
    +

    +

    +
    + Call timing +

    It can be called either before or after joining the channel.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters - - volume - The volume of the in-ear monitor. The value range is [0,400].
      -
    • 0: Mute.
    • -
    • 100: (Default) The original volume.
    • -
    • 400: Four times the original volume.
    • -
    -
    + + +
    @@ -52,5 +52,5 @@
  • -2: Invalid parameter settings, such as in-ear monitoring volume exceeding the valid range (< 0 or > 400).
  • - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita index 88154d2bb87..9421989f5a7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita @@ -28,18 +28,23 @@ Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config);

    -
    - Details +

    Sets the encoder configuration for the local video. Each configuration profile corresponds to a set of video parameters, including the resolution, frame rate, and bitrate.

    -

    The config specified in this method is the maximum value under ideal network conditions. If the video engine cannot render the video using the specified config due to unreliable network conditions, the parameters further down the list are considered until a successful configuration is found.

    - +
    +
    + Call timing +

    You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.

    +

    Call this method before joining a channel. Agora recommends calling this method before to reduce the time to render the first video frame.

    + +
    +
    + Restrictions
      -
    • You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.
    • -
    • Both this method and the method support setting the mirroring effect. Agora recommends that you only choose one method to set it up. Using both methods at the same time causes the mirroring effect to overlap, which causes the mirroring settings to fail.
    • -
    - You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame. - Call this method before joining a channel. Agora recommends calling this method before to reduce the time to render the first video frame.
    -
    +
  • Both this method and the method support setting the mirroring effect. Agora recommends that you only choose one method to set it up. Using both methods at the same time causes the mirroring effect to overlap, and the mirroring settings fail.
  • +
  • The config specified in this method is the maximum value under ideal network conditions. If the video engine cannot render the video using the specified config due to unreliable network conditions, the parameters further down the list are considered until a successful configuration is found.
  • + +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita index ebad6cc2262..489c735fe52 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita @@ -40,7 +40,7 @@
    Details -

    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 () callback. When the audio mixing file playback finishes, the SDK triggers the () callback on the local client.

    +

    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 () callback. When the audio mixing file playback finishes, the SDK triggers the () callback on the local client.

    This method supports playing URI files starting with content://.

      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita index 01e6f1d93e7..86aef2486cd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita @@ -21,18 +21,21 @@ abstract startPreviewWithoutSourceType(): number; Future<void> startPreviewWithoutSourceType();

    -
    - Details -

    You can call this method to enable local video preview. Call this method after the following:

      -
    • Call to initialize the local preview.
    • -
    • Call to enable the video module.
    • -

    - +
    +

    You can call this method to enable local video preview.

    +
    +
    + Call timing +

    This method must be called after and .

    +

    This method must be called after .

    +
    +
    + Restrictions
    • The local preview enables the mirror mode by default.
    • -
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
    • -
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
    • -
    +
  • After leaving the channel, local preview remains enabled. You need to call to disable local preview.
  • + +
    <ph keyref="return-section-title"/>

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita index 43fa40a7621..19e96bbcfb5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita @@ -26,22 +26,20 @@ {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary});

    -
    - Details +
    Since
    v4.2.2
    -

    - -

      -
    • The local preview enables the mirror mode by default.
    • -
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
    • -
    • The video source type set in this method needs to be consistent with the video source type of you set in .
    • -
    -
    +

    This method is used to start local video preview and specify the video source that appears in the preview screen.

    +
    +
    +
    +
    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita index 58e424e6e3d..b983156fd57 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita @@ -27,18 +27,29 @@ Future<void> startScreenCapture(ScreenCaptureParameters2 captureParams);

    -
    - Details -

    There are two options for enabling screen sharing. You can choose the one that best suits your specific scenario:

      +
      +
        +
      • This method is for Android and iOS only.
      • +
      • The billing for the screen sharing stream is based on the dimensions in :
          +
        • When you do not pass in a value, Agora bills you at 1280 × 720.
        • +
        • When you pass in a value, Agora bills you at that value. For billing examples, see .
      +
      +
      +
      + Applicable scenarios +

      In the screen sharing scenario, you need to call this method to start capturing the screen video stream. For implementation guidance of screen sharing, please refer to .

      +
      +
      + Call timing +

      You can call this method either before or after joining the channel, with the following differences:

      • Call this method before joining a channel, then call to join channel and set publishScreenCaptureVideo to to start screen sharing.
      • -
      • Call this method after joining a channel, then call and set publishScreenCaptureVideo to to start screen sharing.
      • +
      • Call this method after joining a channel, then call to join channel and set publishScreenCaptureVideo to to start screen sharing.

      -

      When the state of the screen sharing extension process changes, the SDK triggers the callback accordingly. When the type of sourceType is , the state parameter indicates the state of the screen sharing.

      - +
      +
      + Restrictions
        -
      • This method applies to Android and iOS only.
      • On the iOS platform, screen sharing is only available on iOS 12.0 and later.
      • -
      • The billing for the screen sharing stream is based on the dimensions in . When you do not pass in a value, Agora bills you at 1280 × 720; when you pass a value in, Agora bills you at that value. For billing details, see .
      • If you are using the custom audio source instead of the SDK to capture audio, Agora recommends you add the keep-alive processing logic to your application to avoid screen sharing stopping when the application goes to the background.
      • This feature requires high-performance device, and Agora recommends that you use it on iPhone X and later models.
      • This method relies on the iOS screen sharing dynamic library AgoraReplayKitExtension.xcframework. If the dynamic library is deleted, screen sharing cannot be enabled normally.
      • @@ -47,9 +58,14 @@
      • Due to performance limitations, screen sharing is not supported on Android TV.
      • Due to system limitations, if you are using Huawei phones, do not adjust the video encoding resolution of the screen sharing stream during the screen sharing, or you could experience crashes.
      • Due to system limitations, some Xiaomi devices do not support capturing system audio during screen sharing.
      • -
      • To avoid system audio capture failure when screen sharing, Agora recommends that you set the audio application scenario to by using the method before joining the channel.
      • -
      -
      +
    • To avoid system audio capture failure when sharing screen, Agora recommends that you set the audio application scenario to by using the method before joining the channel.
    • +
    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita index eccbcb0ba52..14c4d981604 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita @@ -2,7 +2,7 @@ <ph keyref="startScreenCapture2" /> - Starts screen capture. + Starts screen capture from the specified video source. @@ -30,33 +30,38 @@ required ScreenCaptureConfiguration config});

    -
    - Details +
    Since
    v4.2.0
    -

    This method, as well as and , can all be used to enable screen capture, with the following differences: This method, as well as , , and , can all be used to start screen capture, with the following differences:

      -
    • only applies to Android and iOS, whereas this method only applies to Windows and iOS.
    • -
    • and only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing.
    • -
    -

    -
      -
    • This method applies to the macOS and Windows only.
    • -
    • If you call this method to start screen capture, Agora recommends that you call to stop the capture and avoid using .
    + This method applies to the macOS and Windows only.
    -
    +
    + Applicable scenarios +

    In the screen sharing scenario, you need to call this method to start capturing the screen video stream.

    +

    The SDK supports a series of methods for screen capturing, with the following distinctions between them. Please choose according to the actual scenario:

      +
    • //: Only supports capturing a single screen or window, suitable for scenarios where only a single screen is shared.
    • +
    • : Supports specifying multiple video sources to capture multiple screen sharing streams, used for local video mixing or multi-channel scenarios.

    +
    +
    + + </section> + <section id="restriction" deliveryTarget="details"> + <title>Restrictions +
      +
    • If you start screen capture by calling this method, you need to call to stop screen capture.
    • +
    • On the Windows platform, it supports up to four screen capture video streams.
    • +
    • On the macOS platform, it supports only one screen capture video stream.
    +
    +
    Parameters sourceType - -

    The type of the video source. See .

    -
      -
    • Windows supports up to four screen capture video streams.
    • -
    • macOS supports only one screen capture video stream. You can only set this parameter to (2).
    + The type of the video source. See .On the macOS platform, this parameter can only be set to (2).
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita index dbd89d025a9..439a2160bc4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita @@ -40,16 +40,26 @@ required ScreenCaptureParameters captureParams});

    -
    - Details -

    This method shares a screen or part of the screen.

    -

    There are two ways to start screen sharing, you can choose one according to your needs:

      -
    • Call this method before joining a channel, and then call to join a channel and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
    • -
    • Call this method after joining a channel, and then call and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
    • -

    +
    +

    Captures the video stream of a screen or a part of the screen area.

    This method is for Windows and macOS only.
    -
    +
    + Applicable scenarios +

    In the screen sharing scenario, you need to call this method to start capturing the screen video stream. For implementation guidance of screen sharing, please refer to .

    +
    +
    + Call timing +

    You can call this method either before or after joining the channel, with the following differences:

      +
    • Call this method before joining a channel, and then call to join a channel and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
    • +
    • Call this method after joining a channel, and then call to join a channel and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
    • +

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita index f9fe8d2a990..2880eb1fca4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita @@ -39,13 +39,9 @@ required ScreenCaptureParameters captureParams});

    -
    - Details +

    This method captures a window or part of the window. You need to specify the ID of the window to be captured.

    -

    - -

    • This method applies to the macOS and Windows only.
    • -
    • The window sharing feature of the Agora SDK relies on WGC (Windows Graphics Capture) or GDI (Graphics Device Interface) capture, and WGC cannot be set to disable mouse capture on systems earlier than Windows 10 2004. Therefore, captureMouseCursor(false) might not work when you start window sharing on a device with a system earlier than Windows 10 2004. See .
    + This method applies to the macOS and Windows only.

    This method supports window sharing of UWP (Universal Windows Platform) applications. Agora tests the mainstream UWP applications by using the lastest SDK, see details as follows:

    @@ -169,7 +165,20 @@

    -
    +
    + Applicable scenarios +

    In the screen sharing scenario, you need to call this method to start capturing the screen video stream. For implementation guidance of screen sharing, please refer to .

    +
    +
    + Call timing +

    +

    +
    + Restrictions +

    The window sharing feature of the Agora SDK relies on WGC (Windows Graphics Capture) or GDI (Graphics Device Interface) capture, and WGC cannot be set to disable mouse capture on systems earlier than Windows 10 2004. Therefore, captureMouseCursor(false) might not work when you start window sharing on a device with a system earlier than Windows 10 2004. See .

    +

    None.

    +
    +
    Parameters @@ -205,4 +214,4 @@
  • < 0: Failure. See for details and resolution suggestions.
  • - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita index aa7a0b41115..6679bba6556 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita @@ -21,10 +21,19 @@ abstract stopPreview(sourceType?: VideoSourceType): number;

    -
    - Details -

    After calling to start the preview, if you want to close the local video preview, call this method.

    - Call this method before joining a channel or after leaving a channel. +
    +
    +
    + Applicable scenarios +

    After calling to start the preview, if you want to stop the local video preview, call this method.

    +
    +
    + Call timing +

    Call this method before joining a channel or after leaving a channel.

    +
    +
    + Restrictions +

    None.

    Returns diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita index 16ecadc3831..fc350526a39 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita @@ -26,18 +26,26 @@ {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary});

    -
    - Details +
    Since
    v4.2.2
    -

    After calling to start the preview, if you want to close the local video preview, call this method.

    - Call this method before joining a channel or after leaving a channel. -
    -
    +
    +
    + Applicable scenarios +

    After calling to start the preview, if you want to stop the local video preview, call this method.

    +
    +
    + + </section> + <section id="restriction" deliveryTarget="details"> + <title>Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita index 950481ffc2c..bd3753eabda 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita @@ -27,9 +27,21 @@ Future<void> stopScreenCapture();

    -
    - Details -

    After calling or to start screen capture, call this method to stop screen capture.

    +
    +
    +
    + Applicable scenarios +

    If you start screen capture by calling , , or , you need to call this method to stop screen capture.

    +

    If you start screen capture by calling , you need to call this method to stop screen capture.

    +

    If you start screen capture by calling or , you need to call this method to stop screen capture.

    +
    +
    + Call timing +

    You can call this method either before or after joining a channel.

    +
    +
    + Restrictions +

    None.

    <ph keyref="return-section-title"/> diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita index bd0f877e1aa..5599a3fc8f7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita @@ -2,7 +2,7 @@ <ph keyref="stopScreenCapture2" /> - Stops screen capture. + Stops screen capture from the specified video source. @@ -24,21 +24,28 @@ Future<void> stopScreenCaptureBySourceType(VideoSourceType sourceType);

    -
    - Details +
    Since
    v4.2.0
    -

    After calling to start capturing video from one or more screens, you can call this method and set the sourceType parameter to stop capturing from the specified screens.

    -
      -
    • This method applies to the macOS and Windows only.
    • -
    • If you call , , or to start screen capure, Agora recommends that you call instead to stop the capture.
    • -
    • If you call or to start screen capture, Agora recommends that you call to stop the capture and do not use this one.
    + This method applies to the macOS and Windows only.
    -
    +
    + Applicable scenarios +

    If you start screen capture from one or more screens by calling , you need to call this method to stop screen capture, specifying the screen through the sourceType parameter.

    +
    +
    + Call timing +

    You can call this method either before or after joining a channel.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters @@ -54,4 +61,4 @@
  • < 0: Failure. See for details and resolution suggestions.
  • - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita index dc77fda7d42..81da7ffeed7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita @@ -33,7 +33,7 @@

      -
    • This method applies to Android and iOS only.
    • +
    • This method is for Android and iOS only.
    • On the iOS platform, screen sharing is only available on iOS 12.0 and later.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita index af5788eeb91..4fef5e9562c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita @@ -59,9 +59,9 @@ - - - + + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita index ae87bda4985..5bbd82a40c7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita @@ -34,12 +34,19 @@ required RtcConnection connection});

    -
    - Details -

    Sets the encoder configuration for the local video. Each configuration profile corresponds to a set of video parameters, including the resolution, frame rate, and bitrate.

    +
    +

    +

    +
    + Call timing +

    Call this method after .

    + +
    +
    + Restrictions

    The config specified in this method is the maximum value under ideal network conditions. If the video engine cannot render the video using the specified config due to unreliable network conditions, the parameters further down the list are considered until a successful configuration is found.

    -
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita index c17ac91499d..27bd024da4c 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita @@ -72,20 +72,23 @@
  • (0): The SDK is connecting to Agora's edge server.
  • (1): The SDK has joined the channel successfully.
  • (2): The connection between the SDK and Agora's edge server is interrupted.
  • -
  • (3): The network connection is blocked by the server, possibly because the user is kicked out of the channel.
  • -
  • (4): The SDK fails to join the channel.
  • +
  • (3): The connection is banned by the Agora server. For example, when a user is kicked out of the channel, this code will be returned.
  • +
  • (4): The SDK fails to join the channel. When the SDK fails to join the channel for more than 20 minutes, this code will be returned and the SDK stops reconnecting to the channel. You need to prompt the user to try to switch to another network and rejoin the channel.
  • (5): The SDK has left the channel.
  • -
  • (6): The connection failed because the App ID is not valid. Please rejoin the channel with a valid App ID.
  • -
  • (7): The connection failed because the channel name is invalid. Rejoin the channel with a valid channel name.
  • -
  • (8): The connection failed because the token is invalid. Possible reasons are as follows:
      -
    • The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
    • -
    • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
    • -
  • -
  • (9): The token has expired. You need to generate a new token from your server.
  • +
  • (6): Invalid App ID. You need to rejoin the channel with a valid APP ID and make sure the App ID you are using is consistent with the one generated in the Agora Console.
  • +
  • (7): Invalid channel name. Rejoin the channel with a valid channel name. A valid channel name is a string of up to 64 bytes in length. Supported characters (89 characters in total):
  • +
  • (8): Invalid token. Possible reasons are as follows:
      +
    • The App Certificate for the project is enabled in Agora Console, but you do not pass in a token when joining a channel.
    • +
    • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
    • +
    • The generated token and the token used to join the channel are not consistent.
    • +
    Ensure the following:
    • When your project enables App Certificate, you need to pass in a token to join a channel.
    • +
    • The user ID specified when generating the token is consistent with the user ID used when joining the channel.
    • +
    • The generated token is the same as the token passed in to join the channel.
  • +
  • (9): The token currently being used has expired. You need to generate a new token on your server and rejoin the channel with the new token.
  • (10): The user is banned by the server.
  • (11): The SDK tries to reconnect after setting a proxy server.
  • (12): The connection state changed because the token is renewed.
  • -
  • (13): The IP Address of the SDK client has changed, probably due to a change of the network type, IP address, or network port.
  • +
  • (13): Client IP address changed. If you receive this code multiple times, You need to prompt the user to switch networks and try joining the channel again.
  • (14): Timeout for the keep-alive of the connection between the SDK and the Agora edge server. The SDK tries to reconnect to the server automatically.
  • (15): The SDK has rejoined the channel successfully.
  • (16): The connection between the SDK and the server is lost.
  • diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita index c7a2b7a441b..5b90a0279c9 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita @@ -75,7 +75,7 @@
    elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. If you call before calling , then this parameter is the time elapsed from calling the method until the SDK triggers this callback. + The time elapsed (ms) from the local user calling or to join the channel to when the SDK triggers this callback. If / is called before joining the channel, this parameter indicates the time elapsed from calling or to when this event occurred.
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita index 172bc97384d..7d0b44373e0 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita @@ -39,7 +39,7 @@

    The SDK triggers this callback under one of the following circumstances:

      -
    • The local client enables the video module and calls successfully.
    • +
    • The local client enables the video module and calls or to join the channel successfully.
    • The local client calls () and () in sequence.
    • The local client calls and in sequence.
    • The local client calls to successfully push the video frame to the SDK.
    • @@ -62,7 +62,7 @@ elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. + Time elapsed (ms) from the local user calling or until this callback is triggered.
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita index 5cefbdc4426..39e1eab958a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita @@ -88,7 +88,7 @@ elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. + The time elapsed (ms) from the local user calling or until the SDK triggers this callback.
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita index b3c6de240aa..e034c7f03ed 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita @@ -73,7 +73,7 @@ elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. + The time elapsed (ms) from the local user calling or until the SDK triggers this callback.
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita index cb645322751..295b6214552 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -50,7 +50,7 @@
    • The SDK triggeres this callback under the following circumstances, with the state as , and the reason as :
      • The app switches to the background, and the system revokes the camera resource.
      • For Android 9 and later versions, after an app is in the background for a period, the system automatically revokes camera permissions.
      • -
      • For Android 6 and later versions, if the camera is held by a third-party app for a certain duration and then released, the SDK triggers this callback and reports the (,) callback.
      • +
      • For Android 6 and later versions, if the camera is held by a third-party app for a certain duration and then released, the SDK triggers this callback and reports the (,) callback.
      • The camera starts normally, but does not output video frames for four consecutive seconds.
    • When the camera outputs captured video frames, if the SDK detects 15 consecutive duplicate video frames, it triggers this callback, with the state as and the reason as .Note that the video frame duplication detection is only available for video frames with a resolution greater than 200 × 200, a frame rate greater than or equal to 10 fps, and a bitrate less than 20 Kbps.
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita index 927a5f3bf3f..2f0b965e61f 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita @@ -23,12 +23,21 @@ final void Function(RtcConnection connection)? onRequestToken;

    -
    -

    When the token expires during a call, the SDK triggers this callback to remind the app to renew the token.

    -

    When receiving this callback, you need to generate a new token on your token server and you can renew your token through one of the following ways:

    • Call to pass in the new token.
    • -
    • Call to leave the current channel and then pass in the new token when you call to join a channel.

    +
    +

    The SDK triggers this callback if the token expires.

    +

    When receiving this callback, you need to generate a new token on your token server and you can renew your token through one of the following ways:

      +
    • In scenarios involving one channel:
        +
      • Call to pass in the new token.
      • +
      • Call to leave the current channel and then pass in the new token when you call to join a channel.
      • +
    • +
    • In scenarios involving mutiple channels: Call to pass in the new token.
    • +

    -
    +
    + Restrictions +

    None.

    +
    +
    <ph keyref="callback-section-title" /> @@ -41,4 +50,4 @@
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita index 1915c4b3cdd..4d157fe21d4 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita @@ -2,7 +2,7 @@ <ph keyref="onRtcStats" /> - Reports the statistics of the current call. + Reports the statistics about the current call. @@ -26,10 +26,15 @@ final void Function(RtcConnection connection, RtcStats stats)? onRtcStats;

    -
    -

    The SDK triggers this callback once every two seconds after the user joins the channel.

    +
    + Trigger timing +

    The SDK triggers this callback once every two seconds after the user joins the channel.

    -
    +
    + Restrictions +

    None.

    +
    +
    <ph keyref="callback-section-title" /> @@ -48,4 +53,4 @@
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita index 73e2b7eb709..038230864c4 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita @@ -27,11 +27,18 @@ onTokenPrivilegeWillExpire;

    -
    -

    When the token is about to expire in 30 seconds, the SDK triggers this callback to remind the app to renew the token.

    -

    Upon receiving this callback, you need to generate a new token on your server, and call to pass the new token to the SDK. In scenarios involving multiple channels, you need to call to pass the new token to the SDK.

    +
    +

    -
    +
    + Trigger timing +

    The SDK triggers this callback 30 seconds before the token expires, reminding the app to update the token.

    +
    +
    + Restrictions +

    None.

    +
    +
    <ph keyref="callback-section-title" /> @@ -44,8 +51,8 @@ token - The token that expires in 30 seconds. + The token that is about to expire.
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita index 80ddafa256a..bd24391eacf 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita @@ -27,7 +27,7 @@
    • This function only supports video data in RGBA and YUV420.
    • -
    • Both this method and the method support setting the mirroring effect. Agora recommends that you only choose one method to set it up. Using both methods at the same time causes the mirroring effect to overlap, which causes the mirroring settings to fail.
    • +
    • Both this method and the method support setting the mirroring effect. Agora recommends that you only choose one method to set it up. Using both methods at the same time causes the mirroring effect to overlap, and the mirroring settings fail.
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita index e801ec6f3e1..acd9497de52 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita @@ -50,6 +50,7 @@
    • The video data you get here is the raw video data, that is, video data that has not undergone preprocessing such as watermarking, cropping, and rotation.
    • If the video data type you get is RGBA, the SDK does not support processing the data of the alpha channel.
    • +
    • It's recommended that you implement this callback through the C++ API.
    • Due to framework limitations, this callback does not support sending processed video data back to the SDK.
    @@ -62,11 +63,14 @@ videoFrame - The video frame. See .The default value of the video frame data format obtained through this callback is as follows:
      -
    • Android: I420 or RGB (GLES20.GL_TEXTURE_2D)
    • -
    • iOS: I420 or CVPixelBufferRef
    • -
    • macOS: I420 or CVPixelBufferRef
    • -
    • Windows: YUV420
    + The video frame. See .The default value of the video frame data format obtained through this callback is as follows:
      +
    • Android: I420 or RGB (GLES20.GL_TEXTURE_2D)
    • +
    • iOS: I420 or CVPixelBufferRef
    • +
    • macOS: I420 or CVPixelBufferRef
    • +
    • Android: I420
    • +
    • iOS: I420
    • +
    • macOS: I420
    • +
    • Windows: YUV420
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita index 9bd4e782ed1..8309350ee18 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita @@ -36,6 +36,7 @@
    • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through .
    • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through the position parameter of the method.
    • +
    • It's recommended that you implement this callback through the C++ API.
    • Due to framework limitations, this callback does not support sending processed video data back to the SDK.
    • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita index a694399b65c..326c8414da9 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita @@ -39,6 +39,7 @@
    • If the video data type you get is RGBA, the SDK does not support processing the data of the alpha channel.
    • +
    • It's recommended that you implement this callback through the C++ API.
    • Due to framework limitations, this callback does not support sending processed video data back to the SDK.
    If you use Unity for development, Agora only supports sending video data in YUV format to SDK. Ensure that you set mode as INTPTR when you call the method to register a video frame observer.
    diff --git a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita index ad115a1a648..a03b2611b07 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -557,7 +557,7 @@ class ChannelMediaOptions { }

    -
    Agora supports publishing multiple audio streams and one video stream at the same time and in the same . For example, publishMicrophoneTrack, publishCustomAudioTrack, and publishMediaPlayerAudioTrack can be set as at the same time, but only one of publishCameraTrack, publishScreenCaptureVideopublishScreenTrack, publishCustomVideoTrack, or publishEncodedVideoTrack can be set as .Agora recommends that you set member parameter values yourself according to your business scenario, otherwise the SDK will automatically assign values to member parameters. +
    Agora supports publishing multiple audio streams and one video stream at the same time and in the same . For example, publishMicrophoneTrack, publishCustomAudioTrack, and publishMediaPlayerAudioTrack can be set as at the same time, but only one of publishCameraTrack, publishScreenCaptureVideo, publishScreenTrack, publishCustomVideoTrack, or publishEncodedVideoTrack can be set as .Agora recommends that you set member parameter values yourself according to your business scenario, otherwise the SDK will automatically assign values to member parameters.
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> @@ -682,7 +682,15 @@ class ChannelMediaOptions { - + + publishLipSyncTrack + Whether to publish the video track processed by the speech driven extension:
      +
    • : Publish the video track processed by the speech driven extension.
    • +
    • : Do not publish the video track processed by the speech driven extension.
    • +
    +
    +
    + publishCustomAudioTrack Whether to publish the audio captured from a custom source:
    • : Publish the audio captured from the custom source.
    • diff --git a/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita b/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita index cc639c145f1..3f7a6b29efc 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita @@ -119,10 +119,10 @@ struct FChannelMediaRelayConfiguration }

    -
    +
    Method - + setSrcChannelInfo Sets the information of the source channel. See . @@ -131,32 +131,20 @@ struct FChannelMediaRelayConfiguration Sets the information of the target channel. See . - removeDestChannelInfo + removeDestChannelInfo + removeDestinationInfoForChannelName Deletes the information of target channel. See . - + getSrcChannelMediaInfo Gets the information of the source channel. See . - + getDestChannelMediaInfos Gets the information of the target channel. See .
    -
    - Method - - - setDestinationInfo - Sets the information of the target channel. See . - - - removeDestinationInfoForChannelName - Deletes the information of target channel. See . - - -
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> diff --git a/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita b/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita index b79985e3275..85f2766b5fb 100644 --- a/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita +++ b/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita @@ -5,7 +5,7 @@ Facial information observer.
    -

    You can call to register or unregister the object.

    +

    You can call to register one observer.

    \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/class_livetranscoding.dita b/en-US/dita/RTC-NG/API/class_livetranscoding.dita index 10e2aadcef7..15f3ac27021 100644 --- a/en-US/dita/RTC-NG/API/class_livetranscoding.dita +++ b/en-US/dita/RTC-NG/API/class_livetranscoding.dita @@ -646,8 +646,7 @@ struct FLiveTranscoding videoBitrate -

    Bitrate of the output video stream for Media Push in Kbps. The default value is 400 Kbps.

    -

    Set this member according to the table. If you set a bitrate beyond the proper range, the SDK automatically adapts it to a value within the range.

    +

    The encoding bitrate (Kbps) of the video. See . This parameter does not need to be set; keeping the default value is sufficient. The SDK automatically matches the most suitable bitrate based on the video resolution and frame rate you have set. For the correspondence between video resolution and frame rate, see .

    diff --git a/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita b/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita index ffe332811bf..a4e292e1600 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita @@ -147,7 +147,7 @@ struct FScreenCaptureConfiguration params parameters - (For Windows and macOS only) The screen capture configuration. See . + (For Windows and macOS only) The screen capture configuration. See . regionRect diff --git a/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita b/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita index bcc6cb8b130..2ae2664f87a 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita @@ -299,6 +299,7 @@ struct FScreenCaptureParameters
  • : Bring the window to the front.
  • : (Default) Do not bring the window to the front.
  • + Due to macOS system limitations, when setting this member to bring the window to the front, if the current app has multiple windows, only the main window will be brought to the front.
    diff --git a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita index 030efdfcf23..5c11133c69f 100644 --- a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita +++ b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita @@ -147,7 +147,7 @@ struct FScreenVideoParameters {
      -
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing details, see .
    • +
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing examples, see .
    • The value of this parameter does not indicate the orientation mode of the output video. For how to set the video orientation, see .
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    @@ -168,7 +168,7 @@ struct FScreenVideoParameters {
      -
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing details, see .
    • +
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing examples, see .
    • The value of this parameter does not indicate the orientation mode of the output video. For how to set the video orientation, see .
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    @@ -189,7 +189,7 @@ struct FScreenVideoParameters {
      -
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing details, see .
    • +
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing examples, see .
    • The value of this parameter does not indicate the orientation mode of the output video. For how to set the video orientation, see .
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    diff --git a/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita b/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita index 08c46793660..559a08920ef 100644 --- a/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita +++ b/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita @@ -133,22 +133,22 @@ class VideoRenderingTracingInfo { elapsedTime - The time interval from calling the method to SDK triggering the callback. The unit is milliseconds. Agora recommends you call before joining a channel. + The time interval (ms) from to SDK triggering the callback. Agora recommends you call before joining a channel. start2JoinChannel - The time interval from calling to calling . The unit is milliseconds. A negative number means to call after calling . + The time interval (ms) from to or . A negative number indicates that is called after calling . join2JoinSuccess - Time interval from calling to successfully joining the channel. The unit is milliseconds. + The time interval (ms) from or to successfully joining the channel. joinSuccess2RemoteJoined
      -
    • If the local user calls before successfully joining the channel, this value is the time interval from the local user successfully joining the channel to the remote user joining the channel. The unit is milliseconds.
    • -
    • If the local user calls after successfully joining the channel, the value is the time interval from calling to when the remote user joins the channel. The unit is milliseconds.
    • +
    • If the local user calls before successfully joining the channel, this value is the time interval (ms) from the local user successfully joining the channel to the remote user joining the channel.
    • +
    • If the local user calls after successfully joining the channel, the value is the time interval (ms) from to when the remote user joins the channel.
      @@ -161,8 +161,8 @@ class VideoRenderingTracingInfo { remoteJoined2SetView
        -
      • If the local user calls before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user sets the remote view. The unit is milliseconds.
      • -
      • If the local user calls after the remote user joins the channel, this value is the time interval from calling to setting the remote view. The unit is milliseconds.
      • +
      • If the local user calls before the remote user joins the channel, this value is the time interval (ms) from when the remote user joins the channel to when the local user sets the remote view.
      • +
      • If the local user calls after the remote user joins the channel, this value is the time interval (ms) from calling to setting the remote view.
        @@ -174,8 +174,8 @@ class VideoRenderingTracingInfo { remoteJoined2UnmuteVideo
          -
        • If the local user calls before the remote user joins the channel, this value is the time interval from the remote user joining the channel to subscribing to the remote video stream. The unit is milliseconds.
        • -
        • If the local user calls after the remote user joins the channel, this value is the time interval from calling to subscribing to the remote video stream. The unit is milliseconds.
        • +
        • If the local user calls before the remote user joins the channel, this value is the time interval (ms) from the remote user joining the channel to subscribing to the remote video stream.
        • +
        • If the local user calls after the remote user joins the channel, this value is the time interval (ms) from to subscribing to the remote video stream.
          @@ -188,8 +188,8 @@ class VideoRenderingTracingInfo { remoteJoined2PacketReceived
            -
          • If the local user calls before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user receives the remote video stream. The unit is milliseconds.
          • -
          • If the local user calls after the remote user joins the channel, this value is the time interval from calling to receiving the remote video stream. The unit is milliseconds.
          • +
          • If the local user calls before the remote user joins the channel, this value is the time interval (ms) from when the remote user joins the channel to when the local user receives the remote video stream.
          • +
          • If the local user calls after the remote user joins the channel, this value is the time interval (ms) from to receiving the remote video stream.
            diff --git a/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita b/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita index 0c1b17227db..bfe30d66401 100644 --- a/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita +++ b/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita @@ -21,11 +21,11 @@ - 3: The connection between the SDK and the Agora edge server is banned by the Agora edge server. This error occurs when the user is kicked out of the channel by the server. + 3: The connection between the SDK and the Agora edge server is banned by the Agora edge server. For example, when a user is kicked out of the channel, this status will be returned. - 4: The SDK fails to join the channel. When the SDK fails to join the channel for more than 20 minutes, this error occurs and the SDK stops reconnecting to the channel. + 4: The SDK fails to join the channel. When the SDK fails to join the channel for more than 20 minutes, this code will be returned and the SDK stops reconnecting to the channel. You need to prompt the user to try to switch to another network and rejoin the channel. @@ -33,24 +33,28 @@ - 6: The connection failed because the App ID is not valid. Please rejoin the channel with a valid App ID. + 6: The App ID is invalid. You need to rejoin the channel with a valid APP ID and make sure the App ID you are using is consistent with the one generated in the Agora Console. - 7: The connection failed since channel name is not valid. Rejoin the channel with a valid channel name. + 7: Invalid channel name. Rejoin the channel with a valid channel name. A valid channel name is a string of up to 64 bytes in length. Supported characters (89 characters in total):
            +
            -

            8: The connection failed because the token is not valid. Possible reasons are as follows:

              -
            • The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
            • +

              8: Invalid token. Possible reasons are as follows:

                +
              • The App Certificate for the project is enabled in Agora Console, but you do not pass in a token when joining a channel.
              • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
              • -

              +
            • The generated token and the token used to join the channel are not consistent.
            • +
            Ensure the following:
            • When your project enables App Certificate, you need to pass in a token to join a channel.
            • +
            • The user ID specified when generating the token is consistent with the user ID used when joining the channel.
            • +
            • The generated token is the same as the token passed in to join the channel.

            - 9: The connection failed since token is expired. + (9): The token currently being used has expired. You need to generate a new token on your server and rejoin the channel with the new token. @@ -71,7 +75,7 @@ - 13: The IP address of the client has changed, possibly because the network type, IP address, or port has been changed. + (13): Client IP address changed. If you receive this code multiple times, You need to prompt the user to switch networks and try joining the channel again. diff --git a/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita b/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita index aa5227bd375..5bb499cb766 100644 --- a/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita +++ b/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita @@ -9,19 +9,19 @@ - The interface class. + 1: The interface class. - The interface class. + 2: The interface class. - + This interface class is deprecated. - The interface class. + 4: The interface class. @@ -29,11 +29,11 @@ - The interface class. + 11: The interface class. - The interface class. + 15: The interface class.
    diff --git a/en-US/dita/RTC-NG/API/rtc_api_overview.dita b/en-US/dita/RTC-NG/API/rtc_api_overview.dita index 5a18706c23e..d0e855f85cd 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_overview.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_overview.dita @@ -2572,21 +2572,21 @@ Method / Callback Description - - - + + + - - + + - - + + @@ -2597,12 +2597,12 @@ - - + + - - + + @@ -2612,6 +2612,10 @@ + + + +