From 954acb2c93bd451fb7675f779f359efea7495a14 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:56:33 +0800 Subject: [PATCH 1/8] New translations --- ...audioengine_muteallremoteaudiostreams.dita | 2 +- ...atialaudioengine_mutelocalaudiostream.dita | 2 +- ...tialaudioengine_muteremoteaudiostream.dita | 2 +- ...atialaudioengine_setmaxaudiorecvcount.dita | 2 +- ...spatialaudioengine_updateselfposition.dita | 4 +-- .../RTC-NG/API/api_imediaplayer_play.dita | 3 +- .../RTC-NG/API/api_imediaplayer_seek.dita | 8 ++--- .../API/api_imediaplayer_setloopcount.dita | 6 +++- ...pi_imediaplayer_setspatialaudioparams.dita | 2 +- .../RTC-NG/API/api_imediaplayer_stop.dita | 3 ++ ...engine_adjustuserplaybacksignalvolume.dita | 2 +- .../api_irtcengine_configrhythmplayer.dita | 24 +++++++++++--- .../API/api_irtcengine_createdatastream2.dita | 2 +- .../API/api_irtcengine_createmediaplayer.dita | 2 +- .../api_irtcengine_enablespatialaudio.dita | 8 ++--- ...rtcengine_getcurrentmonotonictimeinms.dita | 17 +++++++--- .../api_irtcengine_iscamerazoomsupported.dita | 20 ++++++----- .../API/api_irtcengine_sendstreammessage.dita | 2 +- ...ine_setcameraautofocusfacemodeenabled.dita | 30 ++++++++--------- ...engine_setcameracapturerconfiguration.dita | 32 ++++++++++-------- .../API/api_irtcengine_seteffectsvolume.dita | 18 ++++++---- ...i_irtcengine_setheadphoneeqparameters.dita | 2 +- .../API/api_irtcengine_setvolumeofeffect.dita | 17 +++++++--- .../API/api_irtcengine_startrhythmplayer.dita | 33 ++++++++++++------- .../API/api_irtcengine_switchcamera.dita | 25 +++++++------- .../API/api_irtcengine_switchcamera2.dita | 17 ++++------ .../API/api_irtcengine_unloadeffect.dita | 17 ++++++++-- ...neex_adjustuserplaybacksignalvolumeex.dita | 21 +++++++----- .../api_irtcengineex_createdatastreamex2.dita | 2 +- ...ngineex_enableaudiovolumeindicationex.dita | 14 +++++--- .../api_irtcengineex_sendstreammessageex.dita | 1 + en-US/dita/RTC-NG/API/rtc_api_data_type.dita | 5 +++ en-US/dita/RTC-NG/API/rtc_api_overview.dita | 5 +-- en-US/dita/RTC-NG/API/rtc_api_sunset.dita | 2 +- 34 files changed, 219 insertions(+), 133 deletions(-) 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 e806233e854..6396c46c790 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -31,7 +31,7 @@
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 c7e3d070c40..9ffb90c4390 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -31,7 +31,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 efc5d6612b1..452d7a76dd3 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita @@ -36,7 +36,7 @@

diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita index 0eb20bb4de4..ae53623fff4 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita @@ -28,7 +28,7 @@
Details

If the number of receivable streams exceeds the set value, the local user receives the maxCount streams that are closest to the local user.

- 因为服务端空间音效不发布,所以不能体现 enterRoom。You can call this method either before or after , with the following differences:
    + 因为服务端空间音频不发布,所以不能体现 enterRoom。You can call this method either before or after , with the following differences:
    • If you call this method before , this method takes effect when entering the room.
    • If you call this method after , this method takes effect immediately and changes the current maximum number of received streams of the local user.
diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita index 454b39132b9..0c3d45ccb71 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -43,8 +43,8 @@
Details

When this method is called under different classes, the effect is different:

    diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita index e3a018e2ec5..2bb0e3a6325 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita @@ -27,7 +27,8 @@
Details -

After calling or , you can call this method to play the media file.

+

After calling or , you can call this method to play the media file.

+ 调用 打开媒体文件后,你需要在收到 回调报告状态为 后再调用 来播放。
<ph keyref="return-section-title"/> diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita index 93b68241b41..4c860adaa56 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -30,10 +30,10 @@
Details

After successfully calling this method, you will receive the callback, reporting the result of the seek operation to the new playback position.

-

To play the media file from a specific position, do the following:

    -
  • Call this method to seek to the position you want to begin playback.
  • -
  • Call the method to play the media file.
  • -

+
    +
  • 如果你在播放已经完成后(收到 回调报告播放状态为 )再调用 ,方法调用成功后,SDK 会从你指定的位置开始自动播放,此时你会收到 回调报告播放状态为
  • +
  • 如果你在播放暂停的情况下调用 ,调用成功后 SDK 会定位到你指定位置,如需播放,请调用
  • +
Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita index b2779ddbda7..d9a71fe94ce 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita @@ -37,7 +37,11 @@ loopCount - The number of times the audio effect loops: + The number of times the audio effect loops:
    +
  • ≥0:循环次数。 例如,设为 0 表示不循环播放,一共播放一次;设为 1 表示循环播放一次,一共播放 2 次。
  • +
  • -1: Play the audio file in an infinite loop.
  • +
+
diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita index 9ceccac90b4..2a1ab978100 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita @@ -28,7 +28,7 @@
Details

After successfully setting the spatial audio effect parameters of the media player, the SDK enables the spatial audio effect for the media player, and the local user can hear the media resources with a sense of space.

-

If you need to disable the spatial audio effect for the media player, set the params parameter to null.

+

If you need to disable the spatial audio effect for the media player, set the params parameter to null.

Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita index 1e88b692805..ec2dca3e62f 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita @@ -26,6 +26,9 @@ Future<void> stop();

+
+

调用该方法停止播放后,如需重新播放,需要调用 再次打开媒体资源。

+
<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_adjustuserplaybacksignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita index 6e449d3e20b..d6d8598d8b8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita @@ -27,7 +27,7 @@

-

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.

+

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 timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita index 5c438a61c2c..d4e572bf24f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita @@ -25,12 +25,26 @@ Future<void> configRhythmPlayer(AgoraRhythmPlayerConfig config);

-
- Details -

After calling , you can call this method to reconfigure the virtual metronome.

+
+
    +
  • After calling , you can call this method to reconfigure the virtual metronome.
  • +
  • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
  • +
  • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
  • +
+
+
+ Call timing +

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

+
+
+ Restrictions +

None.

+
+ -
+
+
Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita index c8dbef8a922..b9ec140627a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita @@ -31,7 +31,7 @@
Call timing -

Call this method after joining a channel.

+

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

Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita index 5ab86e2cd72..3e3f32fc368 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita @@ -27,7 +27,7 @@

-

Before calling any APIs in the class, you need to call this method to create an instance of the media player.

+

Before calling any APIs in the class, you need to call this method to create an instance of the media player. 如果你需要创建多个实例,可以多次调用该方法。

Call timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita index 783348d3c0c..db6034a10a0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita @@ -27,11 +27,11 @@
Details -

After enabling the spatial audio effect, you can call to set the spatial audio effect parameters of the remote user.

+

After enabling the spatial audio effect, you can call to set the spatial audio effect parameters of the remote user.

  • You can call this method either before or after joining a channel.
  • -
  • This method relies on the spatial audio dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
  • +
  • This method relies on the spatial audio dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
@@ -40,8 +40,8 @@ enabled Whether to enable the spatial audio effect:
    -
  • : Enable the spatial audio effect.
  • -
  • : Disable the spatial audio effect.
  • +
  • : Enable the spatial audio effect.
  • +
  • : Disable the spatial audio effect.
diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita index e8b01a766eb..5c7a6fede5e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita @@ -17,15 +17,14 @@ public abstract getCurrentMonotonicTimeInMs(): number; - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs()); virtual int64_t getCurrentMonotonicTimeInMs() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int64 GetCurrentMonotonicTimeInMs(); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int64 GetCurrentMonotonicTimeInMs(); abstract getCurrentMonotonicTimeInMs(): number; public abstract long GetCurrentMonotonicTimeInMs(); abstract getCurrentMonotonicTimeInMs(): number; Future<int> getCurrentMonotonicTimeInMs();

-
- Details +
Since
@@ -35,10 +34,18 @@

Monotonic Time refers to a monotonically increasing time series whose value increases over time. The unit is milliseconds.

In custom video capture and custom audio capture scenarios, in order to ensure audio and video synchronization, Agora recommends that you call this method to obtain the current Monotonic Time of the SDK, and then pass this value into the timestamp parameter in the captured video frame () and audio frame ().

+
+ Call timing +

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

+
+
+ Restrictions +

None.

+
Returns
    -
  • ≥0: The method call is successful, and returns the current Monotonic Time of the SDK (in milliseconds).
  • +
  • ≥0: The method call is successful, and returns the current Monotonic Time of the SDK (in milliseconds).
  • < 0: Failure. See for details and resolution suggestions.
diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita index 810d112dc8b..8e7d34afefa 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita @@ -17,7 +17,7 @@ - (BOOL)isCameraZoomSupported; virtual bool isCameraZoomSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraZoomSupported(); abstract isCameraZoomSupported(): boolean; public abstract bool IsCameraZoomSupported(); @@ -25,13 +25,17 @@ Future<bool> isCameraZoomSupported();

-
- Details - -
    -
  • This method is for Android and iOS only.
  • -
  • -
+
+ This method is for Android and iOS only. +
+
+ Call timing +

This method must be called after the SDK triggers the callback and returns the local video state as (2).

+
+
+ Restrictions +

None.

+
Returns
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita index 14fc4ba2f4e..53e3c172627 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -44,7 +44,7 @@

    A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

      -
    • Ensure that you call to create a data channel before calling this method.
    • +
    • 该方法需要在加入频道后、且调用 创建数据通道之后调用。
    • In live streaming scenarios, this method only applies to hosts.
diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita index 34677a666c5..4fecc9791ea 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita @@ -16,31 +16,31 @@ public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; - virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int SetCameraAutoFocusFaceModeEnabled(bool enabled); + virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int SetCameraAutoFocusFaceModeEnabled(bool enabled); abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; Future<void> setCameraAutoFocusFaceModeEnabled(bool enabled);

-
- Details -

The SDK disables face autofocus by default. To set face autofocus, call this method.

+
+

The SDK disables face autofocus by default. To set face autofocus, call this method.

The SDK enables face autofocus by default. To set face autofocus, call this method.

-

By default, the SDK disables face autofocus on Android and enables face autofocus on iOS. To set face autofocus, call this method.

- -
    -
  • This method is for Android and iOS only.
  • -
  • -
-
+

By default, the SDK disables face autofocus on Android and enables face autofocus on iOS. To set face autofocus, call this method.

+ This method is for Android and iOS only. +
+
+
+ Restrictions +

None.

+
+
Parameters - enabled + enabled enable

Whether to enable face autofocus:

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita index 146d329857f..75e7010fe0c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita @@ -17,8 +17,8 @@ public abstract setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number; - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int SetCameraCapturerConfiguration(const FCameraCapturerConfiguration& config); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int SetCameraCapturerConfiguration(const FCameraCapturerConfiguration& config); abstract setCameraCapturerConfiguration( config: CameraCapturerConfiguration ): number; @@ -30,21 +30,25 @@ CameraCapturerConfiguration config);

-
- Details - -
    -
  • This method is for Android and iOS only.
  • -
  • Call this method before enabling local camera capture, such as before calling and .
  • -
  • To adjust the camera focal length configuration, It is recommended to call first to check the device's focal length capabilities, and then configure based on the query results.
  • -
  • Due to limitations on some Android devices, even if you set the focal length type according to the results returned in , the settings may not take effect.
  • -
-
+
+

To adjust the camera focal length configuration, It is recommended to call first to check the device's focal length capabilities, and then configure based on the query results.

+

Due to limitations on some Android devices, even if you set the focal length type according to the results returned in , the settings may not take effect.

+ This method is for Android and iOS only. +
+
+ Call timing +

Call this method before enabling local camera capture, such as before calling and .

+
+
+ Restrictions +

None.

+
+
Parameters - + config - The camera capture configuration. See .In this method, you do not need to set the deviceId parameter. + The camera capture configuration. See .In this method, you do not need to set the deviceId parameter.
diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita index 37d563b897f..279a8a50d7b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita @@ -19,18 +19,24 @@ - (int)setEffectsVolume:(NSInteger)volume; virtual int setEffectsVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int SetEffectsVolume(int volume); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int SetEffectsVolume(int volume); abstract setEffectsVolume(volume: number): number; public abstract int SetEffectsVolume(int volume); abstract setEffectsVolume(volume: number): number; Future<void> setEffectsVolume(int volume);

-
- Details - Call this method after .
-
+
+
+ Call timing +

Call this method after .

+
+
+ Restrictions +

None.

+
+
Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita index de6a6d8c159..450e0e2ef57 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita @@ -34,7 +34,7 @@
v4.1.0
-

In a spatial audio effect scenario, if the preset headphone equalization effect is not achieved after calling the method, you can further adjust the headphone equalization effect by calling this method.

+

In a spatial audio effect scenario, if the preset headphone equalization effect is not achieved after calling the method, you can further adjust the headphone equalization effect by calling this method.

Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita index 23ede33c9fe..e018f76f7f8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita @@ -2,7 +2,7 @@ <ph keyref="setVolumeOfEffect" /> - Sets the volume of a specified audio effect. + Gets the volume of a specified audio effect file. @@ -20,15 +20,24 @@ withVolume:(int)volume; virtual int setVolumeOfEffect(int soundId, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int SetVolumeOfEffect(int soundId, int volume); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int SetVolumeOfEffect(int soundId, int volume); abstract setVolumeOfEffect(soundId: number, volume: number): number; public abstract int SetVolumeOfEffect(int soundId, int volume); abstract setVolumeOfEffect(soundId: number, volume: number): number; Future<void> setVolumeOfEffect({required int soundId, required int volume});

-
+
+
+ Call timing +

Call this method after .

+
+
+ Restrictions +

None.

+
+
Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita index 7c73fd9be2e..d62198228fb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita @@ -15,7 +15,7 @@

public abstract int startRhythmPlayer( String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; + - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRhythmPlayer(FString sound1, FString sound2, const FAgoraRhythmPlayerConfig& config); @@ -36,18 +36,29 @@ required AgoraRhythmPlayerConfig config});

-
- Details -

In music education, physical education and other scenarios, teachers usually need to use a metronome so that students can practice with the correct beat. The meter is composed of a downbeat and upbeats. The first beat of each measure is called a downbeat, and the rest are called upbeats.

-

In this method, you need to set the file path of the upbeat and downbeat, the number of beats per measure, the beat speed, and whether to send the sound of the metronome to remote users.

-

After successfully calling this method, the SDK triggers the callback locally to report the status of the virtual metronome.

- +
    -
  • This method is for Android and iOS only.
  • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
  • -
  • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
  • -
-
+
  • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
  • + +
    +
    + Applicable scenarios +

    In music education, physical education and other scenarios, teachers usually need to use a metronome so that students can practice with the correct beat. The meter is composed of a downbeat and upbeats. The first beat of each measure is called a downbeat, and the rest are called upbeats.

    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita index 2ecda369318..fec12fdd33e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita @@ -17,23 +17,26 @@ public abstract switchCamera(): number; - (int)switchCamera; virtual int switchCamera() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int SwitchCamera(); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int SwitchCamera(); abstract switchCamera(): number; public abstract int SwitchCamera(); abstract switchCamera(): number; Future<void> switchCamera();

    -
    - Details -

    You can call this method to dynamically switch cameras based on the actual camera availability during the app's runtime, without having to restart the video stream or reconfigure the video source.

    - -
    • This method is for Android and iOS only.
    • -
    • This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).
    • -
    • This method only switches the camera for the video stream captured by the first camera, that is, the video source set to (0) when calling .
    • -
    • This method and are both used to switch cameras. The difference is that switches to a specific camera by specifying the camera ID, while this method switches the direction of the camera (front or rear).
    • -
    +
    +

    You can call this method to dynamically switch cameras based on the actual camera availability during the app's runtime, without having to restart the video stream or reconfigure the video source.

    +

    This method and are both used to switch cameras. The difference is that switches to a specific camera by specifying the camera ID, while this method switches the direction of the camera (front or rear).

    + This method is for Android and iOS only. +
    +
    + Call timing +

    This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).

    +
    +
    + Restrictions +

    This method only switches the camera for the video stream captured by the first camera, that is, the video source set to (0) when calling .

    <ph keyref="return-section-title"/> diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita index 87c92be9901..2122252e8c4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita @@ -24,23 +24,20 @@

    -
    - Details +
    Since
    v4.3.1
    -

    - -

      -
    • -
    • -
    • This method and both are used to switch cameras. The difference is that switches the camera direction (front or rear), while this method switches to a specific camera by specifying the camera ID.
    • -
    +

    +

    This method and both are used to switch cameras. The difference is that switches the camera direction (front or rear), while this method switches to a specific camera by specifying the camera ID.

    + This method is for Android and iOS only.
    -
    +
    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita index 7c57265667f..1514c991857 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita @@ -19,15 +19,26 @@ - (int)unloadEffect:(int)soundId; virtual int unloadEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int UnloadEffect(int soundId); + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + int UnloadEffect(int soundId); abstract unloadEffect(soundId: number): number; public abstract int UnloadEffect(int soundId); abstract unloadEffect(soundId: number): number; Future<void> unloadEffect(int soundId);

    -
    +
    +

    调用 将音效文件加载至内存后,如需释放该音效文件,请调用该方法。

    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters 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 f0c70117f09..9152301db22 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita @@ -39,21 +39,24 @@ required RtcConnection connection});

    -
    - Details +
    Since
    v4.1.0
    -

    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 .

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita index 9c431f6627c..906d15dad60 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita @@ -40,7 +40,7 @@
    Call timing

    Call this method after .

    -
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita index 859589fe66e..4f3a00eae42 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita @@ -43,11 +43,17 @@ required RtcConnection connection});

    -
    - 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.

    +
    +
    + Call timing +

    Call this method after .

    +
    +
    + Restrictions +

    None.

    -
    + -
    +
    Virtual metronome - -

    This group of methods is for Android and iOS only.

    -
    Method / Callback diff --git a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita index 9016cd65348..e24eca2c090 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita @@ -432,7 +432,7 @@ v4.4.0 - setEncryptionSecret + setEncryptionSecret Enables built-in encryption with an encryption password before users join a channel. v4.4.0 From a22a6d454e71ea788ad845eda141f6b4547d97f0 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Mon, 22 Jul 2024 17:57:24 +0800 Subject: [PATCH 2/8] New translations --- .../API/api_irtcengine_joinchannel.dita | 18 ++++--- .../API/api_irtcengine_joinchannel2.dita | 49 ++++++++++++------- ...rtcengine_joinchannelwithuseraccount2.dita | 30 +++++++----- ...tcengine_joinchannelwithuseraccountex.dita | 33 ++++++------- .../API/api_irtcengineex_joinchannelex.dita | 40 ++++++++++----- ...gineeventhandler_onjoinchannelsuccess.dita | 12 ++++- ...neeventhandler_onrejoinchannelsuccess.dita | 9 +++- ...k_irtcengineeventhandler_onuserjoined.dita | 22 ++++++--- 8 files changed, 134 insertions(+), 79 deletions(-) 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 70769ca80f6..f8c07802c33 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita @@ -43,14 +43,16 @@ required int uid});

    -
    - Details -

    -

    -

    -

    • Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    -
    +
    +

    By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +
    +
    +
    +
    +
    + +
    Parameters 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 f505eeac932..0c184e75675 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -46,27 +46,40 @@ required ChannelMediaOptions options});

    -
    - Details -

    This method enables users to join a channel. Users in the same channel can talk to each other, and multiple users in the same channel can start a group chat. Users with different App IDs cannot call each other.

    -

    A successful call of this method triggers the following callbacks:

      -
    • The local client: The and callbacks.
    • -
    • The remote client: , if the user joining the channel is in the Communication profile or is a host in the Live-broadcasting profile.
    • -

    -

    When the connection between the client and Agora's server is interrupted due to poor network conditions, the SDK tries reconnecting to the server. When the local client successfully rejoins the channel, the SDK triggers the callback on the local client.

    -

    Compared to , this method adds the options parameter to configure whether to automatically subscribe to all remote audio and video streams in the channel when the user joins the channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    - -
      -
    • This method allows users to join only one channel at a time.
    • -
    • Ensure that the app ID you use to generate the token is the same app ID that you pass in the method; otherwise, you may fail to join the channel by token.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    • -
    -
    +
    +

    相比 ,该方法增加了 options 参数,用于设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    +

    该方法可以在加入频道时设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    +
    +
    + Call timing +

    Call this method after .

    +
    +
    + Restrictions +
      +
    • 该方法仅支持用户一次加入一个频道。
    • +
    • Users with different App IDs cannot call each other.
    • +
    • Ensure that the app ID you use to generate the token is the same app ID that you pass in the method; otherwise, you may fail to join the channel by token.
    • +
    +
    + +
    Parameters token - The token generated on your server for authentication. See .If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel. See . + The token generated on your server for authentication. See . +
      +
    • (推荐)如果你的项目开启了安全模式,即选择 APP ID + Token 为鉴权机制,则该参数为必填。
    • +
    • 如果你的项目仅开启调试模式,即选择 APP ID 为鉴权机制,则无需填入 Token 即可加入频道。 成功加入频道 24 小时后会自动退出该频道。
    • +
    • If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel. See .
    channelId @@ -103,7 +116,7 @@
  • -2: The parameter is invalid. For example, the token is invalid, the uid parameter is not set to an integer, or the value of a member in is invalid. You need to pass in a valid parameter and join the channel again.
  • -3: Fails to initialize the object. You need to reinitialize the object.
  • -7: The object has not been initialized. You need to initialize the object before calling this method.
  • -
  • -8: The internal state of the object is wrong. The typical cause is that you call this method to join the channel without calling to stop the test after calling to start a call loop test. You need to call before calling this method.
  • +
  • -8: The internal state of the object is wrong. The typical cause is that you call this method to join the channel without calling to stop the test after calling to start a call loop test. You need to call before calling this method.
  • -17: The request to join the channel is rejected. The typical cause is that the user is already in the channel. Agora recommends that you use the callback to see whether the user is in the channel. Do not call this method to join the channel unless you receive the (1) state.
  • -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
  • -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita index 058b9db7d9f..0d585d00fa6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelWithUserAccount2" /> - Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel. + 使用 User Account 和 Token 加入频道,并设置频道媒体选项。 @@ -47,16 +47,24 @@ required String userAccount, ChannelMediaOptions? options});

    -
    - Details -

    This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: The callback, if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
    • -

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    -

    Compared to , this method adds the options parameter to configure whether to automatically subscribe to all remote audio and video streams in the channel when the user joins the channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    -
    -
    +
    +

    调用该方法前,如果你未调用 注册一个 User Account,调用该方法加入频道时,SDK 会自动为你创建一个 User Account。 Call the method to register a user account, and then call the method to join a channel, which can shorten the time it takes to enter the channel.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    相比 ,该方法增加了 options 参数,用于在加入频道时设置媒体选项,如是否在频道内发布音视频流等。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    + To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type. +
    +
    +
    +
    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita index 600bf6f42f9..bce7ab40ad3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelWithUserAccountEx" /> - Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel. + 使用 User Account 和 Token 加入频道,并设置频道媒体选项。 @@ -48,17 +48,17 @@ required ChannelMediaOptions options});

    -
    - Details -

    -

    This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: The callback, if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
    • -

    -

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    - - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    +
    +

    调用该方法前,如果你未调用 注册一个 User Account,调用该方法加入频道时,SDK 会自动为你创建一个 User Account。 Call the method to register a user account, and then call the method to join a channel, which can shorten the time it takes to enter the channel.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. 如果想取消订阅,可以通过设置 optionsmediaOptions 参数或调用相应的 mute 方法实现。

    + To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type. +
    +
    +
    +
    +
    +
    Parameters @@ -90,12 +90,7 @@
    -
    - <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.
    • -
    +
    +
    \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita index 70bba7891b5..67cc8624798 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelEx"/> - Joins a channel with the connection ID. + Joins a channel. @@ -43,18 +43,32 @@ required ChannelMediaOptions options});

    -
    - Details -

    You can call this method multiple times to join more than one channel.

    - -
      -
    • If you are already in a channel, you cannot rejoin it with the same user ID.
    • -
    • If you want to join the same channel from different devices, ensure that the user IDs are different for all devices.
    • -
    • Ensure that the App ID you use to generate the token is the same as the App ID used when creating the instance.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    • -
    • In a multi-camera capture scenario, you need to call the method after calling this method to set the sourceType to , to ensure that the second camera captures normally.
    • -
    -
    +
    +

    You can call this method multiple times to join more than one channel. If you want to join the same channel from different devices, ensure that the user IDs are different for all devices.

    +
    +
    + Applicable scenarios +

    This method can be called in scenarios involving multiple channels.

    +
    +
    + Call timing +

    Call this method after .

    +

    In a multi-camera capture scenario, you need to call the method after calling this method to set the sourceType to , to ensure that the second camera captures normally.

    +
    +
    + Restrictions +

    If you are already in a channel, you cannot rejoin it with the same user ID.

    +

    Ensure that the app ID you use to generate the token is the same app ID that you pass in the method; otherwise, you may fail to join the channel by token.

    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index e492ca208df..febef79d641 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -35,7 +35,17 @@

    This callback notifies the application that a user joins a specified channel.

    -
    +
    + Trigger timing +

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    +

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    +

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    +
    +
    + Restrictions +

    None.

    +
    +
    <ph keyref="callback-section-title" /> diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita index 3c92edfcd84..5503c848ca4 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita @@ -30,10 +30,15 @@ onRejoinChannelSuccess;

    -
    +
    + Trigger timing

    When a user loses connection with the server because of network problems, the SDK automatically tries to reconnect and triggers this callback upon reconnection.

    -
    +
    + Restrictions +

    None.

    +
    +
    <ph keyref="callback-section-title" /> diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita index 30cb1eadaaf..6525ecaee27 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita @@ -30,25 +30,33 @@ onUserJoined;

    -
    +
    • In a communication channel, this callback indicates that a remote user joins the channel. The SDK also triggers this callback to report the existing users in the channel when a user joins the channel.
    • In a live-broadcast channel, this callback indicates that a host joins the channel. The SDK also triggers this callback to report the existing hosts in the channel when a host joins the channel. Agora recommends limiting the number of hosts to 17.
    + +
    +
    + Trigger timing

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

      -
    • A remote user/host joins the channel.
    • -
    • A remote user switches the user role to the host after joining the channel.
    • -
    • A remote user/host rejoins the channel after a network interruption.
    • -

    +
  • A remote user/host joins the channel.
  • +
  • A remote user switches the user role to the host after joining the channel.
  • +
  • A remote user/host rejoins the channel after a network interruption.
  • +

    +
    +
    + Restrictions +

    None.

    -
    +
    <ph keyref="callback-section-title" /> - + connection The connection information. See . From fdefe64cbe042f6b44f764eb431139aea10c613f Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Thu, 15 Aug 2024 15:54:20 +0800 Subject: [PATCH 3/8] New translations --- ...laudioengine_updateplayerpositioninfo.dita | 13 +- .../api_imediaplayer_adjustplayoutvolume.dita | 11 +- ...mediaplayer_adjustpublishsignalvolume.dita | 13 +- .../API/api_imediaplayer_getstreaminfo.dita | 14 +- .../RTC-NG/API/api_imediaplayer_mute.dita | 11 +- .../RTC-NG/API/api_imediaplayer_open.dita | 18 +- .../RTC-NG/API/api_imediaplayer_pause.dita | 10 + .../RTC-NG/API/api_imediaplayer_play.dita | 13 +- ...iaplayer_registerplayersourceobserver.dita | 11 +- .../RTC-NG/API/api_imediaplayer_seek.dita | 19 +- .../API/api_imediaplayer_setplayeroption.dita | 25 +- .../api_imediaplayer_setplayeroption2.dita | 16 +- .../RTC-NG/API/api_imediaplayer_setview.dita | 14 +- .../RTC-NG/API/api_imediaplayer_stop.dita | 8 + ...engine_adjustaudiomixingplayoutvolume.dita | 15 +- ...engine_adjustaudiomixingpublishvolume.dita | 15 +- ...pi_irtcengine_adjustaudiomixingvolume.dita | 20 +- ...api_irtcengine_enablevideoimagesource.dita | 14 +- .../api_irtcengine_enablevoiceaituner.dita | 9 +- ...api_irtcengine_getaudiomixingduration.dita | 17 +- ...rtcengine_getaudiomixingplayoutvolume.dita | 17 +- .../api_irtcengine_isspeakerphoneenabled.dita | 17 +- .../API/api_irtcengine_joinchannel2.dita | 2 +- ...irtcengine_joinchannelwithuseraccount.dita | 32 +- .../api_irtcengine_setaudioeffectpreset.dita | 17 +- ...irtcengine_setaudiomixingdualmonomode.dita | 29 +- ...api_irtcengine_setaudiomixingposition.dita | 17 +- ...engine_setcameracapturerconfiguration.dita | 12 +- ...ne_setdefaultaudioroutetospeakerphone.dita | 28 +- .../api_irtcengine_setenablespeakerphone.dita | 34 +- .../api_irtcengine_setlocalrendermode2.dita | 11 +- ...pi_irtcengine_setlocalvideomirrormode.dita | 1 + ..._irtcengine_setlocalvoiceequalization.dita | 14 +- .../api_irtcengine_setlocalvoiceformant.dita | 20 +- .../api_irtcengine_setlocalvoicepitch.dita | 14 +- .../RTC-NG/API/api_irtcengine_setlogfile.dita | 23 +- .../API/api_irtcengine_setloglevel.dita | 9 +- .../api_irtcengine_setremoterendermode2.dita | 1 + ...i_irtcengine_setremotevideostreamtype.dita | 7 +- ...rtcengine_setrouteincommunicationmode.dita | 22 +- .../API/api_irtcengine_setupremotevideo.dita | 2 +- .../API/api_irtcengine_setvideoscenario.dita | 3 +- ...i_irtcengine_setvoicebeautifierpreset.dita | 11 +- ...i_irtcengine_setvoiceconversionpreset.dita | 19 +- .../api_irtcengine_startscreencapture.dita | 2 +- .../API/api_irtcengine_takesnapshot.dita | 37 +- ...pi_irtcengineex_setremoterendermodeex.dita | 1 + .../API/api_irtcengineex_takesnapshotex.dita | 22 +- ...thandler_onaudiosubscribestatechanged.dita | 20 +- ...nthandler_onextensionerrorwithcontext.dita | 27 +- ...nthandler_onextensioneventwithcontext.dita | 26 +- ...handler_onextensionstartedwithcontext.dita | 17 +- ...handler_onextensionstoppedwithcontext.dita | 16 +- ...gineeventhandler_onjoinchannelsuccess.dita | 5 +- ...eventhandler_onlocalvideostatechanged.dita | 5 + ...thandler_onvideosubscribestatechanged.dita | 20 +- .../dita/RTC-NG/API/class_advanceoptions.dita | 51 +- .../RTC-NG/API/class_channelmediaoptions.dita | 723 +++++++++++++++++- .../RTC-NG/API/class_extensioncontext.dita | 81 +- .../RTC-NG/API/class_externalvideoframe.dita | 83 +- en-US/dita/RTC-NG/API/class_metadata.dita | 55 +- .../API/class_screenvideoparameters.dita | 6 +- en-US/dita/RTC-NG/API/class_videocanvas.dita | 1 + .../API/class_videoencoderconfiguration.dita | 1 + en-US/dita/RTC-NG/API/class_videoframe.dita | 79 +- .../API/enum_audioprocessingchannels.dita | 2 +- .../API/enum_localvideostreamreason.dita | 4 +- .../enum_videoapplicationscenariotype.dita | 7 + .../RTC-NG/API/enum_videoviewsetupmode.dita | 2 +- en-US/dita/RTC-NG/API/rtc_api_data_type.dita | 539 ++++++------- en-US/dita/RTC-NG/API/rtc_api_overview.dita | 8 +- en-US/dita/RTC-NG/API/rtc_api_sunset.dita | 25 +- 72 files changed, 1758 insertions(+), 755 deletions(-) diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita index 5fdaa530b6f..6edf5bc8809 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita @@ -32,11 +32,18 @@ {required int playerId, required RemoteVoicePositionInfo positionInfo});

    -
    - Details +

    After a successful update, the local user can hear the change in the spatial position of the media player.

    -
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita index 5603a1bfb13..f1c93eea3a8 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita @@ -25,7 +25,16 @@ Future<void> adjustPlayoutVolume(int volume);

    -
    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita index 206df9d6812..5a186d2b161 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita @@ -25,11 +25,18 @@ Future<void> adjustPublishSignalVolume(int volume);

    -
    - Details +

    After connected to the Agora server, you can call this method to adjust the volume of the media file heard by the remote user.

    -
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita index 7de0cb4d344..057f61bd2c2 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita @@ -25,10 +25,16 @@ Future<PlayerStreamInfo> getStreamInfo(int index);

    -
    - Details - Call this method after calling .
    -
    +
    +
    + Call timing +

    Call this method after calling .

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita index 799c02c4e11..300e99453c5 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita @@ -25,7 +25,16 @@ Future<void> mute(bool muted);

    -
    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters 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 d9e88ce38a3..4e8a5c9a6b0 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita @@ -27,17 +27,27 @@ Future<void> open({required String url, required int startPos});

    -
    - 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.

    -

    If you need to play a media file, make sure you receive the callback reporting before calling the method to play the file.

    -
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita index c9ad60f1352..77f451f49f3 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita @@ -27,6 +27,16 @@ Future<void> pause();

    +
    + +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    <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_imediaplayer_play.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita index 2bb0e3a6325..14e0ae4586f 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita @@ -25,10 +25,15 @@ Future<void> play();

    -
    - Details -

    After calling or , you can call this method to play the media file.

    - 调用 打开媒体文件后,你需要在收到 回调报告状态为 后再调用 来播放。 +
    +
    + Call timing +
    • 在调用 打开媒体文件、且收到 回调报告状态为 后,调用该方法。
    • +
    • 在调用 后调用该方法。
    +
    +
    + Restrictions +

    None.

    <ph keyref="return-section-title"/> diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita index 26e2443c36f..bb24ef9a2d4 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita @@ -30,7 +30,16 @@ void registerPlayerSourceObserver(MediaPlayerSourceObserver observer);

    -
    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita index 4c860adaa56..417f04547d1 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -27,15 +27,24 @@ Future<void> seek(int newPos);

    -
    - Details -

    After successfully calling this method, you will receive the callback, reporting the result of the seek operation to the new playback position.

    +
    • 如果你在播放已经完成后(收到 回调报告播放状态为 )再调用 ,方法调用成功后,SDK 会从你指定的位置开始自动播放,此时你会收到 回调报告播放状态为
    • 如果你在播放暂停的情况下调用 ,调用成功后 SDK 会定位到你指定位置,如需播放,请调用
    • -
    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    + -
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita index 4a34c4b78a7..4f75e9bd16d 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita @@ -2,7 +2,7 @@ <ph keyref="setPlayerOption"/> - Set media player options for providing technical previews or special customization features. + 设置媒体播放器选项。 @@ -23,13 +23,24 @@ Future<void> setPlayerOptionInInt({required String key, required int value});

    -
    - Details -

    The media player supports setting options through key and value. In general, you don't need to know about the option settings. You can use the default option settings of the media player.

    +
    +

    The media player supports setting options through key and value.

    The difference between this method and is that the value parameter of this method is of type Int, while the value of is of type String. These two methods cannot be used together.

    - Ensure that you call this method before or .
    -
    - Parameters +
    +
    + Applicable scenarios +

    需要提供技术预览或特别定制功能的场景。 In general, you don't need to know about the option settings. You can use the default option settings of the media player.

    +
    +
    + Call timing +

    Call this method after the or method.

    +
    +
    + Restrictions +

    None.

    +
    +
    + Parameters key diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita index 5cc4c180315..db89acad3a0 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita @@ -2,7 +2,7 @@ <ph keyref="setPlayerOption2"/> - Set media player options for providing technical previews or special customization features. + 设置媒体播放器选项。 @@ -24,13 +24,17 @@ {required String key, required String value});

    -
    - Details +

    The difference between this method and is that the value parameter of this method is of type String, while the value of is of type String. These two methods cannot be used together.

    -
    -
    -
    +
    +
    +
    +
    + Restrictions +

    None.

    +
    +
    <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_imediaplayer_setview.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita index 45f7b8bd28e..9c7ebcdf393 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita @@ -30,9 +30,17 @@
    In Flutter, you don't need to call this method. Use instead to render local and remote views.
    -
    - Parameters - +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    + <ph props="native flutter unreal bp electron rn">Parameters</ph> + videoView view diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita index ec2dca3e62f..4e2f41f76a7 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita @@ -29,6 +29,14 @@

    调用该方法停止播放后,如需重新播放,需要调用 再次打开媒体资源。

    +
    + Call timing +

    Call this method after .

    +
    +
    + Restrictions +

    None.

    +
    <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_adjustaudiomixingplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita index 89a27884908..ff564306256 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita @@ -25,10 +25,17 @@ Future<void> adjustAudioMixingPlayoutVolume(int volume);

    -
    - Details - Call this method after calling and receiving the () callback.
    -
    +
    +
    +
    + Call timing +

    You need to call this method after calling and receiving the () callback.

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita index c0404584144..3454fe9381b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita @@ -25,13 +25,18 @@ Future<void> adjustAudioMixingPublishVolume(int volume);

    -
    - Details +

    This method adjusts the volume of audio mixing for publishing (sending to other users).

    - +
    +
    + Call timing

    Call this method after calling and receiving the () callback.

    -
    -
    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita index f119b6b2c12..7ec9121bfbb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita @@ -25,15 +25,19 @@ Future<void> adjustAudioMixingVolume(int volume);

    -
    - Details +

    This method adjusts the audio mixing volume on both the local client and remote clients.

    - -
      -
    • Call this method after .
    • -
    • This method does not affect the playback volume you set through the method.
    • -
    -
    + 调调用该方法不会影响 方法中设置的音效文件播放音量。 +
    +
    + Call timing +

    Call this method after .

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita index 8c764d5b484..98c7b5275de 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita @@ -33,13 +33,19 @@ {required bool enable, required ImageTrackOptions options});

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

    When publishing video streams, you can call this method to replace the current video feeds with custom images.

    Once you enable this function, you can select images to replace the video feeds through the parameter. If you disable this function, the remote users see the video feeds that you publish.

    -
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita index 646fd7e580e..f65990908ac 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita @@ -17,10 +17,11 @@ - (int)enableVoiceAITuner:(bool)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:)); virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0; - - - -

    + abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number; + public abstract int EnableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type); + abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number; + Future<void> enableVoiceAITuner( + {required bool enabled, required VoiceAiTunerType type});

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita index e7b5c05cc6d..582b2fa51f1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita @@ -25,13 +25,18 @@ Future<int> getAudioMixingDuration();

    -
    - Details +

    Retrieves the total duration (ms) of the audio.

    - -

    You need to call this method after calling and receiving the () callback.

    -
    -
    +
    +
    + Call timing +

    该方法需要在 之后,并收到 () 回调后调用。

    +
    +
    + Restrictions +

    None.

    +
    +
    Returns
    • ≥ 0: The audio mixing duration, if this method call succeeds.
    • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index fae185d0a22..28a2cbaf462 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -25,13 +25,18 @@ Future<int> getAudioMixingPlayoutVolume();

    -
    - Details +

    This method helps troubleshoot audio volume‑related issues.

    - -

    You need to call this method after calling and receiving the () callback.

    -
    -
    +
    +
    + Call timing +

    该方法需要在 之后,并收到 () 回调后调用。

    +
    +
    + Restrictions +

    None.

    +
    +
    Returns
    • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
    • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita b/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita index a35c181c803..751254ed65d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita @@ -25,12 +25,17 @@ Future<bool> isSpeakerphoneEnabled();

    -
    - -
      -
    • This method is for Android and iOS only.
    • -
    • You can call this method either before or after joining a channel.
    • -
    +
    + This method is for Android and iOS only. +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    Returns
      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 0c184e75675..ecf1b6671f0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -48,7 +48,7 @@

    相比 ,该方法增加了 options 参数,用于设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    -

    该方法可以在加入频道时设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    +

    该方法可以在加入频道时设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    Call timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita index 404e286af74..eb90e7adebe 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita @@ -43,16 +43,17 @@ ChannelMediaOptions? options});

    -
    - Details -

    This method allows a user to join the channel with the user account and a token. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: and callbacks, if the user joining the channel is in the communication profile or is a host in the live streaming profile.
    • -

    +
    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    -
    • To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    -
    + +
    +
    +
    +
    + +
    Parameters @@ -76,17 +77,6 @@
    -
    - <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.
        -
      • -2: The parameter is invalid.
      • -
      • -3: The initialization of the SDK fails. You can try to initialize the SDK again.
      • -
      • -5: The request is rejected.
      • -
      • -17: The request to join the channel is rejected. Since the SDK only supports users to join one channel at a time; this error code will be returned when the user who has joined the channel calls the join channel method in the class again with a valid channel name.
      • -
    • -
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita index ac3bad3ff33..66bfbd9884c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita @@ -25,14 +25,18 @@ Future<void> setAudioEffectPreset(AudioEffectPreset preset);

    -
    - Details +

    Call this method to set an SDK preset audio effect for the local user who sends an audio stream. This audio effect does not change the gender characteristics of the original voice. After setting an audio effect, all users in the channel can hear the effect.

    You can set different audio effects for different scenarios. See .

    +
    +
    + Call timing +

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

    - +

    +
    + Restrictions
      -
    • You can call this method either before or after joining a channel.
    • If you call and set enumerators except for or , do not call ; otherwise, is overridden.
    • After calling , Agora does not recommend you to call the following methods, otherwise the effect set by will be overwritten:
        @@ -44,8 +48,9 @@
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    -
    + +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita index 8f7fd02bf4d..72d2586d237 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita @@ -25,16 +25,25 @@ Future<void> setAudioMixingDualMonoMode(AudioMixingDualMonoMode mode);

    -
    - Details -

    In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.

    - -
      -
    • You need to call this method after calling and receiving the () callback.
    • -
    • This method only applies to stereo audio files.
    • -
    -
    - Parameters +
    +

    In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode.

    +
    +
    + Applicable scenarios +

    For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. 你可以根据实际需求进行设置:

      +
    • 如果你只需听伴奏,则用该方法设置音频文件的声道模式为左声道模式。
    • +
    • 如果你需要同时听伴奏和原唱,则调用该方法设置声道模式为混合模式。

    +
    +
    + Call timing +

    该方法需要在 之后,并收到 () 回调后调用。

    +
    +
    + Restrictions +

    This method only applies to stereo audio files.

    +
    +
    + Parameters mode diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita index 49ff0111fae..2cc916c1c27 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita @@ -25,12 +25,19 @@ Future<void> setAudioMixingPosition(int pos);

    -
    - Details +

    Call this method to set the playback position of the music file to a different starting position (the default plays from the beginning).

    - You need to call this method after calling and receiving the () callback.
    -
    - Parameters +
    +
    + Call timing +

    该方法需要在 之后,并收到 () 回调后调用。

    +
    +
    + Restrictions +

    None.

    +
    +
    + Parameters pos diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita index 75e7010fe0c..8174b6261ba 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita @@ -30,18 +30,16 @@ CameraCapturerConfiguration config);

    -
    -

    To adjust the camera focal length configuration, It is recommended to call first to check the device's focal length capabilities, and then configure based on the query results.

    -

    Due to limitations on some Android devices, even if you set the focal length type according to the results returned in , the settings may not take effect.

    - This method is for Android and iOS only. -
    +
    Call timing

    Call this method before enabling local camera capture, such as before calling and .

    - Restrictions -

    None.

    + <ph>Restrictions</ph> +

    To adjust the camera focal length configuration, It is recommended to call first to check the device's focal length capabilities, and then configure based on the query results.

    +

    Due to limitations on some Android devices, even if you set the focal length type according to the results returned in , the settings may not take effect.

    +

    None.

    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 416552cffba..ccb65460c7f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -30,14 +30,8 @@ Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker);

    -
    - Details - -
      -
    • This method is for Android and iOS only.
    • -
    • Call this method before joining a channel. If you need to change the audio route after joining a channel, call .
    • -
    -
    +
    + This method is for Android and iOS only.

    Most mobile phones have two audio routes: an earpiece at the top, and a speakerphone at the bottom. The earpiece plays at a lower volume, and the speakerphone at a higher volume. When setting the default audio route, you determine whether audio playback comes through the earpiece or speakerphone when no external audio device is connected.

    In different scenarios, the default audio routing of the system is also different. See the following:

    • Voice call: Earpiece.
    • @@ -45,11 +39,23 @@
    • Video call: Speakerphone.
    • Video broadcast: Speakerphone.

    -

    You can call this method to change the default audio route. After a successful method call, the SDK triggers the callback.

    +

    You can call this method to change the default audio route.

    -

    The system audio route changes when an external audio device, such as a headphone or a Bluetooth audio device, is connected. See Audio Route for detailed change principles.

    +

    在调用该方法设置默认音频路由后,系统实际音频路由会随着外接音频设备(有线耳机或蓝牙耳机)的连接发生改变。 See .

    -
    +
    + Call timing +

    Call this method before joining a channel. If you need to change the audio route after joining a channel, call .

    +
    +
    + Restrictions +

    None.

    +
    + +
    Parameters 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 3eb6a801d0d..826c31d2f22 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -23,18 +23,30 @@ public abstract int SetEnableSpeakerphone(bool speakerOn); abstract setEnableSpeakerphone(speakerOn: boolean): number; Future<void> setEnableSpeakerphone(bool speakerOn);

    -
    - Details -

    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.

    - +
    +

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

    + This method is for Android and iOS only. +
    +
    + Applicable scenarios +

    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.

    +
    +
    + Call timing +

    Call this method after joining a channel.

    +
    +
    + Restrictions
      -
    • 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.
    • -
    -
    +
  • 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.
  • +
  • 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.
  • + +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita index 1dd7d04c89b..2644e924d40 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita @@ -39,8 +39,9 @@

    After initializing the local video view, you can call this method to update its rendering and mirror modes. It affects only the video view that the local user sees and does not impact the publishing of the local video.

    - <ph props="native unreal bp electron rn flutter">Call timing</ph> -
    • Ensure that you have called the method to initialize the local video view before calling this method.
    • + Call timing +
        +
      • Ensure that you have called the method to initialize the local video view before calling this method.
      • During a call, you can call this method as many times as necessary to update the display mode of the local video view.
    @@ -73,13 +74,15 @@ mirrorMode mirror -

    The mirror mode of the local video view. See .This parameter is only effective when rendering custom videos. If you want to mirror the video view, set the scaleX of the GameObject attached to the video view as -1 or +1.

    +

    The mirror mode of the local video view. See .This parameter does not take effect. 如需实现镜像显示效果,请在 Unreal Engine 中进行镜像设置。 + This parameter is only effective when rendering custom videos. If you want to mirror the video view, set the scaleX of the GameObject attached to the video view as -1 or +1.

    For the local user:

    • (0): The SDK determines whether to enable the mirror mode. If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
    • (1): Enable the mirroring mode of the local view.
    • (2): Disable the mirroring mode of the local view.

    - If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
    + If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default. +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita index b8942213597..0033f438bb9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita @@ -48,6 +48,7 @@

    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita index d4aae8c973d..2f246978623 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita @@ -35,10 +35,16 @@ required int bandGain});

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

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita index 4e7ebee500f..f3e29e1f026 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita @@ -25,18 +25,28 @@ abstract setLocalVoiceFormant(formantRatio: number): number; Future<void> setLocalVoiceFormant(double formantRatio);

    -
    - Details +
    Since
    v4.2.0
    -

    Formant ratio affects the timbre of voice. The smaller the value, the deeper the sound will be, and the larger, the sharper.

    -

    You can call this method to set the formant ratio of local audio to change the timbre of human voice. After you set the formant ratio, all users in the channel can hear the changed voice. If you want to change the timbre and pitch of voice at the same time, Agora recommends using this method together with .You can call this method either before or after joining a channel.

    +

    Formant ratio affects the timbre of voice. The smaller the value, the deeper the sound will be, and the larger, the sharper. After you set the formant ratio, all users in the channel can hear the changed voice. If you want to change the timbre and pitch of voice at the same time, Agora recommends using this method together with .

    -
    +
    + Applicable scenarios +

    You can call this method to set the formant ratio of local audio to change the timbre of human voice.

    +
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita index 93760711e45..2c227222d0a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita @@ -25,10 +25,16 @@ Future<void> setLocalVoicePitch(double pitch);

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

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

    +
    +
    + Restrictions +

    None.

    +
    +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita index c6f042b361c..60bd25458d7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita @@ -25,20 +25,25 @@ Future<void> setLogFile(String filePath);

    -
    - Details +
    Deprecated:
    -
    This method is deprecated. Use the logConfigmLogConfig parameter in to set the log file path.
    +
    该方法已废弃,请在调用 时通过 contextconfig 参数设置日志文件路径。
    -

    Specifies an SDK output log file. The log file records all log data for the SDK’s operation. Ensure that the directory for the log file exists and is writable.

    - -

    Ensure that you call immediately after calling the method, or the output log may not be complete.

    -
    -
    - Parameters +

    Specifies an SDK output log file. The log file records all log data for the SDK’s operation.

    +
    +
    + Call timing +

    该方法需要在 后立即调用,否则输出日志可能不完整。

    +
    +
    + Restrictions +

    Ensure that the directory for the log file exists and is writable.

    +
    +
    + Parameters filePath diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita index 50641208777..1d8d103758c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita @@ -26,22 +26,21 @@ Future<void> setLogLevel(LogLevel level);

    -
    - Details +
    Deprecated:
    -
    This method is deprecated. Use instead to set the log output level.
    +
    该方法已废弃,请在调用 时通过 contextconfig 参数设置日志输出级别。

    Choose a level to see the logs preceding that level.

    -
    +
    Parameters level - The log level: . + 日志级别。 See .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita index 947baa2f84c..04cb200a12c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita @@ -72,6 +72,7 @@

    The mirror mode of the remote user view.

    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita index dc580adcf78..c383931f6c8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita @@ -41,12 +41,13 @@
    This method is deprecated as of v4.4.0. Use instead.
    -

    The SDK defaults to enabling low-quality video stream adaptive mode () on the sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling this method, and upon receiving the request, the sending end automatically starts sending the low-quality video stream.

    +

    Depending on the default behavior of the sender and the specific settings when calling , the scenarios for the receiver calling this method are as follows:

      +
    • The SDK defaults to enabling low-quality video stream adaptive mode () on the sender side, meaning that the sender only transmits the high-quality video stream. Only the receiver with the host identity can call this method to initiate a small stream request. Once the sender receives the request, it will start automatically sending the small stream. At this point, all users in the channel can call this method to switch to small stream subscription mode.
    • +
    • 当发送端调用 并将 mode 设置为 (始终不发送小流),则调用该方法不生效。
    • +
    • 当发送端调用 并将 mode 设置为 (始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。

    The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream.

    • You can call this method either before or after joining a channel.
    • -
    • If the publisher has already called and set mode to (never send low-quality video stream), calling this method will not take effect, you should call again on the sending end and adjust the settings.
    • -
    • Calling this method on the receiving end of the audience role will not take effect.
    • If you call both this method and , the setting of this method takes effect.
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita index b0333878f70..13847d7bad2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita @@ -22,19 +22,29 @@ abstract setRouteInCommunicationMode(route: number): number; Future<void> setRouteInCommunicationMode(int route);

    -
    - Details +
    Since
    v4.2.2
    -

    This method is used to switch the audio route from Bluetooth headphones to earpiece, wired headphones or speakers in communication audio mode (). After the method is called successfully, the SDK will trigger the callback to report the modified route.

    - Using this method and the method at the same time may cause conflicts. Agora recommends that you use the method alone. -
    • This method is for Android only.
    • Using this method and the method at the same time may cause conflicts. Agora recommends that you use the method alone.
    +

    This method is used to switch the audio route from Bluetooth headphones to earpiece, wired headphones or speakers in communication audio mode ().

    + This method is for Android only.
    -
    +
    + Call timing +

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

    +
    +
    + Restrictions +

    Using this method and the method at the same time may cause conflicts. Agora recommends that you use the method alone.

    +
    + +
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita index 13882574a6e..2240ec8aac6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -37,7 +37,7 @@
  • In Flutter, you don't need to call this method. Use instead to render local and remote views.
  • If you need to implement native window rendering, use this method; if you only need to render video images in your Unity project, use the methods in the class instead.
  • To update the rendering or mirror mode of the remote video view during a call, use the method.
  • -
  • If you use the Agora recording function, the recording client joins the channel as a placeholder client, triggering the callback. Do not bind the placeholder client to the app view because the placeholder client does not send any video streams. If your app does not recognize the placeholder client, bind the remote user to the view when the SDK triggers the callback.
  • +
  • 当使用录制服务时,由于它不会发送视频流,App 无需为它绑定视图。 If your app does not recognize the placeholder client, bind the remote user to the view when the SDK triggers the callback.
  • If you want to stop rendering the view, set view to and then call this method again to stop rendering and clear the rendering cache.
  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita index 50eed955787..77a04b49e0c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita @@ -40,7 +40,7 @@ scenarioType - The type of video application scenario. See .

    If set to (1), the SDK automatically enables the following strategies:

      + The type of video application scenario. See .

      (1) 适用于会议场景。 SDK 会针对该场景启用以下策略:

      • In meeting scenarios where low-quality video streams are required to have a high bitrate, the SDK automatically enables multiple technologies used to deal with network congestions, to enhance the performance of the low-quality streams and to ensure the smooth reception by subscribers.
      • The SDK monitors the number of subscribers to the high-quality video stream in real time and dynamically adjusts its configuration based on the number of subscribers.
        • If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
        • @@ -72,6 +72,7 @@

        +

        (2) 适用于视频 1v1 通话场景。 针对该场景低延迟、高画质的体验要求,SDK 进行了策略调优,提升了画质、首帧出图、中低端机延迟及弱网流畅度等性能表现。

        diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita index 60de4578621..48b6958973e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita @@ -31,16 +31,15 @@
        Call timing

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

        +

        To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:

          +
        • Call to set the audio scenario to high-quality audio scenario, namely (3).
        • +
        • Call to set the profile parameter to (4) or (5).
        • +
        +

        Restrictions
          -
        • To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:

            -
          • Call to set the audio scenario to high-quality audio scenario, namely (3).
          • -
          • Call to set the profile parameter to (4) or (5).
          • -
          -

          -
        • Do not set the profile parameter in to (1) or (6), or the method does not take effect.
        • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
        • After calling , Agora does not recommend calling the following methods, otherwise the effect set by will be overwritten:
            diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita index 546fa19be07..275f108c925 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita @@ -25,14 +25,18 @@ Future<void> setVoiceConversionPreset(VoiceConversionPreset preset);

        -
        - Details -

        Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting an audio effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios.

        +
        +

        Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting an audio effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios.

        The applicable scenarios for each voice-changing effect can be referred to .

        +
        +
        + Call timing +

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

        - +

        +
        + Restrictions
          -
        • You can call this method either before or after joining a channel.
        • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
        • After calling , Agora does not recommend you to call the following methods, otherwise the effect set by will be overwritten:
            @@ -46,8 +50,9 @@
        • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
        • -
        -
        +
      +
    +
    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 529e9249c9b..a9be65824d0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita @@ -33,7 +33,7 @@
  • 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 .
  • +
  • When you pass in a value, Agora bills you at that value.
  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita b/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita index 94b77508099..e31b7ad9d61 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita @@ -25,18 +25,27 @@ Future<void> takeSnapshot({required int uid, required String filePath});

    -
    - Details -

    This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path.

    -

    The method is asynchronous, and the SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.

    -

    The SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.

    - -
      -
    • Call this method after joining a channel.
    • -
    • When used for local video snapshots, this method takes a snapshot for the video streams specified in .
    • -
    • If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
    • -
    -
    +
    +

    This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path.

    +
    +
    + Call timing +

    Call this method after joining a channel.

    +
    +
    + Restrictions +
      +
    • The method is asynchronous, and the SDK has not taken the snapshot when the method call returns.
    • +
    • The SDK has not taken the snapshot when the method call returns.
    • +
    • When used for local video snapshots, this method takes a snapshot for the video streams specified in .
    • +
    • If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
    • +
    +
    + +
    Parameters @@ -51,7 +60,9 @@
  • iOS: /App Sandbox/Library/Caches/example.jpg
  • macOS: ~/Library/Logs/example.jpg
  • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
  • - Ensure that the path you specify exists and is writable.

    + +

    + Ensure that the path you specify exists and is writable.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita index 98c6d837749..01da78f6d17 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita @@ -72,6 +72,7 @@ mirrorMode

    The mirror mode of the remote user view. See .

    +

    The mirror mode of the remote user view:

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita index 3965e0b9729..4f07bd7daef 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita @@ -2,7 +2,7 @@ <ph keyref="takeSnapshotEx"/> - Takes a snapshot of a video stream. + 使用连接 ID 获取视频截图。 @@ -36,18 +36,14 @@ required String filePath});

    -
    - Details -

    -

    -

    The SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.

    - -
      -
    • Call this method after the method.
    • -
    • When used for local video snapshots, this method takes a snapshot for the video streams specified in .
    • -
    • If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
    • -
    -
    +
    +
    + Call timing +

    Call this method after .

    +
    +
    +
    @@ -36,14 +36,6 @@ - - - - - - - -
    \ No newline at end of file diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index febef79d641..5c925002992 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -37,7 +37,8 @@
    Trigger timing -

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    +

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    +

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    @@ -70,4 +71,4 @@
    - \ No newline at end of file + 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 ade9fb92f52..b66821a446b 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -96,6 +96,11 @@
  • (4): The local video capture failed. Prompt the user to check whether the video capture device is working properly, whether the camera is used by another app, or try to rejoin the channel.
  • (5): The local video encoding fails.
  • (8): Fails to find a local video capture device. Remind the user to check whether the camera is connected to the device properly or the camera is working properly, and then to rejoin the channel.
  • +
  • (14):视频采集中断。 Possible reasons include the following:
      +
    • The camera is being used by another app. Prompt the user to check if the camera is being used by another app.
    • +
    • The current app has been switched to the background. You can use foreground services to notify the operating system and ensure that the app can still collect video when it switches to the background. See .
    • +
  • +
  • (15):视频采集设备出错。 Prompt the user to close and restart the camera to restore functionality. If this operation does not solve the problem, check if the camera has a hardware failure.
  • diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita index a603b7e7bb4..7e41c32d997 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita @@ -82,14 +82,14 @@
  • (0): The initial subscribing state after joining the channel.
  • (1): Fails to subscribe to the remote stream. Possible reasons:
    • The remote user:
        -
      • Calls () or () to stop sending local media stream.
      • -
      • Calls or to disable the local audio or video module.
      • -
      • Calls () or () to disable the local audio or video capture.
      • +
      • 调用 () 停止发送本地视频流。
      • +
      • 调用 关闭本地视频模块。
      • +
      • You can call () to disable the local video capture.
      • The role of the remote user is audience.
    • The local user calls the following methods to stop receiving the remote media stream:
        -
      • Call () or () to stop receiving the remote audio stream.
      • -
      • Call () or () to stop receiving the remote video stream.
      • +
      • 调用 时设置 autoSubscribeVideo,不自动订阅任何视频流。
      • +
      • 调用 时设置 mutedmute,停止接收远端视频流。
  • (2): Subscribing.
  • @@ -103,14 +103,14 @@
  • (0): The initial subscribing state after joining the channel.
  • (1): Fails to subscribe to the remote stream. Possible reasons:
    • The remote user:
        -
      • Calls () or () to stop sending local media stream.
      • -
      • Calls or to disable the local audio or video module.
      • -
      • Calls () or () to disable the local audio or video capture.
      • +
      • 调用 () 停止发送本地视频流。
      • +
      • 调用 关闭本地视频模块。
      • +
      • You can call () to disable the local video capture.
      • The role of the remote user is audience.
    • The local user calls the following methods to stop receiving the remote media stream:
        -
      • Call () or () to stop receiving the remote audio stream.
      • -
      • Call () or () to stop receiving the remote video stream.
      • +
      • 调用 时设置 autoSubscribeVideo,不自动订阅任何视频流。
      • +
      • 调用 时设置 mutedmute,停止接收远端视频流。
  • (2): Subscribing.
  • diff --git a/en-US/dita/RTC-NG/API/class_advanceoptions.dita b/en-US/dita/RTC-NG/API/class_advanceoptions.dita index 3cf02ad43c8..6b2f460e793 100644 --- a/en-US/dita/RTC-NG/API/class_advanceoptions.dita +++ b/en-US/dita/RTC-NG/API/class_advanceoptions.dita @@ -68,41 +68,52 @@ struct FAdvanceOptions { export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; + encodeAlpha?: boolean; } public class AdvanceOptions - { - public ENCODING_PREFERENCE encodingPreference { set; get; } - public COMPRESSION_PREFERENCE compressionPreference { set; get; } + { + public ENCODING_PREFERENCE encodingPreference; + public COMPRESSION_PREFERENCE compressionPreference; + public bool encodeAlpha; - public AdvanceOptions() - { - encodingPreference = ENCODING_PREFERENCE.PREFER_AUTO; - compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; - } + public AdvanceOptions() + { + this.encodingPreference = ENCODING_PREFERENCE.PREFER_AUTO; + this.compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; + this.encodeAlpha = false; + } - public AdvanceOptions(ENCODING_PREFERENCE encoding_preference, COMPRESSION_PREFERENCE compression_preference) - { - encodingPreference = encoding_preference; - compressionPreference = compression_preference; - } - } + public AdvanceOptions(ENCODING_PREFERENCE encoding_preference, COMPRESSION_PREFERENCE compression_preference, bool encode_alpha) + { + this.encodingPreference = encoding_preference; + this.compressionPreference = compression_preference; + this.encodeAlpha = encode_alpha; + } + + } export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; + encodeAlpha?: boolean; } - class AdvanceOptions { - const AdvanceOptions({this.encodingPreference, this.compressionPreference}); + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class AdvanceOptions { + const AdvanceOptions( + {this.encodingPreference, this.compressionPreference, this.encodeAlpha}); - @JsonKey(name: 'encodingPreference') + @JsonKey(name: 'encodingPreference') final EncodingPreference? encodingPreference; - @JsonKey(name: 'compressionPreference') + @JsonKey(name: 'compressionPreference') final CompressionPreference? compressionPreference; - factory AdvanceOptions.fromJson(Map<String, dynamic> json) => + @JsonKey(name: 'encodeAlpha') + final bool? encodeAlpha; + + factory AdvanceOptions.fromJson(Map<String, dynamic> json) => _$AdvanceOptionsFromJson(json); - Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); + Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); }

    diff --git a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita index 3bc6d81c316..bb87752b55d 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -5,7 +5,7 @@ The channel media options.
    -

    +

    public class ChannelMediaOptions { public Boolean publishCameraTrack; public Boolean publishSecondaryCameraTrack; @@ -343,6 +343,8 @@ struct FChannelMediaOptions publishTranscodedVideoTrack?: boolean; + publishLipSyncTrack?: boolean; + autoSubscribeAudio?: boolean; autoSubscribeVideo?: boolean; @@ -391,6 +393,7 @@ struct FChannelMediaOptions public Optional<bool> publishMediaPlayerAudioTrack = new Optional<bool>(); public Optional<bool> publishMediaPlayerVideoTrack = new Optional<bool>(); public Optional<bool> publishTranscodedVideoTrack = new Optional<bool>(); + public Optional<bool> publishLipSyncTrack = new Optional<bool>(); public Optional<bool> autoSubscribeAudio = new Optional<bool>(); public Optional<bool> autoSubscribeVideo = new Optional<bool>(); public Optional<bool> enableAudioRecordingOrPlayout = new Optional<bool>(); @@ -442,6 +445,8 @@ struct FChannelMediaOptions publishTranscodedVideoTrack?: boolean; + publishLipSyncTrack?: boolean; + autoSubscribeAudio?: boolean; autoSubscribeVideo?: boolean; @@ -491,6 +496,8 @@ class ChannelMediaOptions { this.publishMediaPlayerAudioTrack, this.publishMediaPlayerVideoTrack, this.publishTranscodedVideoTrack, + this.publishMixedAudioTrack, + this.publishLipSyncTrack, this.autoSubscribeAudio, this.autoSubscribeVideo, this.enableAudioRecordingOrPlayout, @@ -506,117 +513,755 @@ class ChannelMediaOptions { this.publishRhythmPlayerTrack, this.isInteractiveAudience, this.customVideoTrackId, - this.isAudioFilterable}); + this.isAudioFilterable, + this.parameters}); - @JsonKey(name: 'publishCameraTrack') + @JsonKey(name: 'publishCameraTrack') final bool? publishCameraTrack; - @JsonKey(name: 'publishSecondaryCameraTrack') + @JsonKey(name: 'publishSecondaryCameraTrack') final bool? publishSecondaryCameraTrack; - @JsonKey(name: 'publishThirdCameraTrack') + @JsonKey(name: 'publishThirdCameraTrack') final bool? publishThirdCameraTrack; - @JsonKey(name: 'publishFourthCameraTrack') + @JsonKey(name: 'publishFourthCameraTrack') final bool? publishFourthCameraTrack; - @JsonKey(name: 'publishMicrophoneTrack') + @JsonKey(name: 'publishMicrophoneTrack') final bool? publishMicrophoneTrack; - @JsonKey(name: 'publishScreenCaptureVideo') + @JsonKey(name: 'publishScreenCaptureVideo') final bool? publishScreenCaptureVideo; - @JsonKey(name: 'publishScreenCaptureAudio') + @JsonKey(name: 'publishScreenCaptureAudio') final bool? publishScreenCaptureAudio; - @JsonKey(name: 'publishScreenTrack') + @JsonKey(name: 'publishScreenTrack') final bool? publishScreenTrack; - @JsonKey(name: 'publishSecondaryScreenTrack') + @JsonKey(name: 'publishSecondaryScreenTrack') final bool? publishSecondaryScreenTrack; - @JsonKey(name: 'publishThirdScreenTrack') + @JsonKey(name: 'publishThirdScreenTrack') final bool? publishThirdScreenTrack; - @JsonKey(name: 'publishFourthScreenTrack') + @JsonKey(name: 'publishFourthScreenTrack') final bool? publishFourthScreenTrack; - @JsonKey(name: 'publishCustomAudioTrack') + @JsonKey(name: 'publishCustomAudioTrack') final bool? publishCustomAudioTrack; - @JsonKey(name: 'publishCustomAudioTrackId') + @JsonKey(name: 'publishCustomAudioTrackId') final int? publishCustomAudioTrackId; - @JsonKey(name: 'publishCustomVideoTrack') + @JsonKey(name: 'publishCustomVideoTrack') final bool? publishCustomVideoTrack; - @JsonKey(name: 'publishEncodedVideoTrack') + @JsonKey(name: 'publishEncodedVideoTrack') final bool? publishEncodedVideoTrack; - @JsonKey(name: 'publishMediaPlayerAudioTrack') + @JsonKey(name: 'publishMediaPlayerAudioTrack') final bool? publishMediaPlayerAudioTrack; - @JsonKey(name: 'publishMediaPlayerVideoTrack') + @JsonKey(name: 'publishMediaPlayerVideoTrack') final bool? publishMediaPlayerVideoTrack; - @JsonKey(name: 'publishTranscodedVideoTrack') + @JsonKey(name: 'publishTranscodedVideoTrack') final bool? publishTranscodedVideoTrack; - @JsonKey(name: 'autoSubscribeAudio') + @JsonKey(name: 'publishMixedAudioTrack') + final bool? publishMixedAudioTrack; + + @JsonKey(name: 'autoSubscribeAudio') final bool? autoSubscribeAudio; - @JsonKey(name: 'autoSubscribeVideo') + @JsonKey(name: 'autoSubscribeVideo') final bool? autoSubscribeVideo; - @JsonKey(name: 'enableAudioRecordingOrPlayout') + @JsonKey(name: 'enableAudioRecordingOrPlayout') final bool? enableAudioRecordingOrPlayout; - @JsonKey(name: 'publishMediaPlayerId') + @JsonKey(name: 'publishMediaPlayerId') final int? publishMediaPlayerId; - @JsonKey(name: 'clientRoleType') + @JsonKey(name: 'clientRoleType') final ClientRoleType? clientRoleType; - @JsonKey(name: 'audienceLatencyLevel') + @JsonKey(name: 'audienceLatencyLevel') final AudienceLatencyLevelType? audienceLatencyLevel; - @JsonKey(name: 'defaultVideoStreamType') + @JsonKey(name: 'defaultVideoStreamType') final VideoStreamType? defaultVideoStreamType; - @JsonKey(name: 'channelProfile') + @JsonKey(name: 'channelProfile') final ChannelProfileType? channelProfile; - @JsonKey(name: 'audioDelayMs') + @JsonKey(name: 'audioDelayMs') final int? audioDelayMs; - @JsonKey(name: 'mediaPlayerAudioDelayMs') + @JsonKey(name: 'mediaPlayerAudioDelayMs') final int? mediaPlayerAudioDelayMs; - @JsonKey(name: 'token') + @JsonKey(name: 'token') final String? token; - @JsonKey(name: 'enableBuiltInMediaEncryption') + @JsonKey(name: 'enableBuiltInMediaEncryption') final bool? enableBuiltInMediaEncryption; - @JsonKey(name: 'publishRhythmPlayerTrack') + @JsonKey(name: 'publishRhythmPlayerTrack') final bool? publishRhythmPlayerTrack; - @JsonKey(name: 'isInteractiveAudience') + @JsonKey(name: 'isInteractiveAudience') final bool? isInteractiveAudience; - @JsonKey(name: 'customVideoTrackId') + @JsonKey(name: 'customVideoTrackId') final int? customVideoTrackId; - @JsonKey(name: 'isAudioFilterable') + @JsonKey(name: 'isAudioFilterable') final bool? isAudioFilterable; - factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => + @JsonKey(name: 'parameters') + final String? parameters; + + factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => _$ChannelMediaOptionsFromJson(json); - Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); + Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); }

    -
    +

    + public class ChannelMediaOptions { + public Boolean publishCameraTrack; + public Boolean publishSecondaryCameraTrack; + public Boolean publishThirdCameraTrack; + public Boolean publishFourthCameraTrack; + public Boolean publishMicrophoneTrack; + public Boolean publishScreenCaptureVideo; + public Boolean publishScreenCaptureAudio; + public Boolean publishCustomAudioTrack; + public Integer publishCustomAudioTrackId; + public Boolean publishCustomVideoTrack; + public Boolean publishEncodedVideoTrack; + public Boolean publishMediaPlayerAudioTrack; + public Boolean publishMediaPlayerVideoTrack; + public Boolean publishTranscodedVideoTrack; + public Boolean publishLipSyncTrack; + public Boolean autoSubscribeAudio; + public Boolean autoSubscribeVideo; + public Boolean enableAudioRecordingOrPlayout; + public Integer publishMediaPlayerId; + public Integer clientRoleType; + public Integer audienceLatencyLevel; + public Integer defaultVideoStreamType; + public Integer channelProfile; + public Integer mediaPlayerAudioDelayMs; + public String token; + public Boolean enableBuiltInMediaEncryption; + public Boolean publishRhythmPlayerTrack; + public Boolean isInteractiveAudience; + public Integer customVideoTrackId; + public Boolean isAudioFilterable; + } + export class ChannelMediaOptions { + + public publishCameraTrack?:boolean; + + public publishSecondaryCameraTrack?:boolean; + + public publishMicrophoneTrack?:boolean; + + public publishScreenCaptureVideo?:boolean; + + public publishScreenCaptureAudio?:boolean; + + public publishCustomAudioTrack?:boolean; + + public publishCustomAudioTrackId?:number; + + public publishCustomVideoTrack?:boolean; + + public publishEncodedVideoTrack?:boolean; + + public publishMediaPlayerAudioTrack?:boolean; + + public publishMediaPlayerVideoTrack?:boolean; + + public publishTranscodedVideoTrack?:boolean; + + public publishMixedAudioTrack?:boolean; + + public autoSubscribeAudio?:boolean; + + public autoSubscribeVideo?:boolean; + + public enableAudioRecordingOrPlayout?:boolean; + + public publishMediaPlayerId?:number; + + public clientRoleType?:number; + + public audienceLatencyLevel?:number; + + public defaultVideoStreamType?:number; + + public channelProfile?:number; + + public audioDelayMs?:number; + + public mediaPlayerAudioDelayMs?:number; + + public enableBuiltInMediaEncryption?:boolean; + + public publishRhythmPlayerTrack?:boolean; + + public isInteractiveAudience?:boolean; + + public customVideoTrackId?:number; + + public isAudioFilterable?:boolean; + + public startPreview?:boolean; + public constructor() { + } + } + __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject + @property(assign, nonatomic) BOOL publishCameraTrack; + @property(assign, nonatomic) BOOL publishSecondaryCameraTrack; + @property(assign, nonatomic) BOOL publishMicrophoneTrack; + #if TARGET_OS_IPHONE + @property(assign, nonatomic) BOOL publishScreenCaptureVideo; + @property(assign, nonatomic) BOOL publishScreenCaptureAudio; + #elif TARGET_OS_MAC + @property(assign, nonatomic) BOOL publishThirdCameraTrack; + @property(assign, nonatomic) BOOL publishFourthCameraTrack; + @property(assign, nonatomic) BOOL publishScreenTrack; + @property(assign, nonatomic) BOOL publishSecondaryScreenTrack; + @property(assign, nonatomic) BOOL publishThirdScreenTrack; + @property(assign, nonatomic) BOOL publishFourthScreenTrack; + #endif + @property(assign, nonatomic) BOOL publishCustomAudioTrack; + @property(assign, nonatomic) NSInteger publishCustomAudioTrackId; + + @property(assign, nonatomic) BOOL publishCustomVideoTrack; + @property(assign, nonatomic) BOOL publishEncodedVideoTrack; + @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; + @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack; + @property(assign, nonatomic) BOOL publishTranscodedVideoTrack; + @property(assign, nonatomic) BOOL publishLipSyncTrack; + @property(assign, nonatomic) BOOL autoSubscribeAudio; + @property(assign, nonatomic) BOOL autoSubscribeVideo; + @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout; + @property(assign, nonatomic) NSInteger publishMediaPlayerId; + @property(assign, nonatomic) AgoraClientRole clientRoleType; + @property(assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; + @property(assign, nonatomic) AgoraVideoStreamType defaultVideoStreamType; + @property(assign, nonatomic) AgoraChannelProfile channelProfile; + @property(copy, nonatomic) NSString * _Nullable token; + @property(assign, nonatomic) BOOL enableBuiltInMediaEncryption; + + @property(assign, nonatomic) BOOL publishRhythmPlayerTrack; + @property(assign, nonatomic) BOOL isInteractiveAudience; + + @property(assign, nonatomic) NSInteger customVideoTrackId; + + @property(assign, nonatomic) BOOL isAudioFilterable; + + @end + struct ChannelMediaOptions { + Optional<bool> publishCameraTrack; + Optional<bool> publishSecondaryCameraTrack; + Optional<bool> publishThirdCameraTrack; + Optional<bool> publishFourthCameraTrack; + Optional<bool> publishMicrophoneTrack; + + #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) + Optional<bool> publishScreenCaptureVideo; + Optional<bool> publishScreenCaptureAudio; + #else + Optional<bool> publishScreenTrack; + Optional<bool> publishSecondaryScreenTrack; + Optional<bool> publishThirdScreenTrack; + Optional<bool> publishFourthScreenTrack; + #endif + + Optional<bool> publishCustomAudioTrack; + Optional<int> publishCustomAudioTrackId; + Optional<bool> publishCustomVideoTrack; + Optional<bool> publishEncodedVideoTrack; + Optional<bool> publishMediaPlayerAudioTrack; + Optional<bool> publishMediaPlayerVideoTrack; + Optional<bool> publishTranscodedVideoTrack; + Optional<bool> publishLipSyncTrack; + Optional<bool> autoSubscribeAudio; + Optional<bool> autoSubscribeVideo; + Optional<bool> enableAudioRecordingOrPlayout; + Optional<int> publishMediaPlayerId; + Optional<CLIENT_ROLE_TYPE> clientRoleType; + Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; + Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; + Optional<CHANNEL_PROFILE_TYPE> channelProfile; + Optional<const char*> token; + Optional<bool> enableBuiltInMediaEncryption; + Optional<bool> publishRhythmPlayerTrack; + Optional<bool> isInteractiveAudience; + + Optional<video_track_id_t> customVideoTrackId; + + Optional<bool> isAudioFilterable; + + ChannelMediaOptions() {} + ~ChannelMediaOptions() {} + USTRUCT(BlueprintType) + struct FChannelMediaOptions + { + GENERATED_BODY() + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCameraTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishSecondaryCameraTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMicrophoneTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenCaptureVideo; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenCaptureAudio; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishScreenTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishSecondaryScreenTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCustomAudioTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool publishCustomAudioTrackId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int publishCustomAudioTrackId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishCustomVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishEncodedVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMediaPlayerAudioTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishMediaPlayerVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishTranscodedVideoTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL autoSubscribeAudio; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL autoSubscribeVideo; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL enableAudioRecordingOrPlayout; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool publishMediaPlayerId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int publishMediaPlayerId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool clientRoleType_SetValue = true; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + ECLIENT_ROLE_TYPE clientRoleType = ECLIENT_ROLE_TYPE::CLIENT_ROLE_BROADCASTER; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool audienceLatencyLevel_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool defaultVideoStreamType_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + EVIDEO_STREAM_TYPE defaultVideoStreamType; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool channelProfile_SetValue = true; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + ECHANNEL_PROFILE_TYPE channelProfile = ECHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool audioDelayMs_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int audioDelayMs; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool mediaPlayerAudioDelayMs_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int mediaPlayerAudioDelayMs; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool token_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + FString token; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL enableBuiltInMediaEncryption; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL publishRhythmPlayerTrack; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL isInteractiveAudience; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + bool customVideoTrackId_SetValue; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + int64 customVideoTrackId; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + AGORAOPTIONAL isAudioFilterable; + }; + struct ChannelMediaOptions { + Optional<bool> publishCameraTrack; + Optional<bool> publishSecondaryCameraTrack; + Optional<bool> publishMicrophoneTrack; + + #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) + Optional<bool> publishScreenCaptureVideo; + Optional<bool> publishScreenCaptureAudio; + #else + Optional<bool> publishScreenTrack; + Optional<bool> publishSecondaryScreenTrack; + #endif + + Optional<bool> publishCustomAudioTrack; + Optional<int> publishCustomAudioTrackId; + Optional<bool> publishCustomVideoTrack; + Optional<bool> publishEncodedVideoTrack; + Optional<bool> publishMediaPlayerAudioTrack; + Optional<bool> publishMediaPlayerVideoTrack; + Optional<bool> publishTranscodedVideoTrack; + Optional<bool> autoSubscribeAudio; + Optional<bool> autoSubscribeVideo; + Optional<bool> enableAudioRecordingOrPlayout; + Optional<int> publishMediaPlayerId; + Optional<CLIENT_ROLE_TYPE> clientRoleType; + Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; + Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; + Optional<CHANNEL_PROFILE_TYPE> channelProfile; + Optional<const char*> token; + Optional<bool> enableBuiltInMediaEncryption; + Optional<bool> publishRhythmPlayerTrack; + Optional<bool> isInteractiveAudience; + + Optional<video_track_id_t> customVideoTrackId; + + Optional<bool> isAudioFilterable; + + ChannelMediaOptions() {} + ~ChannelMediaOptions() {} + export class ChannelMediaOptions { + + publishCameraTrack?: boolean; + + publishSecondaryCameraTrack?: boolean; + + publishThirdCameraTrack?: boolean; + + publishFourthCameraTrack?: boolean; + + publishMicrophoneTrack?: boolean; + + publishScreenTrack?: boolean; + + publishSecondaryScreenTrack?: boolean; + + publishThirdScreenTrack?: boolean; + + publishFourthScreenTrack?: boolean; + + publishCustomAudioTrack?: boolean; + + publishCustomAudioTrackId?: number; + + publishCustomVideoTrack?: boolean; + + publishEncodedVideoTrack?: boolean; + + publishMediaPlayerAudioTrack?: boolean; + + publishMediaPlayerVideoTrack?: boolean; + + publishTranscodedVideoTrack?: boolean; + + publishLipSyncTrack?: boolean; + + autoSubscribeAudio?: boolean; + + autoSubscribeVideo?: boolean; + + enableAudioRecordingOrPlayout?: boolean; + + publishMediaPlayerId?: number; + + clientRoleType?: ClientRoleType; + + audienceLatencyLevel?: AudienceLatencyLevelType; + + defaultVideoStreamType?: VideoStreamType; + + channelProfile?: ChannelProfileType; + + token?: string; + + enableBuiltInMediaEncryption?: boolean; + + publishRhythmPlayerTrack?: boolean; + + isInteractiveAudience?: boolean; + + customVideoTrackId?: number; + + isAudioFilterable?: boolean; + } + public class ChannelMediaOptions : OptionalJsonParse + { + public Optional<bool> publishCameraTrack = new Optional<bool>(); + public Optional<bool> publishSecondaryCameraTrack = new Optional<bool>(); + public Optional<bool> publishThirdCameraTrack = new Optional<bool>(); + public Optional<bool> publishFourthCameraTrack = new Optional<bool>(); + public Optional<bool> publishMicrophoneTrack = new Optional<bool>(); + public Optional<bool> publishScreenCaptureVideo = new Optional<bool>(); + public Optional<bool> publishScreenCaptureAudio = new Optional<bool>(); + public Optional<bool> publishScreenTrack = new Optional<bool>(); + public Optional<bool> publishSecondaryScreenTrack = new Optional<bool>(); + public Optional<bool> publishThirdScreenTrack = new Optional<bool>(); + public Optional<bool> publishFourthScreenTrack = new Optional<bool>(); + public Optional<bool> publishCustomAudioTrack = new Optional<bool>(); + public Optional<int> publishCustomAudioTrackId = new Optional<int>(); + public Optional<bool> publishCustomVideoTrack = new Optional<bool>(); + public Optional<bool> publishEncodedVideoTrack = new Optional<bool>(); + public Optional<bool> publishMediaPlayerAudioTrack = new Optional<bool>(); + public Optional<bool> publishMediaPlayerVideoTrack = new Optional<bool>(); + public Optional<bool> publishTranscodedVideoTrack = new Optional<bool>(); + public Optional<bool> publishLipSyncTrack = new Optional<bool>(); + public Optional<bool> autoSubscribeAudio = new Optional<bool>(); + public Optional<bool> autoSubscribeVideo = new Optional<bool>(); + public Optional<bool> enableAudioRecordingOrPlayout = new Optional<bool>(); + public Optional<int> publishMediaPlayerId = new Optional<int>(); + public Optional<CLIENT_ROLE_TYPE> clientRoleType = new Optional<CLIENT_ROLE_TYPE>(); + public Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel = new Optional<AUDIENCE_LATENCY_LEVEL_TYPE>(); + public Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType = new Optional<VIDEO_STREAM_TYPE>(); + public Optional<CHANNEL_PROFILE_TYPE> channelProfile = new Optional<CHANNEL_PROFILE_TYPE>(); + public Optional<string> token = new Optional<string>(); + public Optional<bool> publishRhythmPlayerTrack = new Optional<bool>(); + public Optional<bool> isInteractiveAudience = new Optional<bool>(); + public Optional<video_track_id_t> customVideoTrackId = new Optional<video_track_id_t>(); + public Optional<bool> isAudioFilterable = new Optional<bool>(); + + } + export class ChannelMediaOptions { + + publishCameraTrack?: boolean; + + publishSecondaryCameraTrack?: boolean; + + publishThirdCameraTrack?: boolean; + + publishFourthCameraTrack?: boolean; + + publishMicrophoneTrack?: boolean; + + publishScreenCaptureVideo?: boolean; + + publishScreenCaptureAudio?: boolean; + + publishSecondaryScreenTrack?: boolean; + + publishThirdScreenTrack?: boolean; + + publishFourthScreenTrack?: boolean; + + publishCustomAudioTrack?: boolean; + + publishCustomAudioTrackId?: number; + + publishCustomVideoTrack?: boolean; + + publishEncodedVideoTrack?: boolean; + + publishMediaPlayerAudioTrack?: boolean; + + publishMediaPlayerVideoTrack?: boolean; + + publishTranscodedVideoTrack?: boolean; + + publishLipSyncTrack?: boolean; + + autoSubscribeAudio?: boolean; + + autoSubscribeVideo?: boolean; + + enableAudioRecordingOrPlayout?: boolean; + + publishMediaPlayerId?: number; + + clientRoleType?: ClientRoleType; + + audienceLatencyLevel?: AudienceLatencyLevelType; + + defaultVideoStreamType?: VideoStreamType; + + channelProfile?: ChannelProfileType; + + token?: string; + + enableBuiltInMediaEncryption?: boolean; + + publishRhythmPlayerTrack?: boolean; + + isInteractiveAudience?: boolean; + + customVideoTrackId?: number; + + isAudioFilterable?: boolean; + } + @JsonSerializable(explicitToJson: true, includeIfNull: false) + class ChannelMediaOptions { + const ChannelMediaOptions( + {this.publishCameraTrack, + this.publishSecondaryCameraTrack, + this.publishThirdCameraTrack, + this.publishFourthCameraTrack, + this.publishMicrophoneTrack, + this.publishScreenCaptureVideo, + this.publishScreenCaptureAudio, + this.publishScreenTrack, + this.publishSecondaryScreenTrack, + this.publishThirdScreenTrack, + this.publishFourthScreenTrack, + this.publishCustomAudioTrack, + this.publishCustomAudioTrackId, + this.publishCustomVideoTrack, + this.publishEncodedVideoTrack, + this.publishMediaPlayerAudioTrack, + this.publishMediaPlayerVideoTrack, + this.publishTranscodedVideoTrack, + this.publishMixedAudioTrack, + this.publishLipSyncTrack, + this.autoSubscribeAudio, + this.autoSubscribeVideo, + this.enableAudioRecordingOrPlayout, + this.publishMediaPlayerId, + this.clientRoleType, + this.audienceLatencyLevel, + this.defaultVideoStreamType, + this.channelProfile, + this.audioDelayMs, + this.mediaPlayerAudioDelayMs, + this.token, + this.enableBuiltInMediaEncryption, + this.publishRhythmPlayerTrack, + this.isInteractiveAudience, + this.customVideoTrackId, + this.isAudioFilterable, + this.parameters}); + + @JsonKey(name: 'publishCameraTrack') + final bool? publishCameraTrack; + + @JsonKey(name: 'publishSecondaryCameraTrack') + final bool? publishSecondaryCameraTrack; + + @JsonKey(name: 'publishThirdCameraTrack') + final bool? publishThirdCameraTrack; + + @JsonKey(name: 'publishFourthCameraTrack') + final bool? publishFourthCameraTrack; + + @JsonKey(name: 'publishMicrophoneTrack') + final bool? publishMicrophoneTrack; + + @JsonKey(name: 'publishScreenCaptureVideo') + final bool? publishScreenCaptureVideo; + + @JsonKey(name: 'publishScreenCaptureAudio') + final bool? publishScreenCaptureAudio; + + @JsonKey(name: 'publishScreenTrack') + final bool? publishScreenTrack; + + @JsonKey(name: 'publishSecondaryScreenTrack') + final bool? publishSecondaryScreenTrack; + + @JsonKey(name: 'publishThirdScreenTrack') + final bool? publishThirdScreenTrack; + + @JsonKey(name: 'publishFourthScreenTrack') + final bool? publishFourthScreenTrack; + + @JsonKey(name: 'publishCustomAudioTrack') + final bool? publishCustomAudioTrack; + + @JsonKey(name: 'publishCustomAudioTrackId') + final int? publishCustomAudioTrackId; + + @JsonKey(name: 'publishCustomVideoTrack') + final bool? publishCustomVideoTrack; + + @JsonKey(name: 'publishEncodedVideoTrack') + final bool? publishEncodedVideoTrack; + + @JsonKey(name: 'publishMediaPlayerAudioTrack') + final bool? publishMediaPlayerAudioTrack; + + @JsonKey(name: 'publishMediaPlayerVideoTrack') + final bool? publishMediaPlayerVideoTrack; + + @JsonKey(name: 'publishTranscodedVideoTrack') + final bool? publishTranscodedVideoTrack; + + @JsonKey(name: 'publishMixedAudioTrack') + final bool? publishMixedAudioTrack; + + @JsonKey(name: 'publishLipSyncTrack') + final bool? publishLipSyncTrack; + + @JsonKey(name: 'autoSubscribeAudio') + final bool? autoSubscribeAudio; + + @JsonKey(name: 'autoSubscribeVideo') + final bool? autoSubscribeVideo; + + @JsonKey(name: 'enableAudioRecordingOrPlayout') + final bool? enableAudioRecordingOrPlayout; + + @JsonKey(name: 'publishMediaPlayerId') + final int? publishMediaPlayerId; + + @JsonKey(name: 'clientRoleType') + final ClientRoleType? clientRoleType; + + @JsonKey(name: 'audienceLatencyLevel') + final AudienceLatencyLevelType? audienceLatencyLevel; + + @JsonKey(name: 'defaultVideoStreamType') + final VideoStreamType? defaultVideoStreamType; + + @JsonKey(name: 'channelProfile') + final ChannelProfileType? channelProfile; + + @JsonKey(name: 'audioDelayMs') + final int? audioDelayMs; + + @JsonKey(name: 'mediaPlayerAudioDelayMs') + final int? mediaPlayerAudioDelayMs; + + @JsonKey(name: 'token') + final String? token; + + @JsonKey(name: 'enableBuiltInMediaEncryption') + final bool? enableBuiltInMediaEncryption; + + @JsonKey(name: 'publishRhythmPlayerTrack') + final bool? publishRhythmPlayerTrack; + + @JsonKey(name: 'isInteractiveAudience') + final bool? isInteractiveAudience; + + @JsonKey(name: 'customVideoTrackId') + final int? customVideoTrackId; + + @JsonKey(name: 'isAudioFilterable') + final bool? isAudioFilterable; + + @JsonKey(name: 'parameters') + final String? parameters; + + factory ChannelMediaOptions.fromJson(Map<String, dynamic> json) => + _$ChannelMediaOptionsFromJson(json); + + Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); + } +

    +
    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.
    diff --git a/en-US/dita/RTC-NG/API/class_extensioncontext.dita b/en-US/dita/RTC-NG/API/class_extensioncontext.dita index 6e653e4ace3..633d3b4a4ad 100644 --- a/en-US/dita/RTC-NG/API/class_extensioncontext.dita +++ b/en-US/dita/RTC-NG/API/class_extensioncontext.dita @@ -42,10 +42,71 @@ ExtensionContext():isValid(false), uid(0), providerName(NULL), extensionName(NULL) {} }; - - - -

    + export class ExtensionContext { + + isValid?: boolean; + + uid?: number; + + providerName?: string; + + extensionName?: string; +} + public class ExtensionContext + { + public bool isValid; + public uint uid; + public string providerName; + public string extensionName; + + public ExtensionContext() + { + this.isValid = false; + this.uid = 0; + this.providerName = ""; + this.extensionName = ""; + } + + public ExtensionContext(bool isValid, uint uid, string providerName, string extensionName) + { + this.isValid = isValid; + this.uid = uid; + this.providerName = providerName; + this.extensionName = extensionName; + } + } + export class ExtensionContext { + + isValid?: boolean; + + uid?: number; + + providerName?: string; + + extensionName?: string; +} + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class ExtensionContext { + const ExtensionContext( + {this.isValid, this.uid, this.providerName, this.extensionName}); + + @JsonKey(name: 'isValid') + final bool? isValid; + + @JsonKey(name: 'uid') + final int? uid; + + @JsonKey(name: 'providerName') + final String? providerName; + + @JsonKey(name: 'extensionName') + final String? extensionName; + + factory ExtensionContext.fromJson(Map<String, dynamic> json) => + _$ExtensionContextFromJson(json); + + Map<String, dynamic> toJson() => _$ExtensionContextToJson(this); +}

    @@ -71,13 +132,13 @@ uid The user ID. 0 represents a local user, while greater than 0 represents a remote user. - - - + + providerName + The name of the extension provider. - - - + + extensionName + The name of the extension.
    diff --git a/en-US/dita/RTC-NG/API/class_externalvideoframe.dita b/en-US/dita/RTC-NG/API/class_externalvideoframe.dita index b3bfee20dd8..0556342a134 100644 --- a/en-US/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/en-US/dita/RTC-NG/API/class_externalvideoframe.dita @@ -20,7 +20,7 @@ public static final int BUFFER_TYPE_ARRAY = 2; public static final int BUFFER_TYPE_TEXTURE = 3; public AgoraVideoFrame() { - format = 10; + format = 10; timeStamp = 0; stride = 0; height = 0; @@ -46,7 +46,7 @@ public float[] transform; public javax.microedition.khronos.egl.EGLContext eglContext10; public android.opengl.EGLContext eglContext14; - + public byte[] buf; public int cropLeft; public int cropTop; @@ -67,20 +67,20 @@ __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; -@property(assign, nonatomic) CMTime time; +@property(assign, nonatomic) CMTime time; @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead"); -@property(assign, nonatomic) int strideInPixels; -@property(assign, nonatomic) int height; +@property(assign, nonatomic) int strideInPixels; +@property(assign, nonatomic) int height; @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf; @property(strong, nonatomic) IMAGE_CLASS * _Nullable image; -@property(strong, nonatomic) NSData *_Nullable dataBuf; +@property(strong, nonatomic) NSData *_Nullable dataBuf; @property(strong, nonatomic) NSData *_Nullable alphaBuf; @property(assign, nonatomic) AgoraAlphaStitchMode alphaStitchMode; -@property(assign, nonatomic) int cropLeft; -@property(assign, nonatomic) int cropTop; -@property(assign, nonatomic) int cropRight; -@property(assign, nonatomic) int cropBottom; -@property(assign, nonatomic) int rotation; +@property(assign, nonatomic) int cropLeft; +@property(assign, nonatomic) int cropTop; +@property(assign, nonatomic) int cropRight; +@property(assign, nonatomic) int cropBottom; +@property(assign, nonatomic) int rotation; - (void)fillAlphaData; @end struct ExternalVideoFrame { @@ -153,8 +153,13 @@ eglType?: EglContextType; textureId?: number; matrix?: number[]; - metadata_buffer?: Uint8Array; - metadata_size?: number; + metadataBuffer?: Uint8Array; + metadataSize?: number; + alphaBuffer?: Uint8Array; + fillAlphaBuffer?: boolean; + alphaStitchMode?: AlphaStitchMode; + d3d11Texture2d?: any; + textureSliceIndex?: number; } public class ExternalVideoFrame { @@ -172,8 +177,11 @@ public byte[] eglContext; public EGL_CONTEXT_TYPE eglType; public int textureId; - public byte[] metadata_buffer; - public int metadata_size; + public byte[] metadataBuffer; + public int metadataSize; + public byte[] alphaBuffer; + public bool fillAlphaBuffer; + public ALPHA_STITCH_MODE alphaStitchMode; public IntPtr d3d11_texture_2d; public int texture_slice_index; }; @@ -192,8 +200,11 @@ eglType?: EglContextType; textureId?: number; matrix?: number[]; - metadata_buffer?: Uint8Array; - metadata_size?: number; + metadataBuffer?: Uint8Array; + metadataSize?: number; + alphaBuffer?: Uint8Array; + fillAlphaBuffer?: boolean; + alphaStitchMode?: AlphaStitchMode; } @JsonSerializable(explicitToJson: true, includeIfNull: false) class ExternalVideoFrame { @@ -215,6 +226,9 @@ class ExternalVideoFrame { this.metadataBuffer, this.metadataSize, this.alphaBuffer, + this.fillAlphaBuffer, + this.alphaStitchMode, + this.d3d11Texture2d, this.textureSliceIndex}); @JsonKey(name: 'type') @@ -259,16 +273,25 @@ class ExternalVideoFrame { @JsonKey(name: 'matrix') final List<double>? matrix; - @JsonKey(name: 'metadata_buffer', ignore: true) + @JsonKey(name: 'metadataBuffer', ignore: true) final Uint8List? metadataBuffer; - @JsonKey(name: 'metadata_size') + @JsonKey(name: 'metadataSize') final int? metadataSize; @JsonKey(name: 'alphaBuffer', ignore: true) final Uint8List? alphaBuffer; - @JsonKey(name: 'texture_slice_index') + @JsonKey(name: 'fillAlphaBuffer') + final bool? fillAlphaBuffer; + + @JsonKey(name: 'alphaStitchMode') + final AlphaStitchMode? alphaStitchMode; + + @JsonKey(name: 'd3d11Texture2d', readValue: readIntPtr) + final int? d3d11Texture2d; + + @JsonKey(name: 'textureSliceIndex') final int? textureSliceIndex; factory ExternalVideoFrame.fromJson(Map<String, dynamic> json) => @@ -398,30 +421,28 @@ class ExternalVideoFrame { This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix. - metadata_buffer - metadataBuffer + metadataBuffer This parameter only applies to video data in Texture format. The MetaData buffer. The default value is NULL. - metadata_size - metadataSize + metadataSize This parameter only applies to video data in Texture format. The MetaData size. The default value is 0. - - - - + + d3d11Texture2d + This parameter only applies to video data in Windows Texture format. It represents a pointer to an object of type ID3D11Texture2D, which is used by a video frame. + - alphaBuffer + alphaBuffer alphaBuf

    The alpha channel data output by using portrait segmentation algorithm. This data matches the size of the video frame, with each pixel value ranging from [0,255], where 0 represents the background and 255 represents the foreground (portrait).

    By setting this parameter, you can render the video background into various effects, such as transparent, solid color, image, video, etc.

    - In custom video rendering scenarios, ensure that both the video frame and alphaBuffer are of the Full Range type; other types may cause abnormal alpha data rendering. + In custom video rendering scenarios, ensure that both the video frame and alphaBuffer are of the Full Range type; other types may cause abnormal alpha data rendering.
    - fillAlphaBuffer + fillAlphaBuffer fillAlphaData This parameter only applies to video data in BGRA or RGBA format. Whether to extract the alpha channel data from the video frame and automatically fill it into alphaBuffer:
    • :Extract and fill the alpha channel data.
    • diff --git a/en-US/dita/RTC-NG/API/class_metadata.dita b/en-US/dita/RTC-NG/API/class_metadata.dita index 37901d6a458..2cb9cf7bc55 100644 --- a/en-US/dita/RTC-NG/API/class_metadata.dita +++ b/en-US/dita/RTC-NG/API/class_metadata.dita @@ -57,58 +57,67 @@ struct FAgoraMetadata }; public class Metadata { + public string channelId; public uint uid; public uint size; + public IntPtr buffer; + public long timeStampMs; - public IntPtr buffer + public Metadata() { - set - { - _buffer = (UInt64)value; - } - get - { - return (IntPtr)_buffer; - } + this.channelId = ""; + this.uid = 0; + this.size = 0; + this.buffer = IntPtr.Zero; + this.timeStampMs = 0; } - private UInt64 _buffer; - - public long timeStampMs; - }; + public Metadata(string channelId, uint uid, uint size, IntPtr buffer, long timeStampMs) + { + this.channelId = channelId; + this.uid = uid; + this.size = size; + this.buffer = buffer; + this.timeStampMs = timeStampMs; + } + } export class Metadata { - + channelId?: string; uid?: number; - size?: number; - buffer?: Uint8Array; - timeStampMs?: number; } export class Metadata { - + channelId?: string; uid?: number; - size?: number; - buffer?: Uint8Array; - timeStampMs?: number; } - class Metadata { - const Metadata({this.uid, this.size, this.buffer, this.timeStampMs}); + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class Metadata { + const Metadata( + {this.channelId, this.uid, this.size, this.buffer, this.timeStampMs}); + + @JsonKey(name: 'channelId') + final String? channelId; @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'size') final int? size; + @JsonKey(name: 'buffer', ignore: true) final Uint8List? buffer; + @JsonKey(name: 'timeStampMs') final int? timeStampMs; + factory Metadata.fromJson(Map<String, dynamic> json) => _$MetadataFromJson(json); + Map<String, dynamic> toJson() => _$MetadataToJson(this); }

      diff --git a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita index 0a8cec005c4..dade5cd0ea9 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 examples, 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.
    • 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 examples, 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.
    • 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 examples, 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.
    • 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_videocanvas.dita b/en-US/dita/RTC-NG/API/class_videocanvas.dita index 2f87319f1ed..0f0afd64607 100644 --- a/en-US/dita/RTC-NG/API/class_videocanvas.dita +++ b/en-US/dita/RTC-NG/API/class_videocanvas.dita @@ -287,6 +287,7 @@ class VideoCanvas { mirrorMode

    The mirror mode of the view. See .

    +

    • diff --git a/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita b/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita index 3a454b3c374..23d6bd69710 100644 --- a/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita @@ -619,6 +619,7 @@ struct FVideoEncoderConfiguration mirrorMode

      Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See .

      +

      Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees.

      • (0): The SDK determines whether to enable the mirror mode. The SDK disables mirror mode by default.
      • (1): Enables the mirror mode for remote users.
      • diff --git a/en-US/dita/RTC-NG/API/class_videoframe.dita b/en-US/dita/RTC-NG/API/class_videoframe.dita index 5c74b9394f6..a478bc371d9 100644 --- a/en-US/dita/RTC-NG/API/class_videoframe.dita +++ b/en-US/dita/RTC-NG/API/class_videoframe.dita @@ -135,7 +135,7 @@ Unspecified(2), BT470M(4), BT470BG(5), - kSMPTE170M(6), + kSMPTE170M(6), kSMPTE240M(7), kFILM(8), kBT2020(9), @@ -421,6 +421,10 @@ struct FVideoFrame { matrix?: number[]; + alphaBuffer?: Uint8Array; + + alphaStitchMode?: AlphaStitchMode; + } public class VideoFrame { @@ -462,7 +466,13 @@ struct FVideoFrame { public int textureId; + public IntPtr d3d11Texture2d; + public float[] matrix; + + public byte[] alphaBuffer; + + public ALPHA_STITCH_MODE alphaStitchMode; }; export class VideoFrame { @@ -498,6 +508,10 @@ struct FVideoFrame { matrix?: number[]; + alphaBuffer?: Uint8Array; + + alphaStitchMode?: AlphaStitchMode; + } @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrame { @@ -518,63 +532,76 @@ class VideoFrame { this.metadataSize, this.textureId, this.matrix, - this.pixelBuffer}); + this.alphaBuffer, + this.alphaStitchMode, + this.pixelBuffer, + this.metaInfo}); - @JsonKey(name: 'type') + @JsonKey(name: 'type') final VideoPixelFormat? type; - @JsonKey(name: 'width') + @JsonKey(name: 'width') final int? width; - @JsonKey(name: 'height') + @JsonKey(name: 'height') final int? height; - @JsonKey(name: 'yStride') + @JsonKey(name: 'yStride') final int? yStride; - @JsonKey(name: 'uStride') + @JsonKey(name: 'uStride') final int? uStride; - @JsonKey(name: 'vStride') + @JsonKey(name: 'vStride') final int? vStride; - @JsonKey(name: 'yBuffer', ignore: true) + @JsonKey(name: 'yBuffer', ignore: true) final Uint8List? yBuffer; - @JsonKey(name: 'uBuffer', ignore: true) + @JsonKey(name: 'uBuffer', ignore: true) final Uint8List? uBuffer; - @JsonKey(name: 'vBuffer', ignore: true) + @JsonKey(name: 'vBuffer', ignore: true) final Uint8List? vBuffer; - @JsonKey(name: 'rotation') + @JsonKey(name: 'rotation') final int? rotation; - @JsonKey(name: 'renderTimeMs') + @JsonKey(name: 'renderTimeMs') final int? renderTimeMs; - @JsonKey(name: 'avsync_type') + @JsonKey(name: 'avsync_type') final int? avsyncType; - @JsonKey(name: 'metadata_buffer', ignore: true) + @JsonKey(name: 'metadata_buffer', ignore: true) final Uint8List? metadataBuffer; - @JsonKey(name: 'metadata_size') + @JsonKey(name: 'metadata_size') final int? metadataSize; - @JsonKey(name: 'textureId') + @JsonKey(name: 'textureId') final int? textureId; - @JsonKey(name: 'matrix') - final List<double>? matrix; + @JsonKey(name: 'matrix') + final List<double>? matrix; + + @JsonKey(name: 'alphaBuffer', ignore: true) + final Uint8List? alphaBuffer; - @JsonKey(name: 'pixelBuffer', ignore: true) + @JsonKey(name: 'alphaStitchMode') + final AlphaStitchMode? alphaStitchMode; + + @JsonKey(name: 'pixelBuffer', ignore: true) final Uint8List? pixelBuffer; - factory VideoFrame.fromJson(Map<String, dynamic> json) => + @VideoFrameMetaInfoConverter() + @JsonKey(name: 'metaInfo') + final VideoFrameMetaInfo? metaInfo; + + factory VideoFrame.fromJson(Map<String, dynamic> json) => _$VideoFrameFromJson(json); - Map<String, dynamic> toJson() => _$VideoFrameToJson(this); + Map<String, dynamic> toJson() => _$VideoFrameToJson(this); }

    @@ -685,7 +712,7 @@ class VideoFrame { textureId This parameter only applies to video data in Texture format. Texture ID. - + d3d11Texture2d This parameter only applies to video data in Windows Texture format. It represents a pointer to an object of type ID3D11Texture2D, which is used by a video frame. @@ -714,17 +741,17 @@ class VideoFrame { The aspect ratio of a single pixel, which is the ratio of the width to the height of each pixel. - alphaBuffer + alphaBuffer alphaBuf

    The alpha channel data output by using portrait segmentation algorithm. This data matches the size of the video frame, with each pixel value ranging from [0,255], where 0 represents the background and 255 represents the foreground (portrait).

    By setting this parameter, you can render the video background into various effects, such as transparent, solid color, image, video, etc.

    - In custom video rendering scenarios, ensure that both the video frame and alphaBuffer are of the Full Range type; other types may cause abnormal alpha data rendering. + In custom video rendering scenarios, ensure that both the video frame and alphaBuffer are of the Full Range type; other types may cause abnormal alpha data rendering.
    alphaStitchMode - When the video frame contains alpha channel data, it represents the relative position of alphaBuffer and the video frame. See .
      + When the video frame contains alpha channel data, it represents the relative position of alphaBuffer and the video frame. See .
      • 0: (Default) Only video frame, that is, alphaBuffer is not stitched with the video frame.
      • (1): alphaBuffer is above the video frame.
      • (2): alphaBuffer is below the video frame.
      • diff --git a/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita b/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita index dd13f5c2afa..b0b5b3a3672 100644 --- a/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita +++ b/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita @@ -16,7 +16,7 @@

        The stereo setting only takes effect when the SDK uses the media volume.

        To learn more about the difference between media volume and call volume, see .

        -
      • On iOS, stereo audio requires high device performance. Stereo audio is only supported on the following devices using iOS 14.0 and later:
          +
        • 在 iOS 上,实现立体声 iOS 系统版本为 14.0 及以上。 最低设备要求如下:
          • iPhone XS
          • iPhone XS Max
          • iPhone XR
          • diff --git a/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita b/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita index 5d309cc643e..b42ab74da8f 100644 --- a/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita +++ b/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita @@ -126,9 +126,9 @@ 29: (Windows only) Screen capture has resumed from paused state. - + - 30: (Windows and macOS only)The displayer used for screen capture is disconnected. + 30: (Windows and macOS only)The displayer used for screen capture is disconnected. diff --git a/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita b/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita index db55580692a..ba79160870e 100644 --- a/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita +++ b/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita @@ -26,6 +26,13 @@

            + + + +

            2: 1v1 视频通话

            +

            + +

    diff --git a/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita b/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita index 586572e78bb..db6d1b98843 100644 --- a/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita +++ b/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita @@ -10,7 +10,7 @@ - 0: (Default) Replaces a view. + 0:(默认) 清除已添加的所有视图、替换为新的视图。 diff --git a/en-US/dita/RTC-NG/API/rtc_api_data_type.dita b/en-US/dita/RTC-NG/API/rtc_api_data_type.dita index b661ecd04b8..b484daa0fd0 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_data_type.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_data_type.dita @@ -596,6 +596,7 @@
  • +
  • @@ -800,6 +801,7 @@
  • +
  • @@ -918,6 +920,7 @@
  • +
  • @@ -1038,6 +1041,7 @@
  • +
  • @@ -1125,6 +1129,7 @@
    Enum
      +
    • @@ -1262,7 +1267,6 @@
    • -
    • @@ -1362,268 +1366,269 @@
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      +
    • @@ -1711,6 +1716,7 @@
    • +
    • @@ -1758,11 +1764,11 @@
    • -
    • +
    • @@ -1895,7 +1901,6 @@
    • -
    • @@ -1905,6 +1910,7 @@
      +
    • @@ -1987,6 +1993,7 @@
    • +
    • @@ -2033,15 +2040,16 @@
    • -
    • +
      +
    • @@ -2125,6 +2133,7 @@
    • +
    • @@ -2171,15 +2180,16 @@
    • -
    • +
      +
    • @@ -2264,6 +2274,7 @@
    • +
    • @@ -2310,11 +2321,11 @@
    • -
    • +
    • 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 0082bf193c0..1f39febeed1 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_overview.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_overview.dita @@ -2163,6 +2163,10 @@ + + + + @@ -2231,9 +2235,9 @@ - + - (For Android and iOS only) + diff --git a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita index e24eca2c090..58e695faf6b 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita @@ -6,7 +6,9 @@
      Deprecated APIs

      The deprecated APIs are expected to be officially deleted in approximately one year. Agora recommends that you promptly replace them with the recommended APIs to avoid any impact on your online services.

      - + +
      +
      @@ -65,9 +67,9 @@ v4.2.0 - - - + + + v4.2.0 @@ -187,6 +189,8 @@
      + +
      @@ -240,9 +244,9 @@ v4.2.0 - - - + + + v4.2.0 @@ -356,10 +360,12 @@
      +
      Deleted APIs -

      +

      API 已在 SDK 中删除。 请使用推荐的替代 API 实现相关功能。

      +
      @@ -375,7 +381,7 @@ - + setVideoProfilesetVideoProfile:profile:swapWidthAndHeight: Sets the video encoder configuration. @@ -464,6 +470,7 @@
      +
      From cd9d35ab0da1fe6b4422e6b977206b0fab021254 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:27:12 +0800 Subject: [PATCH 4/8] New translations --- ...audioengine_muteallremoteaudiostreams.dita | 2 +- ...atialaudioengine_mutelocalaudiostream.dita | 2 +- ...tialaudioengine_muteremoteaudiostream.dita | 2 +- ...spatialaudioengine_updateselfposition.dita | 2 +- .../RTC-NG/API/api_imediaplayer_open.dita | 2 +- .../RTC-NG/API/api_imediaplayer_play.dita | 4 ++-- .../RTC-NG/API/api_imediaplayer_seek.dita | 4 ++-- .../API/api_imediaplayer_setloopcount.dita | 2 +- .../API/api_imediaplayer_setplayeroption.dita | 6 ++--- .../api_imediaplayer_setplayeroption2.dita | 2 +- .../RTC-NG/API/api_imediaplayer_stop.dita | 2 +- ...pi_irtcengine_adjustaudiomixingvolume.dita | 2 +- .../api_irtcengine_configrhythmplayer.dita | 4 ++-- .../API/api_irtcengine_createmediaplayer.dita | 2 +- .../api_irtcengine_enablespatialaudio.dita | 8 +++---- ...api_irtcengine_enablevideoimagesource.dita | 2 +- ...api_irtcengine_getaudiomixingduration.dita | 2 +- ...rtcengine_getaudiomixingplayoutvolume.dita | 4 ++-- .../API/api_irtcengine_joinchannel.dita | 2 +- .../API/api_irtcengine_joinchannel2.dita | 20 ++++++++--------- ...rtcengine_joinchannelwithuseraccount2.dita | 8 +++---- ...tcengine_joinchannelwithuseraccountex.dita | 6 ++--- .../API/api_irtcengine_sendstreammessage.dita | 2 +- ...irtcengine_setaudiomixingdualmonomode.dita | 8 +++---- ...api_irtcengine_setaudiomixingposition.dita | 2 +- ...ine_setcameraautofocusfacemodeenabled.dita | 4 ++-- ...ne_setdefaultaudioroutetospeakerphone.dita | 4 ++-- .../api_irtcengine_setenablespeakerphone.dita | 6 ++--- ...i_irtcengine_setheadphoneeqparameters.dita | 2 +- .../api_irtcengine_setlocalrendermode2.dita | 2 +- .../RTC-NG/API/api_irtcengine_setlogfile.dita | 4 ++-- .../API/api_irtcengine_setloglevel.dita | 4 ++-- ...i_irtcengine_setremotevideostreamtype.dita | 6 ++--- ...rtcengine_setrouteincommunicationmode.dita | 2 +- .../API/api_irtcengine_setupremotevideo.dita | 2 +- .../API/api_irtcengine_setvideoscenario.dita | 4 ++-- ...i_irtcengine_setvoiceconversionpreset.dita | 2 +- .../API/api_irtcengine_startrhythmplayer.dita | 4 ++-- .../API/api_irtcengine_takesnapshot.dita | 2 +- .../API/api_irtcengine_unloadeffect.dita | 2 +- .../API/api_irtcengineex_joinchannelex.dita | 12 +++++----- .../API/api_irtcengineex_takesnapshotex.dita | 2 +- ...thandler_onaudiosubscribestatechanged.dita | 22 +++++++++---------- ...gineeventhandler_onjoinchannelsuccess.dita | 8 +++---- ...eventhandler_onlocalvideostatechanged.dita | 6 ++--- ...thandler_onvideosubscribestatechanged.dita | 20 ++++++++--------- .../API/enum_audioprocessingchannels.dita | 2 +- .../enum_videoapplicationscenariotype.dita | 2 +- .../RTC-NG/API/enum_videoviewsetupmode.dita | 2 +- en-US/dita/RTC-NG/API/rtc_api_sunset.dita | 2 +- 50 files changed, 115 insertions(+), 115 deletions(-) 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 6396c46c790..e806233e854 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -31,7 +31,7 @@
      • Call this method after the or method.
      • -
      • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the method in .
      • +
      • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the method in .
      • After calling this method, you need to call and to update the spatial location of the local user and the remote user; otherwise, the settings in this method do not take effect.
    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 9ffb90c4390..c7e3d070c40 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -31,7 +31,7 @@
    • This method does not affect any ongoing audio recording, because it does not disable the audio capture device.
    • Call this method after the or method.
    • -
    • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the method in .
    • +
    • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the method in .
    • A successful call of this method triggers the and callbacks on the remote client.
    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 452d7a76dd3..efc5d6612b1 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita @@ -36,7 +36,7 @@
    • Call this method after the or method.
    • -
    • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the method in .
    • +
    • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the method in .

    diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita index 0c3d45ccb71..49626b15fa0 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -44,7 +44,7 @@ Details

    When this method is called under different classes, the effect is different:

    • When this method is called under the class, the SDK updates the spatial position of the local user to the Agora Spatial Audio Server. The Agora Spatial Audio Server calculates the user's spatial audio effect parameters according to the world coordinates and audio reception range of the local and remote users.
    • -
    • Under the class, this method needs to be used with . The SDK calculates the relative position between the local and remote users according to this method and the parameter settings in , and then calculates the user's spatial audio effect parameters.
    • +
    • Under the class, this method needs to be used with . The SDK calculates the relative position between the local and remote users according to this method and the parameter settings in , and then calculates the user's spatial audio effect parameters.

      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 4e8a5c9a6b0..a101154ea58 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita @@ -45,7 +45,7 @@
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita index 14e0ae4586f..aad566ba837 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita @@ -28,8 +28,8 @@
    Call timing -
    • 在调用 打开媒体文件、且收到 回调报告状态为 后,调用该方法。
    • -
    • 在调用 后调用该方法。
    +
    • Call this method after calling or opening a media file and receiving a callback reporting the status as .
    • +
    • Call the method after calling .
    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita index 417f04547d1..9466007025b 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -29,8 +29,8 @@
      -
    • 如果你在播放已经完成后(收到 回调报告播放状态为 )再调用 ,方法调用成功后,SDK 会从你指定的位置开始自动播放,此时你会收到 回调报告播放状态为
    • -
    • 如果你在播放暂停的情况下调用 ,调用成功后 SDK 会定位到你指定位置,如需播放,请调用
    • +
    • If you call after the playback has completed (upon receiving callback reporting playback status as or ), the SDK will play the media file from the specified position. At this point, you will receive callback reporting playback status as .
    • +
    • If you call while the playback is paused,upon successful call of this method, the SDK will seek to the specified position.To resume playback, call or .
    Call timing diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita index d9a71fe94ce..c835d759e55 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita @@ -38,7 +38,7 @@ loopCount The number of times the audio effect loops:
      -
    • ≥0:循环次数。 例如,设为 0 表示不循环播放,一共播放一次;设为 1 表示循环播放一次,一共播放 2 次。
    • +
    • ≥0: Number of times for playing. For example, setting it to 0 means no loop playback, playing only once; setting it to 1 means loop playback once, playing a total of 2 times.
    • -1: Play the audio file in an infinite loop.
    diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita index 4f75e9bd16d..9b99b105d13 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita @@ -2,7 +2,7 @@ <ph keyref="setPlayerOption"/> - 设置媒体播放器选项。 + Sets media player options. @@ -29,11 +29,11 @@
    Applicable scenarios -

    需要提供技术预览或特别定制功能的场景。 In general, you don't need to know about the option settings. You can use the default option settings of the media player.

    +

    Scenarios that require technical previews or special customization features. In general, you do not need to call this method; you can simply use the default options provided by the media player.

    Call timing -

    Call this method after the or method.

    +

    Call this method before the or method.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita index db89acad3a0..bc79bde8251 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita @@ -2,7 +2,7 @@ <ph keyref="setPlayerOption2"/> - 设置媒体播放器选项。 + Sets media player options. diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita index 4e2f41f76a7..0257a757cb3 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita @@ -27,7 +27,7 @@

    -

    调用该方法停止播放后,如需重新播放,需要调用 再次打开媒体资源。

    +

    After calling this method to stop playback, if you want to play again, you need to call or to open the media resource.

    Call timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita index 7ec9121bfbb..13e069e4145 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita @@ -27,7 +27,7 @@

    This method adjusts the audio mixing volume on both the local client and remote clients.

    - 调调用该方法不会影响 方法中设置的音效文件播放音量。 + This method does not affect the volume of the audio file set in the method.
    Call timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita index d4e572bf24f..7bb5c6982c8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita @@ -28,8 +28,8 @@
    • After calling , you can call this method to reconfigure the virtual metronome.
    • -
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • -
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    • +
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • +
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita index 3e3f32fc368..c1aa6fbc28a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita @@ -27,7 +27,7 @@

    -

    Before calling any APIs in the class, you need to call this method to create an instance of the media player. 如果你需要创建多个实例,可以多次调用该方法。

    +

    Before calling any APIs in the class, you need to call this method to create an instance of the media player. If you need to create multiple instances, you can call this method multiple times.

    Call timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita index db6034a10a0..783348d3c0c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita @@ -27,11 +27,11 @@
    Details -

    After enabling the spatial audio effect, you can call to set the spatial audio effect parameters of the remote user.

    +

    After enabling the spatial audio effect, you can call to set the spatial audio effect parameters of the remote user.

    • You can call this method either before or after joining a channel.
    • -
    • This method relies on the spatial audio dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • +
    • This method relies on the spatial audio dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    @@ -40,8 +40,8 @@ enabled Whether to enable the spatial audio effect:
      -
    • : Enable the spatial audio effect.
    • -
    • : Disable the spatial audio effect.
    • +
    • : Enable the spatial audio effect.
    • +
    • : Disable the spatial audio effect.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita index 98c7b5275de..d4ba07fa9f9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita @@ -39,7 +39,7 @@
    Call timing -

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

    +

    Call this method after joining a channel.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita index 582b2fa51f1..ee7635dce0c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita @@ -30,7 +30,7 @@
    Call timing -

    该方法需要在 之后,并收到 () 回调后调用。

    +

    This method needs to be called after and receives a () callback.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index 28a2cbaf462..8aab63d8107 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -26,11 +26,11 @@

    -

    This method helps troubleshoot audio volume‑related issues.

    +

    You can call this method to get the local playback volume of the mixed audio file, which helps in troubleshooting volume‑related issues.

    Call timing -

    该方法需要在 之后,并收到 () 回调后调用。

    +

    This method needs to be called after and receives a () callback.

    Restrictions 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 f8c07802c33..95b7b61e1ec 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita @@ -44,7 +44,7 @@

    -

    By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    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 ecf1b6671f0..2f93992d10e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -47,28 +47,28 @@

    -

    相比 ,该方法增加了 options 参数,用于设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    -

    该方法可以在加入频道时设置媒体选项,如是否在频道内发布音视频流等。 用户加入频道时是否自动订阅频道内所有远端音视频流。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    +

    Compared to , this method has the options parameter which is used to set media options, such as whether to publish audio and video streams within a channel, or whether to automatically subscribe to the audio and video streams of all remote users when joining a channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to other streams, set the options parameter or call the corresponding mute methods.

    +

    This method supports setting the media options when joining a channel, such as whether to publish audio and video streams within the channel. or whether to automatically subscribe to the audio and video streams of all remote users when joining a channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to other streams, set the options parameter or call the corresponding mute methods.

    Call timing -

    Call this method after .

    +

    Call this method after .

    Restrictions
      -
    • 该方法仅支持用户一次加入一个频道。
    • +
    • This method only supports users joining one channel at a time.
    • Users with different App IDs cannot call each other.
    • -
    • Ensure that the app ID you use to generate the token is the same app ID that you pass in the method; otherwise, you may fail to join the channel by token.
    • +
    • Before joining a channel, ensure that the app ID you use to generate a token is the same as that you pass in the method; otherwise, you may fail to join the channel with the token.
    Parameters @@ -77,8 +77,8 @@ token The token generated on your server for authentication. See .
      -
    • (推荐)如果你的项目开启了安全模式,即选择 APP ID + Token 为鉴权机制,则该参数为必填。
    • -
    • 如果你的项目仅开启调试模式,即选择 APP ID 为鉴权机制,则无需填入 Token 即可加入频道。 成功加入频道 24 小时后会自动退出该频道。
    • +
    • (Recommended) If your project has enabled the security mode (using APP ID and Token for authentication), this parameter is required.
    • +
    • If you have only enabled the testing mode (using APP ID for authentication), this parameter is optional. You will automatically exit the channel 24 hours after successfully joining in.
    • If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel. See .
    @@ -116,7 +116,7 @@
  • -2: The parameter is invalid. For example, the token is invalid, the uid parameter is not set to an integer, or the value of a member in is invalid. You need to pass in a valid parameter and join the channel again.
  • -3: Fails to initialize the object. You need to reinitialize the object.
  • -7: The object has not been initialized. You need to initialize the object before calling this method.
  • -
  • -8: The internal state of the object is wrong. The typical cause is that you call this method to join the channel without calling to stop the test after calling to start a call loop test. You need to call before calling this method.
  • +
  • -8: The internal state of the object is wrong. The typical cause is that after calling to start a call loop test, you call this method to join the channel without calling to stop the test. You need to call before calling this method.
  • -17: The request to join the channel is rejected. The typical cause is that the user is already in the channel. Agora recommends that you use the callback to see whether the user is in the channel. Do not call this method to join the channel unless you receive the (1) state.
  • -102: The channel name is invalid. You need to pass in a valid channel name in channelId to rejoin the channel.
  • -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita index 0d585d00fa6..b412dc29b4f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelWithUserAccount2" /> - 使用 User Account 和 Token 加入频道,并设置频道媒体选项。 + Join a channel using a User Account and Token and set the media options. @@ -48,9 +48,9 @@ ChannelMediaOptions? options});

    -

    调用该方法前,如果你未调用 注册一个 User Account,调用该方法加入频道时,SDK 会自动为你创建一个 User Account。 Call the method to register a user account, and then call the method to join a channel, which can shorten the time it takes to enter the channel.

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    -

    相比 ,该方法增加了 options 参数,用于在加入频道时设置媒体选项,如是否在频道内发布音视频流等。 By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    +

    Before calling this method, if you have not called to register a User Account, when you call this method to join a channel, the SDK will automatically create a User Account for you. Calling the method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    Compared to , this method has the options parameter which is used to set media options, such as whether to publish audio and video streams within a channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to other streams, set the options parameter or call the corresponding mute methods.

    To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita index bce7ab40ad3..4702e0fb2ee 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelWithUserAccountEx" /> - 使用 User Account 和 Token 加入频道,并设置频道媒体选项。 + Join a channel using a User Account and Token and set the media options. @@ -49,8 +49,8 @@

    -

    调用该方法前,如果你未调用 注册一个 User Account,调用该方法加入频道时,SDK 会自动为你创建一个 User Account。 Call the method to register a user account, and then call the method to join a channel, which can shorten the time it takes to enter the channel.

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. 如果想取消订阅,可以通过设置 optionsmediaOptions 参数或调用相应的 mute 方法实现。

    +

    Before calling this method, if you have not called to register a User Account, when you call this method to join a channel, the SDK will automatically create a User Account for you. Calling the method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. If you want to stop subscribing to the media stream of other users, you can set the optionsmediaOptions parameter or call the corresponding mute method.

    To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita index 53e3c172627..78240e76401 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -44,7 +44,7 @@

    A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

      -
    • 该方法需要在加入频道后、且调用 创建数据通道之后调用。
    • +
    • This method needs to be called after joining the channel and after calling to create data streams.
    • In live streaming scenarios, this method only applies to hosts.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita index 72d2586d237..990894f6b1a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita @@ -30,13 +30,13 @@
    Applicable scenarios -

    For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. 你可以根据实际需求进行设置:

      -
    • 如果你只需听伴奏,则用该方法设置音频文件的声道模式为左声道模式。
    • -
    • 如果你需要同时听伴奏和原唱,则调用该方法设置声道模式为混合模式。

    +

    For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the original singer's vocals.. You can set according to actual needs:

      +
    • If you only want to hear the accompaniment, use this method to set the audio file's channel mode to left channel mode.
    • +
    • If you need to hear both the accompaniment and the original vocals simultaneously, call this method to set the channel mode to mixed mode.

    Call timing -

    该方法需要在 之后,并收到 () 回调后调用。

    +

    This method needs to be called after and receives a () callback.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita index 2cc916c1c27..e0b5de95c15 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita @@ -30,7 +30,7 @@
    Call timing -

    该方法需要在 之后,并收到 () 回调后调用。

    +

    This method needs to be called after and receives a () callback.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita index 4fecc9791ea..2608f174e4d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita @@ -26,8 +26,8 @@

    -

    The SDK disables face autofocus by default. To set face autofocus, call this method.

    -

    The SDK enables face autofocus by default. To set face autofocus, call this method.

    +

    The SDK disables face autofocus by default. To enable face autofocus, call this method.

    +

    The SDK enables face autofocus by default. To disable face autofocus, call this method.

    By default, the SDK disables face autofocus on Android and enables face autofocus on iOS. To set face autofocus, call this method.

    This method is for Android and iOS only.
    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 ccb65460c7f..d70414d9afa 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -41,7 +41,7 @@

    You can call this method to change the default audio route.

    -

    在调用该方法设置默认音频路由后,系统实际音频路由会随着外接音频设备(有线耳机或蓝牙耳机)的连接发生改变。 See .

    +

    After calling this method to set the default audio route, the actual audio route of the system will change with the connection of external audio devices (wired headphones or Bluetooth headphones). See .

    Call timing @@ -53,7 +53,7 @@
    Parameters 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 826c31d2f22..f83a8b05c73 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -24,12 +24,12 @@ abstract setEnableSpeakerphone(speakerOn: boolean): number; Future<void> setEnableSpeakerphone(bool speakerOn);

    -

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

    +

    For the default audio route in different scenarios, see .

    This method is for Android and iOS only.
    Applicable scenarios -

    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.

    +

    If the default audio route of the SDK or the setting in cannot meet your requirements, you can call this method to switch the current audio route.

    Call timing @@ -44,7 +44,7 @@
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita index 450e0e2ef57..de6a6d8c159 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita @@ -34,7 +34,7 @@
    v4.1.0
    -

    In a spatial audio effect scenario, if the preset headphone equalization effect is not achieved after calling the method, you can further adjust the headphone equalization effect by calling this method.

    +

    In a spatial audio effect scenario, if the preset headphone equalization effect is not achieved after calling the method, you can further adjust the headphone equalization effect by calling this method.

    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita index 2644e924d40..3d704315db8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita @@ -74,7 +74,7 @@ mirrorMode mirror -

    The mirror mode of the local video view. See .This parameter does not take effect. 如需实现镜像显示效果,请在 Unreal Engine 中进行镜像设置。 +

    The mirror mode of the local video view. See .This parameter does not take effect. To achieve a mirror display effect, configure the mirror settings in Unreal Engine. This parameter is only effective when rendering custom videos. If you want to mirror the video view, set the scaleX of the GameObject attached to the video view as -1 or +1.

    For the local user:

    • (0): The SDK determines whether to enable the mirror mode. If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
    • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita index 60bd25458d7..c1c07a0a5a7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita @@ -29,14 +29,14 @@
      Deprecated:
      -
      该方法已废弃,请在调用 时通过 contextconfig 参数设置日志文件路径。
      +
      This method is deprecated. Set the log file path by configuring the contextconfig parameter when calling .

      Specifies an SDK output log file. The log file records all log data for the SDK’s operation.

    Call timing -

    该方法需要在 后立即调用,否则输出日志可能不完整。

    +

    This method needs to be called immediately after , otherwise the output log may be incomplete.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita index 1d8d103758c..33e81f5c085 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita @@ -30,7 +30,7 @@
    Deprecated:
    -
    该方法已废弃,请在调用 时通过 contextconfig 参数设置日志输出级别。
    +
    This method is deprecated. Set the log file level by configuring the contextconfig parameter when calling .

    Choose a level to see the logs preceding that level.

    @@ -40,7 +40,7 @@ level - 日志级别。 See . + The log level. See .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita index c383931f6c8..e33f1864264 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita @@ -42,9 +42,9 @@

    Depending on the default behavior of the sender and the specific settings when calling , the scenarios for the receiver calling this method are as follows:

      -
    • The SDK defaults to enabling low-quality video stream adaptive mode () on the sender side, meaning that the sender only transmits the high-quality video stream. Only the receiver with the host identity can call this method to initiate a small stream request. Once the sender receives the request, it will start automatically sending the small stream. At this point, all users in the channel can call this method to switch to small stream subscription mode.
    • -
    • 当发送端调用 并将 mode 设置为 (始终不发送小流),则调用该方法不生效。
    • -
    • 当发送端调用 并将 mode 设置为 (始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。

    +
  • The SDK defaults to enabling low-quality video stream adaptive mode () on the sender side, meaning that the sender only transmits the high-quality video stream. Only the receiver with the role of the host can call this method to initiate a low-quality video stream request. Once the sender receives the request, it starts automatically sending the low-quality video stream. At this point, all users in the channel can call this method to switch to low-quality video stream subscription mode.
  • +
  • If the sender calls and sets mode to (never send low-quality video stream), then calling this method will have no effect.
  • +
  • If the sender calls and sets mode to (always send low-quality video stream), both the host and audience receivers can call this method to switch to low-quality video stream subscription mode.
  • The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream.

    • You can call this method either before or after joining a channel.
    • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita index 13847d7bad2..67318b922ff 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita @@ -42,7 +42,7 @@
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita index 2240ec8aac6..eb5245fc475 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -37,7 +37,7 @@
  • In Flutter, you don't need to call this method. Use instead to render local and remote views.
  • If you need to implement native window rendering, use this method; if you only need to render video images in your Unity project, use the methods in the class instead.
  • To update the rendering or mirror mode of the remote video view during a call, use the method.
  • -
  • 当使用录制服务时,由于它不会发送视频流,App 无需为它绑定视图。 If your app does not recognize the placeholder client, bind the remote user to the view when the SDK triggers the callback.
  • +
  • When using the recording service, the app does not need to bind a view for it, as it does not send a video stream. If your app does not recognize the recording service, bind the remote user to the view when the SDK triggers the callback.
  • If you want to stop rendering the view, set view to and then call this method again to stop rendering and clear the rendering cache.
  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita index 77a04b49e0c..42dd2127e8c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita @@ -40,7 +40,7 @@ scenarioType - The type of video application scenario. See .

    (1) 适用于会议场景。 SDK 会针对该场景启用以下策略:

      + The type of video application scenario. See .

      (1) is suitable for meeting scenarios. The SDK automatically enables the following strategies:

      • In meeting scenarios where low-quality video streams are required to have a high bitrate, the SDK automatically enables multiple technologies used to deal with network congestions, to enhance the performance of the low-quality streams and to ensure the smooth reception by subscribers.
      • The SDK monitors the number of subscribers to the high-quality video stream in real time and dynamically adjusts its configuration based on the number of subscribers.
        • If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
        • @@ -72,7 +72,7 @@

        -

        (2) 适用于视频 1v1 通话场景。 针对该场景低延迟、高画质的体验要求,SDK 进行了策略调优,提升了画质、首帧出图、中低端机延迟及弱网流畅度等性能表现。

        +

        (2) is suitable for 1v1 video call scenarios. To meet the requirements for low latency and high-quality video in this scenario, the SDK optimizes its strategies, improving performance in terms of video quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under weak network conditions.

        diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita index 275f108c925..58c26bc505e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita @@ -26,7 +26,7 @@

    -

    Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting an audio effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios.

    +

    Call this method to set a preset voice changing effect for the local user who sends an audio stream. After setting the voice changing effect, all users in the channel can hear the effect. You can set different voice changing effects for the user depending on different scenarios.

    The applicable scenarios for each voice-changing effect can be referred to .

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita index d62198228fb..bf03491a9fc 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita @@ -38,8 +38,8 @@
      -
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • -
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    • +
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • +
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita b/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita index e31b7ad9d61..3103bd7f50b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita @@ -43,7 +43,7 @@
    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita index 1514c991857..3a843c5bf3c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita @@ -28,7 +28,7 @@

    -

    调用 将音效文件加载至内存后,如需释放该音效文件,请调用该方法。

    +

    After loading the audio effect file into memory using , if you need to release the audio effect file, call this method.

    Call timing diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita index 67cc8624798..f4755dd9b63 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita @@ -57,16 +57,16 @@
    Restrictions -

    If you are already in a channel, you cannot rejoin it with the same user ID.

    -

    Ensure that the app ID you use to generate the token is the same app ID that you pass in the method; otherwise, you may fail to join the channel by token.

    +

    If you are already in a channel, you cannot rejoin the channel with the same user ID.

    +

    Before joining a channel, ensure that the app ID you use to generate a token is the same as that you pass in the method; otherwise, you may fail to join the channel with the token.

    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita index 4f07bd7daef..8a75e5413f1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita @@ -2,7 +2,7 @@ <ph keyref="takeSnapshotEx"/> - 使用连接 ID 获取视频截图。 + Takes a snapshot of a video stream using connection ID. diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita index 9696fc35be1..cff19b8e345 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -81,14 +81,14 @@ elapseSinceLastState:(int)elapseSinceLastState;
  • (0): The initial subscribing state after joining the channel.
  • (1): Fails to subscribe to the remote stream. Possible reasons:
    • The remote user:
        -
      • 调用 () 停止发送本地音频流。
      • -
      • 调用 关闭本地音频模块。
      • -
      • 调用 () 关闭本地音频采集。
      • +
      • Calls () to stop sending local audio stream.
      • +
      • Calls to disable the local audio module.
      • +
      • Calls () to disable the local audio capture.
      • The role of the remote user is audience.
    • -
    • The local user calls the following methods to stop receiving the remote media stream:
        -
      • 调用 时设置 autoSubscribeAudio,不自动订阅任何音频流。
      • -
      • Call () or () to stop receiving the remote audio stream.
      • +
      • The local user calls the following methods to stop receiving the remote audio stream:
          +
        • Sets autoSubscribeAudio to when calling or , which means not to automatically subscribe to any audio streams.
        • +
        • 调用 , 停止接收远端音频流。
    • (2): Subscribing.
    • @@ -102,13 +102,13 @@ elapseSinceLastState:(int)elapseSinceLastState;
    • (0): The initial subscribing state after joining the channel.
    • (1): Fails to subscribe to the remote stream. Possible reasons:
      • The remote user:
          -
        • 调用 () 停止发送本地音频流。
        • -
        • 调用 关闭本地音频模块。
        • -
        • 调用 () 关闭本地音频采集。
        • +
        • Calls () to stop sending local audio stream.
        • +
        • Calls to disable the local audio module.
        • +
        • Calls () to disable the local audio capture.
        • The role of the remote user is audience.
      • -
      • The local user calls the following methods to stop receiving the remote media stream:
          -
        • 调用 时设置 autoSubscribeAudio,不自动订阅任何音频流。
        • +
        • The local user calls the following methods to stop receiving the remote audio stream:
            +
          • Sets autoSubscribeAudio to when calling or , which means not to automatically subscribe to any audio streams.
          • Call () or () to stop receiving the remote audio stream.
      • diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index 5c925002992..a21e0a11ff3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -37,10 +37,10 @@
  • Trigger timing -

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    -

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    -

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    -

    当你调用 方法成功加入频道后,SDK 会触发该回调。

    +

    The SDK triggers this callback when you call , , , , or to join a channel.

    +

    The SDK triggers this callback when you call , , , or to join a channel.

    +

    The SDK triggers this callback when you call , , or to join a channel.

    +

    The SDK triggers this callback when you call , or to join a channel.

    Restrictions 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 b66821a446b..58cefb31c77 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -96,11 +96,11 @@
  • (4): The local video capture failed. Prompt the user to check whether the video capture device is working properly, whether the camera is used by another app, or try to rejoin the channel.
  • (5): The local video encoding fails.
  • (8): Fails to find a local video capture device. Remind the user to check whether the camera is connected to the device properly or the camera is working properly, and then to rejoin the channel.
  • -
  • (14):视频采集中断。 Possible reasons include the following:
      +
    • (14): Video capture is interrupted. Possible reasons include the following:
      • The camera is being used by another app. Prompt the user to check if the camera is being used by another app.
      • -
      • The current app has been switched to the background. You can use foreground services to notify the operating system and ensure that the app can still collect video when it switches to the background. See .
      • +
      • The current app has been switched to the background. You can use foreground services to notify the operating system and ensure that the app can still collect video when it switches to the background. See .
    • -
    • (15):视频采集设备出错。 Prompt the user to close and restart the camera to restore functionality. If this operation does not solve the problem, check if the camera has a hardware failure.
    • +
    • (15): The video capture device encounters an error. Prompt the user to close and restart the camera to restore functionality. If this operation does not solve the problem, check if the camera has a hardware failure.

    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita index 7e41c32d997..05e69a4527b 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita @@ -82,14 +82,14 @@
  • (0): The initial subscribing state after joining the channel.
  • (1): Fails to subscribe to the remote stream. Possible reasons:
    • The remote user:
        -
      • 调用 () 停止发送本地视频流。
      • -
      • 调用 关闭本地视频模块。
      • -
      • You can call () to disable the local video capture.
      • +
      • Calls () to stop sending local video stream.
      • +
      • Calls to disable the local video module.
      • +
      • Calls () to disable the local video capture.
      • The role of the remote user is audience.
    • The local user calls the following methods to stop receiving the remote media stream:
        -
      • 调用 时设置 autoSubscribeVideo,不自动订阅任何视频流。
      • -
      • 调用 时设置 mutedmute,停止接收远端视频流。
      • +
      • SetsautoSubscribeVideo to when calling or , which means not to automatically subscribe to any video streams.
      • +
      • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
  • (2): Subscribing.
  • @@ -103,14 +103,14 @@
  • (0): The initial subscribing state after joining the channel.
  • (1): Fails to subscribe to the remote stream. Possible reasons:
    • The remote user:
        -
      • 调用 () 停止发送本地视频流。
      • -
      • 调用 关闭本地视频模块。
      • -
      • You can call () to disable the local video capture.
      • +
      • Calls () to stop sending local video stream.
      • +
      • Calls to disable the local video module.
      • +
      • Calls () to disable the local video capture.
      • The role of the remote user is audience.
    • The local user calls the following methods to stop receiving the remote media stream:
        -
      • 调用 时设置 autoSubscribeVideo,不自动订阅任何视频流。
      • -
      • 调用 时设置 mutedmute,停止接收远端视频流。
      • +
      • SetsautoSubscribeVideo to when calling or , which means not to automatically subscribe to any video streams.
      • +
      • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
  • (2): Subscribing.
  • diff --git a/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita b/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita index b0b5b3a3672..c4a8b9ffc69 100644 --- a/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita +++ b/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita @@ -16,7 +16,7 @@

    The stereo setting only takes effect when the SDK uses the media volume.

    To learn more about the difference between media volume and call volume, see .

    -
  • 在 iOS 上,实现立体声 iOS 系统版本为 14.0 及以上。 最低设备要求如下:
      +
    • On iOS, the minimum version of system for stereo sound is 14.0. The minimum device requirements are as follows:
      • iPhone XS
      • iPhone XS Max
      • iPhone XR
      • diff --git a/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita b/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita index ba79160870e..76a864aecff 100644 --- a/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita +++ b/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita @@ -29,7 +29,7 @@ -

        2: 1v1 视频通话

        +

        2: 1v1 video call scenario.

        diff --git a/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita b/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita index db6d1b98843..e620f525a2e 100644 --- a/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita +++ b/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita @@ -10,7 +10,7 @@ - 0:(默认) 清除已添加的所有视图、替换为新的视图。 + 0: (Default) Clear all added views and replace with new view. diff --git a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita index 58e695faf6b..fcb4c9403d4 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_sunset.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_sunset.dita @@ -364,7 +364,7 @@

  • Deleted APIs -

    API 已在 SDK 中删除。 请使用推荐的替代 API 实现相关功能。

    +

    The APIs have been deleted from the SDK. Use the recommended alternative APIs to implement the related functionality.

    From 8059dfe45e6ff6ed593982ad9929721ff07eb445 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:48:30 +0800 Subject: [PATCH 5/8] New translations --- ...k_irtcengineeventhandler_onaudiosubscribestatechanged.dita | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita index cff19b8e345..a16d21497de 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -88,7 +88,7 @@ elapseSinceLastState:(int)elapseSinceLastState;
  • The local user calls the following methods to stop receiving the remote audio stream:
    • Sets autoSubscribeAudio to when calling or , which means not to automatically subscribe to any audio streams.
    • -
    • 调用 , 停止接收远端音频流。
    • +
    • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
  • (2): Subscribing.
  • @@ -109,7 +109,7 @@ elapseSinceLastState:(int)elapseSinceLastState;
  • The local user calls the following methods to stop receiving the remote audio stream:
    • Sets autoSubscribeAudio to when calling or , which means not to automatically subscribe to any audio streams.
    • -
    • Call () or () to stop receiving the remote audio stream.
    • +
    • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
  • (2): Subscribing.
  • From 7cd82d7614a16479ed55195374d76e7464ea86a6 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:53:10 +0800 Subject: [PATCH 6/8] New translations --- .../API/api_ibasespatialaudioengine_updateselfposition.dita | 2 +- ...k_irtcengineeventhandler_onaudiosubscribestatechanged.dita | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita index 49626b15fa0..454b39132b9 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -43,7 +43,7 @@
    Details

    When this method is called under different classes, the effect is different:

      -
    • When this method is called under the class, the SDK updates the spatial position of the local user to the Agora Spatial Audio Server. The Agora Spatial Audio Server calculates the user's spatial audio effect parameters according to the world coordinates and audio reception range of the local and remote users.
    • +
    • When this method is called under the class, the SDK updates the spatial position of the local user to the Agora Spatial Audio Server. The Agora Spatial Audio Server calculates the user's spatial audio effect parameters according to the world coordinates and audio reception range of the local and remote users.
    • Under the class, this method needs to be used with . The SDK calculates the relative position between the local and remote users according to this method and the parameter settings in , and then calculates the user's spatial audio effect parameters.

    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita index a16d21497de..ddf2b15050d 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -88,7 +88,7 @@ elapseSinceLastState:(int)elapseSinceLastState;
  • The local user calls the following methods to stop receiving the remote audio stream:
    • Sets autoSubscribeAudio to when calling or , which means not to automatically subscribe to any audio streams.
    • -
    • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
    • +
    • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
  • (2): Subscribing.
  • @@ -109,7 +109,7 @@ elapseSinceLastState:(int)elapseSinceLastState;
  • The local user calls the following methods to stop receiving the remote audio stream:
    • Sets autoSubscribeAudio to when calling or , which means not to automatically subscribe to any audio streams.
    • -
    • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
    • +
    • Sets mutedmute to when calling or , which means stopping receiving the remote video streams.
  • (2): Subscribing.
  • From 026f0cc85688251505a7614761e7048071e3a265 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Fri, 16 Aug 2024 15:49:50 +0800 Subject: [PATCH 7/8] New translations --- en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita | 2 +- .../RTC-NG/API/api_imediaplayer_setloopcount.dita | 2 +- .../API/api_imediaplayer_setspatialaudioparams.dita | 2 +- .../API/api_irtcengine_configrhythmplayer.dita | 2 +- .../API/api_irtcengine_getaudiomixingduration.dita | 2 +- .../api_irtcengine_getaudiomixingplayoutvolume.dita | 2 +- .../dita/RTC-NG/API/api_irtcengine_joinchannel2.dita | 2 +- .../api_irtcengine_joinchannelwithuseraccount.dita | 2 +- .../api_irtcengine_joinchannelwithuseraccount2.dita | 10 +++++----- .../api_irtcengine_joinchannelwithuseraccountex.dita | 8 ++++---- .../API/api_irtcengine_registerlocaluseraccount.dita | 2 +- .../RTC-NG/API/api_irtcengine_sendstreammessage.dita | 2 +- .../api_irtcengine_setaudiomixingdualmonomode.dita | 2 +- .../API/api_irtcengine_setaudiomixingposition.dita | 2 +- .../RTC-NG/API/api_irtcengine_startrhythmplayer.dita | 2 +- .../RTC-NG/API/api_irtcengineex_joinchannelex.dita | 2 +- ...ineeventhandler_onaudiosubscribestatechanged.dita | 12 ++++++------ ...ineeventhandler_onvideosubscribestatechanged.dita | 12 ++++++------ en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita | 2 +- 19 files changed, 36 insertions(+), 36 deletions(-) diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita index 9466007025b..d1e4ff2afaa 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -30,7 +30,7 @@
    • If you call after the playback has completed (upon receiving callback reporting playback status as or ), the SDK will play the media file from the specified position. At this point, you will receive callback reporting playback status as .
    • -
    • If you call while the playback is paused,upon successful call of this method, the SDK will seek to the specified position.To resume playback, call or .
    • +
    • If you call while the playback is paused, upon successful call of this method, the SDK will seek to the specified position. To resume playback, call or .
    Call timing diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita index c835d759e55..f281bf20dfa 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita @@ -38,7 +38,7 @@ loopCount The number of times the audio effect loops:
      -
    • ≥0: Number of times for playing. For example, setting it to 0 means no loop playback, playing only once; setting it to 1 means loop playback once, playing a total of 2 times.
    • +
    • ≥0: Number of times for playing. For example, setting it to 0 means no loop playback, playing only once; setting it to 1 means loop playback once, playing a total of twice.
    • -1: Play the audio file in an infinite loop.
    diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita index 2a1ab978100..9ceccac90b4 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita @@ -28,7 +28,7 @@
    Details

    After successfully setting the spatial audio effect parameters of the media player, the SDK enables the spatial audio effect for the media player, and the local user can hear the media resources with a sense of space.

    -

    If you need to disable the spatial audio effect for the media player, set the params parameter to null.

    +

    If you need to disable the spatial audio effect for the media player, set the params parameter to null.

    Parameters diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita index 7bb5c6982c8..c235c42c743 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita @@ -29,7 +29,7 @@
    • After calling , you can call this method to reconfigure the virtual metronome.
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • -
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    • +
    • By default, the sound of the virtual metronome is published in the channel. If you want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita index ee7635dce0c..a7faed131c4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita @@ -30,7 +30,7 @@
    Call timing -

    This method needs to be called after and receives a () callback.

    +

    Call this method after and receiving the () callback.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index 8aab63d8107..9981ca0e14a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -30,7 +30,7 @@
    Call timing -

    This method needs to be called after and receives a () callback.

    +

    Call this method after and receiving the () callback.

    Restrictions 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 2f93992d10e..150adb65c1b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -59,7 +59,7 @@
    • This method only supports users joining one channel at a time.
    • Users with different App IDs cannot call each other.
    • -
    • Before joining a channel, ensure that the app ID you use to generate a token is the same as that you pass in the method; otherwise, you may fail to join the channel with the token.
    • +
    • Before joining a channel, ensure that the App ID you use to generate a token is the same as that you pass in the method; otherwise, you may fail to join the channel with the token.

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billings. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita index b412dc29b4f..860dcaf0fe7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelWithUserAccount2" /> - Join a channel using a User Account and Token and set the media options. + Join a channel using a user account and token, and set the media options. @@ -48,10 +48,10 @@ ChannelMediaOptions? options});

    -

    Before calling this method, if you have not called to register a User Account, when you call this method to join a channel, the SDK will automatically create a User Account for you. Calling the method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel.

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    Before calling this method, if you have not called to register a user account, when you call this method to join a channel, the SDK automatically creates a user account for you. Calling the method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billings. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    Compared to , this method has the options parameter which is used to set media options, such as whether to publish audio and video streams within a channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To stop subscribing to other streams, set the options parameter or call the corresponding mute methods.

    - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type. + To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a UID, then ensure all the other users use the UID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    @@ -61,7 +61,7 @@ Related callbacks

    After the user successfully joins the channel, the SDK triggers the following callbacks:

    • The local client: , and callbacks.
    • -
    • The remote client: The callback, if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
    • +
    • The remote client: The and callbacks if a user joins the channel in the COMMUNICATION profile, or if a host joins the channel in the LIVE_BROADCASTING profile.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita index 4702e0fb2ee..2fd687dd6cb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita @@ -2,7 +2,7 @@ <ph keyref="joinChannelWithUserAccountEx" /> - Join a channel using a User Account and Token and set the media options. + Join a channel using a user account and token, and set the media options. @@ -49,9 +49,9 @@

    -

    Before calling this method, if you have not called to register a User Account, when you call this method to join a channel, the SDK will automatically create a User Account for you. Calling the method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel.

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. If you want to stop subscribing to the media stream of other users, you can set the optionsmediaOptions parameter or call the corresponding mute method.

    - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type. +

    Before calling this method, if you have not called to register a user account, when you call this method to join a channel, the SDK automatically creates a user account for you. Calling the method to register a user account, and then calling this method to join a channel can shorten the time it takes to enter the channel.

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billings. If you want to stop subscribing to the media stream of other users, you can set the optionsmediaOptions parameter or call the corresponding mute method.

    + To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a UID, then ensure all the other users use the UID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita index 376482cd838..f32d9e5e20e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita @@ -40,7 +40,7 @@
    • Ensure that the userAccount is unique in the channel.
    • -
    • To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    • +
    • To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a UID, then ensure all the other users use the UID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita index 78240e76401..6496bd2d773 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -44,7 +44,7 @@

    A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

      -
    • This method needs to be called after joining the channel and after calling to create data streams.
    • +
    • This method needs to be called after and joining the channel.
    • In live streaming scenarios, this method only applies to hosts.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita index 990894f6b1a..22e509b6447 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita @@ -36,7 +36,7 @@
    Call timing -

    This method needs to be called after and receives a () callback.

    +

    Call this method after and receiving the () callback.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita index e0b5de95c15..f07006c774f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita @@ -30,7 +30,7 @@
    Call timing -

    This method needs to be called after and receives a () callback.

    +

    Call this method after and receiving the () callback.

    Restrictions diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita index bf03491a9fc..8f554cdb2a1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita @@ -39,7 +39,7 @@
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • -
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    • +
    • By default, the sound of the virtual metronome is published in the channel. If you want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita index f4755dd9b63..d181cebd496 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita @@ -58,7 +58,7 @@
    Restrictions

    If you are already in a channel, you cannot rejoin the channel with the same user ID.

    -

    Before joining a channel, ensure that the app ID you use to generate a token is the same as that you pass in the method; otherwise, you may fail to join the channel with the token.

    +

    Before joining a channel, ensure that the App ID you use to generate a token is the same as that you pass in the method; otherwise, you may fail to join the channel with the token.

    Applicable scenarios -

    For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the original singer's vocals.. You can set according to actual needs:

      +

      For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the original singer's vocals. You can set according to actual needs:

      • If you only want to hear the accompaniment, use this method to set the audio file's channel mode to left channel mode.
      • If you need to hear both the accompaniment and the original vocals simultaneously, call this method to set the channel mode to mixed mode.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita index e33f1864264..0d4e0d001a0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita @@ -42,7 +42,7 @@

    Depending on the default behavior of the sender and the specific settings when calling , the scenarios for the receiver calling this method are as follows:

      -
    • The SDK defaults to enabling low-quality video stream adaptive mode () on the sender side, meaning that the sender only transmits the high-quality video stream. Only the receiver with the role of the host can call this method to initiate a low-quality video stream request. Once the sender receives the request, it starts automatically sending the low-quality video stream. At this point, all users in the channel can call this method to switch to low-quality video stream subscription mode.
    • +
    • The SDK enables low-quality video stream adaptive mode () on the sender side by default, meaning only the high-quality video stream is transmitted. Only the receiver with the role of the host can call this method to initiate a low-quality video stream request. Once the sender receives the request, it starts automatically sending the low-quality video stream. At this point, all users in the channel can call this method to switch to low-quality video stream subscription mode.
    • If the sender calls and sets mode to (never send low-quality video stream), then calling this method will have no effect.
    • If the sender calls and sets mode to (always send low-quality video stream), both the host and audience receivers can call this method to switch to low-quality video stream subscription mode.

    The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita index eb5245fc475..149caf58901 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -37,7 +37,7 @@
  • In Flutter, you don't need to call this method. Use instead to render local and remote views.
  • If you need to implement native window rendering, use this method; if you only need to render video images in your Unity project, use the methods in the class instead.
  • To update the rendering or mirror mode of the remote video view during a call, use the method.
  • -
  • When using the recording service, the app does not need to bind a view for it, as it does not send a video stream. If your app does not recognize the recording service, bind the remote user to the view when the SDK triggers the callback.
  • +
  • When using the recording service, the app does not need to bind a view, as it does not send a video stream. If your app does not recognize the recording service, bind the remote user to the view when the SDK triggers the callback.
  • If you want to stop rendering the view, set view to and then call this method again to stop rendering and clear the rendering cache.
  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita index 58c26bc505e..bf7b4dabe76 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita @@ -26,7 +26,7 @@

    -

    Call this method to set a preset voice changing effect for the local user who sends an audio stream. After setting the voice changing effect, all users in the channel can hear the effect. You can set different voice changing effects for the user depending on different scenarios.

    +

    Call this method to set a preset voice changing effect for the local user who publishes an audio stream in a channel. After setting the voice changing effect, all users in the channel can hear the effect. You can set different voice changing effects for the user depending on different scenarios.

    The applicable scenarios for each voice-changing effect can be referred to .