diff --git a/.github/workflows/python-app-sync-proto.yml b/.github/workflows/python-app-sync-proto.yml index 02ccb46a0fe..a92a4dbaff3 100644 --- a/.github/workflows/python-app-sync-proto.yml +++ b/.github/workflows/python-app-sync-proto.yml @@ -9,7 +9,7 @@ on: push: branches: - master - # - 'release/**' + - 'release/**' jobs: build: runs-on: ubuntu-latest diff --git a/dita/RTC-NG/API/api_canvas_addview.dita b/dita/RTC-NG/API/api_canvas_addview.dita deleted file mode 100644 index 2f66fb4e656..00000000000 --- a/dita/RTC-NG/API/api_canvas_addview.dita +++ /dev/null @@ -1,78 +0,0 @@ - - - - <ph keyref="AddView"/> - 添加渲染视图。 - - - - - - - - -
-

- public void addView(View view, ViewConfig viewConfig) throws RteException; - - - (BOOL)addView:(AgoraRteView * _Nonnull)view config:(AgoraRteViewConfig* _Nullable)config error:(AgoraRteError* _Nullable)error; - bool AddView(View *view, ViewConfig *config, rte::Error *err) - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-
-
- 适用场景 -

当你需要使用播放器播放视频,你可以调用该方法将一个视图(view)添加到视频渲染器中,以便显示视频内容。

-
-
- 调用时机 -

该方法需要在 之前调用。

-
-
- 调用限制 -

当前仅支持添加一个视图。

-
-
- 参数 - - - view - HWND 窗口句柄值。 - SurfaceView 对象。 - UIView 对象。 - NSView 对象。 - - - config - View 对象的设置,目前请传空。 - - - - - -
-
- <ph keyref="return-section-title"/> -

方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

-

添加视图是否成功:

    -
  • :添加视图成功。
  • -
  • :添加视图失败。
  • -
-

-
- -

-
-
-
diff --git a/dita/RTC-NG/API/api_canvas_canvas.dita b/dita/RTC-NG/API/api_canvas_canvas.dita deleted file mode 100644 index 7505de86e38..00000000000 --- a/dita/RTC-NG/API/api_canvas_canvas.dita +++ /dev/null @@ -1,56 +0,0 @@ - - - - <ph keyref="Canvas_Canvas"/> - 构造一个 Canvas 对象。 - - - - - - - - -
-

- public Canvas(Rte rte, CanvasInitialConfig config); - - - (instancetype _Nonnull)initWithRte:(AgoraRte* _Nonnull)rte initialConfig:(AgoraRteCanvasInitialConfig * _Nullable)config; - Canvas(Rte *rte, CanvasInitialConfig *initial_config); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-
-
- 调用时机 -

该方法需要在 之后调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - - - - - initial_config - config - Canvas 的对象配置,目前可传空。 - -
-
-
diff --git a/dita/RTC-NG/API/api_canvas_getconfigs.dita b/dita/RTC-NG/API/api_canvas_getconfigs.dita deleted file mode 100644 index 95d97bed153..00000000000 --- a/dita/RTC-NG/API/api_canvas_getconfigs.dita +++ /dev/null @@ -1,61 +0,0 @@ - - - - <ph keyref="GetConfigs_Canvas"/> - 获取当前的播放器视频渲染配置。 - - - - - - - - -
-

- public void getConfigs(CanvasConfig config) throws RteException; - - - (BOOL)getConfigs:(AgoraRteCanvasConfig* _Nonnull)config error:(AgoraRteError* _Nullable)error; - bool GetConfigs(CanvasConfig *config, Error *err); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-
-
- 调用时机 -

该方法需要在 之后调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - - - - - - - -
-
-
- -

-
- - diff --git a/dita/RTC-NG/API/api_canvas_removeview.dita b/dita/RTC-NG/API/api_canvas_removeview.dita deleted file mode 100644 index 256d1fabca9..00000000000 --- a/dita/RTC-NG/API/api_canvas_removeview.dita +++ /dev/null @@ -1,69 +0,0 @@ - - - - <ph keyref="RemoveView"/> - 移除渲染视图。 - - - - - - - - -
-

- public void removeView(View view, ViewConfig viewConfig) throws RteException; - - - (BOOL)removeView:(AgoraRteView * _Nonnull)view config:(AgoraRteViewConfig* _Nullable)config error:(AgoraRteError* _Nullable)error; - bool RemoveView(View *view, ViewConfig *config, rte::Error *err); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

当你调用 添加视图后,如果你需要移除渲染视图,可调用此方法。

-
-
- 调用时机 -

该方法需在 后调用。

-
-
- 调用限制 -

一次只能移除一个视图。

-
-
- 参数 - - - view - 需要移除的视图对象。 - - - - - - - - - -
-
- <ph keyref="return-section-title"/> -

方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

-

移除视图是否成功:

    -
  • :移除视图成功。
  • -
  • :移除视图失败。
  • -
-

-
- - diff --git a/dita/RTC-NG/API/api_canvas_setconfigs.dita b/dita/RTC-NG/API/api_canvas_setconfigs.dita deleted file mode 100644 index 42b6d3a26a3..00000000000 --- a/dita/RTC-NG/API/api_canvas_setconfigs.dita +++ /dev/null @@ -1,61 +0,0 @@ - - - - <ph keyref="SetConfigs_Canvas"/> - 设置播放器视频渲染配置。 - - - - - - - - -
-

- public void setConfigs(CanvasConfig config) throws RteException; - - - (BOOL)setConfigs:(AgoraRteCanvasConfig* _Nonnull)config error:(AgoraRteError* _Nullable)error; - bool SetConfigs(CanvasConfig *config, Error *err); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-

-
- 调用时机 -

该方法需要在 之前调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - config - Canvas 对象的设置,详见 - - - - - -
-
-
- -

-
- - diff --git a/dita/RTC-NG/API/api_canvasconfig_getmirrormode.dita b/dita/RTC-NG/API/api_canvasconfig_getmirrormode.dita deleted file mode 100644 index c1c8ccc2652..00000000000 --- a/dita/RTC-NG/API/api_canvasconfig_getmirrormode.dita +++ /dev/null @@ -1,53 +0,0 @@ - - - - <ph keyref="GetMirrorMode"/> - 获取当前设置的镜像模式。 - - - - - - - - -
-

- public Constants.VideoMirrorMode getVideoMirrorMode() throws RteException ; - - - (AgoraRteVideoMirrorMode)videoMirrorMode:(AgoraRteError * _Nullable)error; - VideoMirrorMode GetMirrorMode(Error *err = nullptr); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-

-
-
- 调用限制 -

无。

-
-
- <ph props="cpp apple framework">参数</ph> - - - - - -
-
- <ph keyref="return-section-title"/> -

当前设置的镜像模式,详见

-
-
-
diff --git a/dita/RTC-NG/API/api_canvasconfig_getrendermode.dita b/dita/RTC-NG/API/api_canvasconfig_getrendermode.dita deleted file mode 100644 index 94819569129..00000000000 --- a/dita/RTC-NG/API/api_canvasconfig_getrendermode.dita +++ /dev/null @@ -1,59 +0,0 @@ - - - - <ph keyref="GetRenderMode"/> - 获取当前设置的视频渲染模式。 - - - - - - - - -
-

- public Constants.VideoRenderMode getVideoRenderMode() throws RteException ; - - - (AgoraRteVideoRenderMode)videoRenderMode:(AgoraRteError * _Nullable)error; - VideoRenderMode GetRenderMode(Error *err = nullptr) - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-
-
- 调用时机 -

该方法需要在 之后调用。

-
-
- 调用限制 -

无。

-
-
- <ph props="cpp apple framework">参数</ph> - - - - - -
-
- <ph keyref="return-section-title"/> -

当前设置的视频渲染模式,详见

-
-
- -

-
-
-
diff --git a/dita/RTC-NG/API/api_canvasconfig_setmirrormode.dita b/dita/RTC-NG/API/api_canvasconfig_setmirrormode.dita deleted file mode 100644 index 14dde9d2b1b..00000000000 --- a/dita/RTC-NG/API/api_canvasconfig_setmirrormode.dita +++ /dev/null @@ -1,59 +0,0 @@ - - - - <ph keyref="SetMirrorMode"/> - 设置视频的镜像模式。 - - - - - - - - -
-

- public void setVideoMirrorMode(Constants.VideoMirrorMode mode) throws RteException ; - - - (void)setVideoMirrorMode:(AgoraRteVideoMirrorMode)mode error:(AgoraRteError* _Nullable)error; - void SetMirrorMode(VideoMirrorMode mode, Error *err = nullptr); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-
-
- 调用时机 -

该方法需要在 之前调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - mode - 镜像模式,详见 。默认为 ,即由 SDK 决定镜像模式。默认关闭远端用户的镜像模式。 - - - - - -
-
- -

-
-
-
diff --git a/dita/RTC-NG/API/api_canvasconfig_setrendermode.dita b/dita/RTC-NG/API/api_canvasconfig_setrendermode.dita deleted file mode 100644 index 4df9a6f1b20..00000000000 --- a/dita/RTC-NG/API/api_canvasconfig_setrendermode.dita +++ /dev/null @@ -1,57 +0,0 @@ - - - - <ph keyref="SetRenderMode_CanvasConfig"/> - 设置视频的渲染模式。 - - - - - - - - -
-

- public void setVideoRenderMode(Constants.VideoRenderMode mode) throws RteException ; - - - (void)setVideoMirrorMode:(AgoraRteVideoMirrorMode)mode error:(AgoraRteError* _Nullable)error; - void SetRenderMode(VideoRenderMode mode, Error *err = nullptr); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-

-
- 调用时机 -

该方法需要在 之前调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - mode - 渲染模式,详见 。默认的渲染模式为 ,即视频尺寸等比缩放,优先保证视窗被填满。 - - - - - -
-
- - diff --git a/dita/RTC-NG/API/api_config_getappid.dita b/dita/RTC-NG/API/api_config_getappid.dita deleted file mode 100644 index a31420f4b07..00000000000 --- a/dita/RTC-NG/API/api_config_getappid.dita +++ /dev/null @@ -1,56 +0,0 @@ - - - - <ph keyref="GetAppId"/> - 获取设置的 App ID。 - - - - - - - - -
-

- public String getAppId() throws RteException; - - - (NSString* _Nullable)appId:( AgoraRteError * _Nullable)error; - const char* GetAppId(Error *err); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-

-
- 调用限制 -

无。

-
-
- <ph props="cpp apple framework">参数</ph> - - - - - -
-
- <ph keyref="return-section-title"/> -

方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

-
    -
  • 方法调用成功,返回设置的 App ID。
  • -
  • 方法调用失败,返回空字符串。
  • -
-
- - diff --git a/dita/RTC-NG/API/api_config_getjsonparameter.dita b/dita/RTC-NG/API/api_config_getjsonparameter.dita deleted file mode 100644 index 97215256903..00000000000 --- a/dita/RTC-NG/API/api_config_getjsonparameter.dita +++ /dev/null @@ -1,64 +0,0 @@ - - - - <ph keyref="GetJsonParameter_Config"/> - 获取已设置的 SDK JSON 配置信息。 - - - - - - - - -
-

- public String getJsonParameter() throws RteException; - - - (NSString * _Nullable)jsonParameter:(AgoraRteError * _Nullable)error; - std::string GetJsonParameter(Error *err = nullptr) - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

当你调用 设置 JSON 配置信息后,你可以调用该方法获取已设置的配置信息。

-
-
- 调用时机 -

该方法需要在 之后调用。

-
-
- 调用限制 -

无。

-
-
- <ph props="cpp apple framework">参数</ph> - - - - - -
-
- <ph keyref="return-section-title"/> -

方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

-
    -
  • 方法调用成功,返回设置的 JSON 配置信息。
  • -
  • 方法调用失败,返回空字符串。
  • -
-

设置的 JSON 配置信息。

-
- -

-
-
-
diff --git a/dita/RTC-NG/API/api_config_setappid.dita b/dita/RTC-NG/API/api_config_setappid.dita deleted file mode 100644 index 0d7abe5670b..00000000000 --- a/dita/RTC-NG/API/api_config_setappid.dita +++ /dev/null @@ -1,58 +0,0 @@ - - - - <ph keyref="SetAppId"/> - 设置 App ID。 - - - - - - - - -
-

- public void setAppId(String appId) throws RteException; - - - (void)setAppId:(NSString * _Nullable)appId error:(AgoraRteError * _Nullable)error; - void SetAppId(const char *app_id, Error *err); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-
-
- 调用时机 -

该方法需要在 之前调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - appId - 你的项目的 App ID,在声网控制台获取。 - - - - - -
-
- 异常 -

调用该方法失败时,SDK 会抛出 异常,并返回相应的错误信息。你需要捕获异常并进行处理。

-
-
diff --git a/dita/RTC-NG/API/api_config_setjsonparameter.dita b/dita/RTC-NG/API/api_config_setjsonparameter.dita deleted file mode 100644 index 4118976314f..00000000000 --- a/dita/RTC-NG/API/api_config_setjsonparameter.dita +++ /dev/null @@ -1,63 +0,0 @@ - - - - <ph keyref="SetJsonParameter_Config"/> - 通过 JSON 配置 SDK 提供技术预览或特别定制功能。 - - - - - - - - -
-

- public void setJsonParameter(String jsonParameter) throws RteException; - - - (void)setJsonParameter:(NSString * _Nullable)jsonParameter error:(AgoraRteError * _Nullable)error; - void SetJsonParameter(const char *json_parameter, Error *err = nullptr); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-

-
- 适用场景 -

当你需要设置私有参数或使用定制功能时,可以调用该方法。

-
-
- 调用时机 -

该方法需要在 之前调用。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - jsonParameter - json_parameter - JSON 字符串形式的参数。 - - - - - -
-
-
-
-
diff --git a/dita/RTC-NG/API/api_error_code.dita b/dita/RTC-NG/API/api_error_code.dita deleted file mode 100644 index dbf95033efb..00000000000 --- a/dita/RTC-NG/API/api_error_code.dita +++ /dev/null @@ -1,48 +0,0 @@ - - - - <ph keyref="Code"/> - 获取接口调用返回的错误码。 - - - - - - - - -
-

- public Constants.ErrorCode code(); - - - (AgoraRteErrorCode)code; - ErrorCode Code(); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-

-
-
- 调用时机 -

当调用 API 失败时,可调用此方法以获取错误码。

-
-
- 调用限制 -

无。

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

方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

-

错误码。详见

-
-
diff --git a/dita/RTC-NG/API/api_error_message.dita b/dita/RTC-NG/API/api_error_message.dita deleted file mode 100644 index 77a44f4df06..00000000000 --- a/dita/RTC-NG/API/api_error_message.dita +++ /dev/null @@ -1,47 +0,0 @@ - - - - <ph keyref="Message"/> - 获取详细的错误信息。 - - - - - - - - -
-

- public String message(); - - - (NSString * _Nullable)message; - const char *Message(); - - - - -

-
-
-
- -
自从
-
v4.5.0
-
-
-
-
- 调用时机 -

当 API 调用失败后,你可以调用该方法获取错误信息来帮助排查问题。

-
-
- 调用限制 -

无。

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

方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

-

错误信息。

-
-
diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita index 8efdd6bddce..4c04777f28c 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita @@ -46,7 +46,7 @@ zones - 隔声区域的设置。详见 。当你将该参数设置为 时,表示清除所有隔声区域。 + 隔声区域的设置。详见 。当你将该参数设置为 时,表示清除所有隔声区域。 在 Windows 平台上,需确保 zones 数组中的成员个数与 zoneCount 的值相等,否则会导致崩溃。 diff --git a/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita b/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita index 4d52701deb7..e44e6921f8f 100644 --- a/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita @@ -54,7 +54,7 @@ trackType 自定义音频轨道类型。详见 。 - 如指定 ,则必须在调用 加入频道时,将 中的 publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2。 + 如指定 ,则必须在调用 加入频道时,将 中的 publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2. config diff --git a/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita b/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita index 5f40867b19b..142aa1dcad9 100644 --- a/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita +++ b/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita @@ -32,7 +32,7 @@
详情 -
+
弃用:
如果你需要推送 I422 格式的视频帧,请使用该方法。其他情况下,请改用
diff --git a/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita index 7c21b37c9c7..69c5203841b 100644 --- a/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita @@ -14,7 +14,7 @@

public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); - + public abstract registerAudioFrameObserver(observer:IAudioFrameObserver):number; - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita index ee15a38c8c5..8f4452dbdef 100644 --- a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita @@ -30,10 +30,24 @@

详情 -

如果你只想要观测编码后的视频帧 (如 H.264 格式),而不需要对视频进行解码和渲染,声网推荐你通过该方法注册一个 类。有关详细的实现步骤,详见

+

如果你只想要观测编码后的视频帧 (如 h.264 格式),而不需要对视频进行解码和渲染,声网推荐你通过该方法注册一个 类。

+

如果你想获取一部分远端用户的原始视频数据 (简称为 A 组)、获取另一部分远端用户的编码后视频数据 (简称为 B 组),可参考以下步骤: + +

    +
  1. 在加入频道前调用 注册原始视频帧观测器。
  2. +
  3. 在加入频道前调用 注册编码后的视频帧观测器。
  4. +
  5. 加入频道后通过 获取 B 组用户的 ID,然后调用 设置该组用户的 encodedFrameOnly
  6. +
  7. 调用 (),开始接收所有远端用户的视频流。此时: + +
      +
    • 可通过 中的回调获取 A 组用户的原始视频数据,SDK 默认对该数据进行渲染。
    • +
    • 可通过 中的回调获取 B 组用户的已编码视频数据。
    • +
  8. +

-

该方法需要在加入频道前调用。

-
+
    +
  • 该方法需要在加入频道前调用。
  • +
参数 diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita index 42b455816c3..d766b25831d 100644 --- a/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita @@ -14,7 +14,7 @@

public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); - + public abstract registerVideoFrameObserver(observer:IVideoFrameObserver):number; - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; @@ -26,10 +26,11 @@

如果你想要观测原始视频帧 (如 YUV 或 RGBA 格式),声网推荐你通过该方法注册一个 类。

调用该方法注册视频观测器时,你可以根据需要注册 类中的回调。在成功注册视频观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的上述回调。

+

适用场景 -

注册原始视频观测器后,你可以将获取到的原始视频数据应用于各种视频前处理场景,例如自行实现虚拟背景、美颜等场景。有关详细的实现步骤,详见

+

注册原始视频观测器后,你可以将获取到的原始视频数据应用于各种视频前处理场景,例如自行实现虚拟背景、美颜等场景。

声网在 GitHub 上提供了开源的示例项目 供你参考。

diff --git a/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita b/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita index 805162caae8..3dc14e20080 100644 --- a/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita +++ b/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita @@ -41,8 +41,7 @@

-

调用该方法启用外部视频源后,你可以调用 向 SDK 推送外部视频数据。

-

调用该方法启用外部视频源后,你可以调用 向 SDK 推送外部视频数据。

+

调用该方法启用外部视频源后,你可以调用 向 SDK 推送外部视频数据。

调用时机 diff --git a/dita/RTC-NG/API/api_imediaplayer_addblueprintcallbackexecutor.dita b/dita/RTC-NG/API/api_imediaplayer_addblueprintcallbackexecutor.dita deleted file mode 100644 index ef6fae8a58a..00000000000 --- a/dita/RTC-NG/API/api_imediaplayer_addblueprintcallbackexecutor.dita +++ /dev/null @@ -1,47 +0,0 @@ - - - - <ph keyref="AddBlueprintCallbackExecutor_IMediaPlayer" /> - 添加一个蓝图回调执行器。 - - - - - - - - -
-

- - - - - UFUNCTION(BlueprintCallable, Category = "Agora|Event") -void AddBlueprintCallbackExecutor(UAgoraBPuIMediaPlayerSourceObserverCBExecutor* Executor); - - - -

-
-
-

获取事件处理器后,你可以调用该方法绑定回调执行器,用于执行 接口类下的相关回调。

-
-
- 调用时机 -

调用 获取事件处理器后。

-
-
- 调用限制 -

无。

-
-
- 参数 - - - Executor - 指向 UAgoraBPuIMediaPlayerSourceObserverCBExecutor 类型的指针,用于执行 接口类下的回调逻辑。 - -
-
-
diff --git a/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita b/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita index 326a3ff31a6..392dce45ff9 100644 --- a/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita @@ -14,7 +14,7 @@

int adjustPlayoutVolume(int volume); - public abstract adjustPlayoutVolume(vol: number): number; + - (int)adjustPlayoutVolume:(int)volume; virtual int adjustPlayoutVolume(int volume) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita b/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita index 50863ab0041..3ff415f1dde 100644 --- a/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita @@ -14,7 +14,7 @@

int adjustPublishSignalVolume(int volume); - public abstract adjustPublishSignalVolume(volume:number):number; + - (int)adjustPublishSignalVolume:(int)volume; virtual int adjustPublishSignalVolume(int volume) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_getduration.dita b/dita/RTC-NG/API/api_imediaplayer_getduration.dita index fc4fd2824e9..4692dcc6233 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getduration.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getduration.dita @@ -14,7 +14,7 @@

long getDuration(); - public abstract getDuration():number; + - (NSInteger)getDuration; virtual int getDuration(int64_t& duration) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -40,7 +40,7 @@

  • < 0: 方法调用失败。详见了解详情和解决建议。
  • 媒体文件总时长(毫秒)。

    -
      +
      • 方法调用成功时,返回媒体资源的总时长,单位毫秒。
      • ≤ 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita b/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita index c20acfe0ad2..53912509d32 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita @@ -14,7 +14,7 @@

    int getMediaPlayerId(); - public abstract getMediaPlayerId():number; + - (int)getMediaPlayerId; virtual int getMediaPlayerId() const = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_getmute.dita b/dita/RTC-NG/API/api_imediaplayer_getmute.dita index 53b46f2e439..3e40fe876f9 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getmute.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getmute.dita @@ -14,7 +14,7 @@

    boolean getMute(); - public abstract getMute(): boolean; + - (bool)getMute; virtual int getMute(bool& mute) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -44,7 +44,7 @@

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -
      +
      • :当前播放的媒体文件为静音。
      • :当前播放的媒体文件没有静音。
    diff --git a/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita b/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita index 6943719e1b7..60cabf50b8f 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita @@ -14,7 +14,7 @@

    int getPlayoutVolume(); - public abstract getPlayoutVolume():number + - (int)getPlayoutVolume; virtual int getPlayoutVolume(int& volume) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -45,7 +45,7 @@

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -

    返回当前本地播放音量,取值范围从 0 到 100: +

    返回当前本地播放音量,取值范围从 0 到 100:

    • 0: 无声。
    • 100: (默认)媒体文件的原始播放音量。
    • diff --git a/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita b/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita index 97dc7a627a2..d1e754673d5 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita @@ -14,7 +14,7 @@

      long getPlayPosition(); - public abstract getPlayPosition():number; + - (NSInteger)getPosition; virtual int getPlayPosition(int64_t& pos) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita b/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita index f9945f24803..924d943a74a 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita @@ -14,7 +14,7 @@

      String getPlaySrc(); - public abstract getPlaySrc():string; + - (NSString *)getPlaySrc; virtual const char* getPlaySrc() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita b/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita index 0bf4e2dd8f5..fdb7847ed4e 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita @@ -14,7 +14,7 @@

      int getPublishSignalVolume(); - public abstract getPublishSignalVolume():number; + - (int)getPublishSignalVolume; virtual int getPublishSignalVolume(int& volume) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -39,7 +39,7 @@

    • 0: 方法调用成功。
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
      +
      • ≥ 0: 播放文件的远端播放音量。
      • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_imediaplayer_getstate.dita b/dita/RTC-NG/API/api_imediaplayer_getstate.dita index c9929dfd417..6d9e175ec56 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getstate.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getstate.dita @@ -14,7 +14,7 @@

    Constants.MediaPlayerState getState(); - public abstract getState():Constants.MediaPlayerState; + - (AgoraMediaPlayerState)getPlayerState; virtual media::base::MEDIA_PLAYER_STATE getState() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita b/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita index 0ee7fc721e2..d681d146d07 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita @@ -14,7 +14,7 @@

    int getStreamCount(); - public abstract getStreamCount():number; + - (NSInteger)getStreamCount; virtual int getStreamCount(int64_t& count) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita b/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita index 3c076a692d7..026242bf007 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita @@ -14,7 +14,7 @@

    MediaStreamInfo getStreamInfo(int index); - public abstract getStreamInfo(index:number):MediaStreamInfo|undefined; + - (AgoraMediaStreamInfo *_Nullable)getStreamByIndex:(int)index; virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -40,7 +40,7 @@ index 媒体流索引值。该参数需小于 count 参数。 - 媒体流索引值。该参数的值需小于 的返回值。 + 媒体流索引值。该参数的值需小于 的返回值。 info diff --git a/dita/RTC-NG/API/api_imediaplayer_mute.dita b/dita/RTC-NG/API/api_imediaplayer_mute.dita index f44ea61b345..3b6531dde04 100644 --- a/dita/RTC-NG/API/api_imediaplayer_mute.dita +++ b/dita/RTC-NG/API/api_imediaplayer_mute.dita @@ -14,7 +14,7 @@

    int mute(boolean muted); - public abstract mute(muted:boolean) : number; + - (int)mute:(bool)isMute NS_SWIFT_NAME(mute(_:)); virtual int mute(bool muted) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -29,7 +29,7 @@

    调用时机

    该方法在加入频道前后均可调用。

    -
    +
    调用限制

    无。

    diff --git a/dita/RTC-NG/API/api_imediaplayer_open.dita b/dita/RTC-NG/API/api_imediaplayer_open.dita index 21849727ec4..4bb4bcbef2a 100644 --- a/dita/RTC-NG/API/api_imediaplayer_open.dita +++ b/dita/RTC-NG/API/api_imediaplayer_open.dita @@ -15,7 +15,7 @@

    int open(String url, long startPos); - public abstract open(url:string, startPos:number):number; + - (int)open:(NSString *)url startPos:(NSInteger)startPos; virtual int open(const char* url, int64_t startPos) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita b/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita index cb6d28b7458..35fdd9cc7bc 100644 --- a/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita +++ b/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita @@ -14,7 +14,7 @@

    int openWithMediaSource(MediaPlayerSource source); - public abstract openWithMediaSource(source: MediaPlayerSource) :number ; + - (int)openWithMediaSource:(AgoraMediaSource *)source; virtual int openWithMediaSource(const media::base::MediaSource &source) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_pause.dita b/dita/RTC-NG/API/api_imediaplayer_pause.dita index eb6a3aeddf8..d02b4ea84cd 100644 --- a/dita/RTC-NG/API/api_imediaplayer_pause.dita +++ b/dita/RTC-NG/API/api_imediaplayer_pause.dita @@ -15,7 +15,7 @@

    int pause(); - public abstract pause(): number; + - (int)pause; virtual int pause() = 0; @@ -32,7 +32,7 @@

    调用时机

    该方法在加入频道前后均可调用。

    -
    +
    调用限制

    无。

    diff --git a/dita/RTC-NG/API/api_imediaplayer_play.dita b/dita/RTC-NG/API/api_imediaplayer_play.dita index ed45a7089f3..0446ed0effb 100644 --- a/dita/RTC-NG/API/api_imediaplayer_play.dita +++ b/dita/RTC-NG/API/api_imediaplayer_play.dita @@ -14,7 +14,7 @@

    int play(); - public abstract play(): number; + - (int)play; virtual int play() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita b/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita index 694a44647f5..de79bb21acc 100644 --- a/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita @@ -15,7 +15,7 @@

    int playPreloadedSrc(String src); - public abstract playPreloadedSrc(src:string):number; + - (int)playPreloadedSrc:(NSString *)src; virtual int playPreloadedSrc(const char* src) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita b/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita index f8400c81cb9..6cca2a36508 100644 --- a/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita @@ -15,7 +15,7 @@

    int preloadSrc(String src, long startPos); - public abstract preloadSrc(src:string, startPos:number):number; + - (int)preloadSrc:(NSString *)src startPos:(int)startPos; virtual int preloadSrc(const char* src, int64_t startPos) = 0; @@ -34,8 +34,7 @@

    调用该方法后,如果收到 回调报告事件 ,则预加载成功;如果你收到 回调报告事件 ,则预加载失败。

    预加载成功后,如果你想播放媒体资源,请调用 ;如果你想清空播放列表,请调用

    -
    • 调用该方法前,请确保你已经调用 成功打开媒体资源。
    • -
    • SDK 不支持你预加载重复的媒体资源到播放列表,但支持你将正在播放的媒体资源再次预加载到播放列表。
    +

    SDK 不支持你预加载重复的媒体资源到播放列表,但支持你将正在播放的媒体资源再次预加载到播放列表。

    参数 diff --git a/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita b/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita index d2f59fa1d1f..ac5e4972586 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita @@ -15,7 +15,7 @@

    int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); - + public abstract registerAudioFrameObserver(observer:IAudioFrameObserver):number; virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita b/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita index e688298ebdd..3b05746bc02 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita @@ -15,7 +15,7 @@

    int registerPlayerObserver(IMediaPlayerObserver playerObserver); - public abstract registerPlayerObserver(playerObserver:IMediaPlayerObserver); + virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; UFUNCTION(BlueprintPure, Category = "Agora|IRtcEngine") @@ -51,7 +51,7 @@

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

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
      diff --git a/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita index ab29f1f97b9..9a35ed36cb5 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita @@ -14,7 +14,7 @@

      int registerVideoFrameObserver(IMediaPlayerVideoFrameObserver videoFrameObserver); - + public abstract registerVideoFrameObserver(observer:IVideoFrameObserver):number; virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_resume.dita b/dita/RTC-NG/API/api_imediaplayer_resume.dita index 81dac38a8df..fb514f6c4a9 100644 --- a/dita/RTC-NG/API/api_imediaplayer_resume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_resume.dita @@ -14,7 +14,7 @@

      int resume(); - public abstract resume(): number; + - (int)resume; virtual int resume() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_seek.dita b/dita/RTC-NG/API/api_imediaplayer_seek.dita index e2ce0898f7a..dbff9f728e5 100644 --- a/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -15,7 +15,7 @@

      int seek(long newPos); - public abstract seek(newPos: number): number; + - (void)seekToPosition:(NSInteger)position; virtual int seek(int64_t newPos) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita b/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita index a48fd1f92ee..0c3d5b5bc4d 100644 --- a/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita @@ -14,7 +14,7 @@

      int selectAudioTrack(int index); - public abstract selectAudioTrack(index: number): number; + - (int)selectAudioTrack:(int)index; virtual int selectAudioTrack(int index) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -27,7 +27,7 @@ int SelectAudioTrack(int index);

      详情 -

      获取音频文件的音轨索引后,你可以调用该方法指定任一音轨进行播放。如果一个多音轨文件的不同音轨存放了不同语言的歌曲,你可以调用该方法设置播放语言。

      +

      获取音频文件的音轨索引后,你可以调用该方法指定任一音轨进行播放。例如,如果一个多音轨文件的不同音轨存放了不同语言的歌曲,则你可以调用该方法设置播放语言。

      你需要在调用 获取音频流索引值后调用该方法。
      参数 diff --git a/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita b/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita index e9f079cf9ee..dac8b19ffce 100644 --- a/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita @@ -14,7 +14,7 @@

      int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); - public abstract selectMultiAudioTrack(playoutTrackIndex:number, publishTrackIndex: number): number; + - (int)selectMultiAudioTrack:(NSInteger)playoutTrackIndex publishTrackIndex:(NSInteger)publishTrackIndex NS_SWIFT_NAME(selectMultiAudioTrack(_:publishTrackIndex:)); virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita b/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita index 56e49ff9999..d8a9cfc22ef 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita @@ -14,7 +14,7 @@

      int setAudioDualMonoMode(int mode); - public abstract setAudioDualMonoMode(mode:Constants.AudioDualMonoMode):number; + - (int)setAudioDualMonoMode:(AgoraAudioDualMonoMode)mode; virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -38,8 +38,8 @@ mode - 声道模式。详见 -

        + 声道模式。详见 +
        • (0): 原始模式。
        • (1): 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。
        • (2): 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。
        • diff --git a/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita b/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita index e96cd000ccf..5825f796399 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita @@ -14,7 +14,7 @@

          int setAudioPitch(int pitch); - public abstract setAudioPitch(pitch:number): number; + - (int)setAudioPitch:(NSInteger)pitch; virtual int setAudioPitch(int pitch) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -31,14 +31,10 @@

          参数 - + - - pitch - 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 -
          <ph keyref="return-section-title"/> @@ -48,4 +44,4 @@
        • < 0: 方法调用失败。详见了解详情和解决建议。
      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita b/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita index aa9b775a676..9f53cc3f609 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita @@ -15,7 +15,7 @@

      int setLoopCount(int loopCount); - public abstract setLoopCount(loopCount:number):number; + - (void)setLoopCount:(NSInteger)loopCount; virtual int setLoopCount(int loopCount) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita b/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita index 6e82d99d732..ad733dc6497 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita @@ -14,7 +14,7 @@

      int setPlaybackSpeed(int speed); - public abstract setPlaybackSpeed(speed: number) : number; + - (int)setPlaybackSpeed:(int)speed; virtual int setPlaybackSpeed(int speed) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") @@ -34,10 +34,10 @@ speed - 播放速度。推荐取值范围为 [30,400],其中: + 播放速度。推荐取值范围为 [50,400],其中:

        -
      • 30: 0.3 倍速。
      • +
      • 50: 0.5 倍速。
      • 100: 原始速度。
      • 400: 4 倍速。
      @@ -51,4 +51,4 @@
    • < 0: 方法调用失败。详见了解详情和解决建议。
    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita b/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita index bad4a63853e..68c1329ffc6 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita @@ -14,7 +14,7 @@

    int setPlayerOption(String key, int value); - public abstract setPlayerOption(key:string, value:number); + - (int)setPlayerOption:(NSString *)key value:(NSInteger)value NS_SWIFT_NAME(setPlayerOption(_:value:)); virtual int setPlayerOption(const char* key, int64_t value) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita b/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita index 76f1ad62675..5aaf3cb7443 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita @@ -14,7 +14,7 @@

    int setPlayerOptionString(String key, String value); - public abstract setPlayerOptionString(key:string, value:string): number; + - (int)setPlayerOptionString:(NSString *)key value:(NSString *)value NS_SWIFT_NAME(setPlayerOptionString(_:value:)); virtual int setPlayerOption(const char* key, const char* value) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita b/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita index 9ff525e28ec..ca0a751f4cb 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita @@ -15,7 +15,7 @@

    int setRenderMode(int mode); - public abstract setRenderMode(mode:number):number; + - (void)setRenderMode:(AgoraMediaPlayerRenderMode)mode; virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; @@ -32,7 +32,7 @@ renderMode - mode + mode

    播放器视图的渲染模式。详见

    播放器视图的渲染模式: diff --git a/dita/RTC-NG/API/api_imediaplayer_setview.dita b/dita/RTC-NG/API/api_imediaplayer_setview.dita index 2b752c3977f..aa7c2dc49ee 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setview.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setview.dita @@ -15,7 +15,7 @@

    int setView(View videoView); - public abstract setView(view:string):number; + - (void)setView:(View *_Nullable)view; virtual int setView(media::base::view_t view) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_stop.dita b/dita/RTC-NG/API/api_imediaplayer_stop.dita index 7356ee11a2a..74c3413c9ee 100644 --- a/dita/RTC-NG/API/api_imediaplayer_stop.dita +++ b/dita/RTC-NG/API/api_imediaplayer_stop.dita @@ -15,7 +15,7 @@

    int stop(); - public abstract stop(): number; + - (void)stop; virtual int stop() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita b/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita index 9c6091debd2..8cd3674b14b 100644 --- a/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita @@ -15,7 +15,7 @@

    int switchSrc(String src, boolean syncPts); - public abstract switchSrc(src:string, syncPts:boolean):number; + - (int)switchSrc:(NSString *)src syncPts:(BOOL)sync; virtual int switchSrc(const char* src, bool syncPts) = 0; @@ -30,12 +30,14 @@

    详情 -

    你可以根据当前网络状态调用该方法切换播放的媒体资源的码率。例如: -

      -
    • 在网络较差时,将播放的媒体资源切换为较低码率的媒体资源地址。
    • -
    • 在网络较好时,将播放的媒体资源切换为较高码率的媒体资源地址。
    • -

    -

    调用该方法后,如果你收到 回调报告事件 ,则媒体资源切换成功。如果资源切换失败,SDK 会自动重试 3 次。如果仍然失败,你会收到 回调,报告 事件,表示媒体资源切换时发生错误。

    +

    你可以根据当前网络状态调用该方法切换播放的媒体资源的码率。例如: + + +

      +
    • 在网络较差时,将播放的媒体资源切换为较低码率的媒体资源地址。
    • +
    • 在网络较好时,将播放的媒体资源切换为较高码率的媒体资源地址。
    • +

    +

    调用该方法后,如果你收到 回调报告事件 ,则媒体资源切换成功;如果你收到 回调报告事件 ,则媒体资源切换失败。

    如果用户需要自定义播放线路,你可以调用 实现媒体资源切换。声网会通过自研调度中心支持调度线路,提升观看用户体验。如果用户不需要自定义播放线路,你可以调用 实现媒体资源切换。

      @@ -59,10 +61,12 @@ syncPts 是否同步切换前后的起始播放位置: +
      • :同步。
      • :(默认) 不同步。
      +

      如果媒体资源为直播流,你只能将该参数设置为 ,否则 SDK 切换媒体资源会失败。如果媒体资源为点播流,你可以根据场景需求对该参数赋值。

    diff --git a/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita b/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita index 43c84f3e753..d5131633764 100644 --- a/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita @@ -15,7 +15,7 @@

    int unloadSrc(String src); - public abstract unloadSrc(src:string):number; + - (int)unloadSrc:(NSString *)src; virtual int unloadSrc(const char* src) = 0; diff --git a/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita b/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita index 7fd11c75ff3..e9f497f2607 100644 --- a/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita @@ -14,7 +14,7 @@

    int unRegisterPlayerObserver(IMediaPlayerObserver playerObserver); - public abstract unRegisterPlayerObserver(); + virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") diff --git a/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita b/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita index 4b5808150d6..0165280cfe5 100644 --- a/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita +++ b/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita @@ -40,7 +40,7 @@ 参数 - callback + callback delegate 音视频流录制回调,详见 diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita b/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita index c78f307adb5..855d5cc319c 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita @@ -14,7 +14,7 @@

    public abstract IAgoraMusicPlayer createMusicPlayer(); - public abstract createMusicPlayer():IAgoraMusicPlayer + (id<AgoraMusicPlayerProtocol> _Nullable)createMusicPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate> _Nullable)delegate NS_SWIFT_NAME(createMusicPlayer(delegate:)); virtual agora_refptr<IMusicPlayer> createMusicPlayer() = 0; abstract createMusicPlayer(): IMusicPlayer; @@ -44,7 +44,7 @@

    返回值
      -
    • 方法调用成功:返回 对象。
    • +
    • 方法调用成功:返回 对象。
    • 方法调用成功:返回 实例。
    • 方法调用失败:返回空指针。
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita b/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita index e19ccd7dc3f..d27c13bc22c 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita @@ -19,10 +19,7 @@ mInstance.release(); mInstance = null; } - public static destroy():void -{ - RtcNapi.destroyMusicContentCenter() -} + + (void)destroy; diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita index c4aa69341dd..29e218037a5 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita @@ -14,7 +14,7 @@

    public abstract MusicCacheInfo[] getCaches(); - public abstract getCaches():MusicCacheInfo[] + - (NSArray *)getCaches NS_SWIFT_NAME(getCaches()); virtual int getCaches(MusicCacheInfo *cacheInfo, int32_t* cacheInfoSize) = 0; abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; @@ -30,7 +30,7 @@

    v4.2.0
    -

    调用该方法前,你需要预先分配一定大小的内存空间用来存储缓存音乐资源的信息。如果你需要设置可缓存的音乐资源数量,可通过 configurationconfig 来设置。

    +

    调用该方法前,你需要预先分配一定大小的内存空间用来存储缓存音乐资源的信息。

    当你不再需要使用已缓存的音乐资源时,你需要及时释放内存以防止内存泄漏。

    @@ -53,10 +53,10 @@
  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -
      -
    • 方法调用成功时,返回包含 对象的数组。
    • -
    • 方法调用成功时,返回 对象的列表。
    • -
    • 方法调用失败时,返回
    • +
        +
      • 方法调用成功时,返回包含 对象的数组。
      • +
      • 方法调用成功时,返回 对象的列表。
      • +
      • 方法调用失败时,返回
      • 方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      方法调用成功时,返回一个包含以下属性的对象: diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita index 22f61004c6f..eccbf636d0d 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita @@ -14,7 +14,7 @@

      public abstract long getInternalSongCode(long songCode, String jsonOption); - public abstract getInternalSongCode(songCode:bigint,jsonOption:string):bigint + - (NSInteger)getInternalSongCode:(NSInteger)songCode jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(getInternalSongCode(songCode:jsonOption:)); virtual int getInternalSongCode(int64_t songCode, const char* jsonOption, int64_t& internalSongCode) = 0; abstract getInternalSongCode(songCode: number, jsonOption: string): number; @@ -23,9 +23,10 @@ Future<int> getInternalSongCode( {required int songCode, required String jsonOption});

      -
      -
      - +
      + 详情 +
      +
      自从
      v4.2.2
      @@ -40,8 +41,7 @@ songCode - 音乐资源编号,用于标识音乐资源。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。 - 音乐资源编号,用于标识音乐资源。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。 + 音乐资源编号,用于标识音乐资源。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。 jsonOption diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita index df4e2e9eca5..b31960d3b84 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita @@ -14,7 +14,7 @@

      public abstract String getLyric(long songCode, int lyricType); - public abstract getLyric(songCode:bigint,lyricType:number):string + - (NSString *)getLyricWithSongCode:(NSInteger)songCode lyricType:(NSInteger)lyricType NS_SWIFT_NAME(getLyric(songCode:lyricType:)); virtual int getLyric(agora::util::AString& requestId, int64_t songCode, int32_t LyricType = 0) = 0; abstract getLyric(songCode: number, lyricType?: number): string; diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita index 10aece819f6..54725b6933c 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita @@ -14,7 +14,7 @@

      public abstract String getMusicCharts(); - public abstract getMusicCharts():string + - (NSString *)getMusicCharts; virtual int getMusicCharts(agora::util::AString& requestId) = 0; abstract getMusicCharts(): string; diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita index c297298723f..60cab9cbb1e 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita @@ -15,7 +15,7 @@

      public abstract String getMusicCollectionByMusicChartId( int musicChartId, int page, int pageSize, String jsonOption); - public abstract getMusicCollectionByMusicChartId(musicChartId:number,page:number,pageSize:number,jsonOption?:string):string + diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita index 4d39164e268..ea8a897072a 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita @@ -14,7 +14,7 @@

      public abstract String getSongSimpleInfo(long songCode); - public abstract getSongSimpleInfo(songCode:bigint):string + - (NSString *)getSongSimpleInfoWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(getSongSimpleInfo(songCode:)); virtual int getSongSimpleInfo(agora::util::AString& requestId, int64_t songCode) = 0; abstract getSongSimpleInfo(songCode: number): string; @@ -30,8 +30,7 @@

      v4.2.2
      -

      在调用该方法前,你需要先获取到对应的音乐资源的编号。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。

      -

      在调用该方法前,你需要先获取到对应的音乐资源的编号。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。

      +

      在调用该方法前,你需要先获取到对应的音乐资源的编号。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。

      当你调用该方法后,SDK 会触发 回调报告音乐资源的详细信息。

      diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita b/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita index 4d82437ea9b..6dcbdc7e92e 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita @@ -14,7 +14,7 @@

      public abstract int initialize(MusicContentCenterConfiguration configuration); - public abstract initialize(configuration:MusicContentCenterConfiguration):number + + (instancetype)sharedContentCenterWithConfig:(AgoraMusicContentCenterConfig *)config NS_SWIFT_NAME(sharedContentCenter(config:)); virtual int initialize(const MusicContentCenterConfiguration & configuration) = 0; abstract initialize(configuration: MusicContentCenterConfiguration): number; @@ -37,7 +37,7 @@ 参数 - configuration + configuration config 的设置,详见 diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita b/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita index 53651d833f5..70ea7cb223d 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita @@ -14,7 +14,7 @@

      public abstract int isPreloaded(long songCode); - public abstract isPreloaded(songCode:bigint):number + - (NSInteger)isPreloadedWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(isPreloaded(songCode:)); virtual int isPreloaded(int64_t songCode) = 0; abstract isPreloaded(songCode: number): number; @@ -31,7 +31,7 @@

      v4.1.0
      -

      该方法为同步调用。如需预加载新的音乐资源,可调用

      +

      该方法为同步调用。如需预加载新的音乐资源,可调用

      参数 diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita b/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita index 32f66206ca3..b8eb426d1c0 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita @@ -14,7 +14,7 @@

      public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler); - public abstract registerEventHandler(eventHandler:IMusicContentCenterEventHandler):number + - (NSInteger)registerEventDelegate:(id<AgoraMusicContentCenterEventDelegate> _Nullable)eventDelegate; virtual int registerEventHandler(IMusicContentCenterEventHandler* eventHandler) = 0; abstract registerEventHandler( diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita b/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita index 7771766894c..5ceed8c2c5c 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita @@ -14,7 +14,7 @@

      public abstract int removeCache(long songCode); - public abstract removeCache(songCode:bigint):number + - (NSInteger)removeCacheWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(removeCache(songCode:)); virtual int removeCache(int64_t songCode) = 0; abstract removeCache(songCode: number): number; diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita b/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita index 5cd250ad70c..e1c8e3d76c5 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita @@ -14,7 +14,7 @@

      public abstract int renewToken(String token); - public abstract renewToken(token:string):number + - (NSInteger)renewToken:(NSString * _Nonnull)token; virtual int renewToken(const char* token) = 0; abstract renewToken(token: string): number; diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita b/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita index 266f4562703..1d6ba9e8348 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita @@ -14,7 +14,7 @@

      public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption); - public abstract searchMusic(keyword:string,page:number,pageSize:number,jsonOption?:string):string + diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita b/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita index 082b7e317cd..63d74487043 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita @@ -14,7 +14,7 @@

      public abstract int unregisterEventHandler(); - public abstract unregisterEventHandler():number + virtual int unregisterEventHandler() = 0; abstract unregisterEventHandler(): number; diff --git a/dita/RTC-NG/API/api_imusicontentcenter_preload.dita b/dita/RTC-NG/API/api_imusicontentcenter_preload.dita index 4dcce6f8e7e..3faf1b751c0 100644 --- a/dita/RTC-NG/API/api_imusicontentcenter_preload.dita +++ b/dita/RTC-NG/API/api_imusicontentcenter_preload.dita @@ -32,9 +32,8 @@

      你可以调用该方法预先加载需要播放的音乐资源。成功调用该方法后,SDK 会触发 回调报告预加载音乐资源的事件。

      -

      在调用该方法来预加载音乐资源之前,你需要调用 方法来获取你需要播放的音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。 - 在调用该方法前,你需要先获取到对应的音乐资源的编号。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。

      - 如需销毁 对象,请在收到 回调后,再调用 方法。 +

      在调用该方法来预加载音乐资源之前,你需要调用 方法来获取你需要播放的音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。

      + 如需销毁 对象,请在收到 回调后,再调用 方法。
      参数 diff --git a/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita b/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita index 4b4b23dbfe5..5323e96b98f 100644 --- a/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita +++ b/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita @@ -14,7 +14,7 @@

      public abstract String preload(long songCode); - public abstract preload(songCode:bigint):string + - (NSString *)preloadWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(preload(songCode:)); virtual int preload(agora::util::AString& requestId, int64_t songCode) = 0; abstract preload(songCode: number): string; diff --git a/dita/RTC-NG/API/api_imusicplayer_setplaymode.dita b/dita/RTC-NG/API/api_imusicplayer_setplaymode.dita index 455c38b8768..21c3e21caa5 100644 --- a/dita/RTC-NG/API/api_imusicplayer_setplaymode.dita +++ b/dita/RTC-NG/API/api_imusicplayer_setplaymode.dita @@ -14,7 +14,6 @@

      int setPlayMode(MusicPlayMode mode); - abstract setPlayMode(mode:Constants.MusicPlayMode):number - (NSInteger)setPlayMode:(AgoraMusicPlayMode)mode NS_SWIFT_NAME(setPlayMode(mode:)); virtual int setPlayMode(MusicPlayMode mode) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_addblueprintcallbackexecutor.dita b/dita/RTC-NG/API/api_irtcengine_addblueprintcallbackexecutor.dita deleted file mode 100644 index 98c18ada4b3..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_addblueprintcallbackexecutor.dita +++ /dev/null @@ -1,47 +0,0 @@ - - - - <ph keyref="AddBlueprintCallbackExecutor" /> - 添加一个蓝图回调执行器。 - - - - - - - - -

      -

      - - - - - UFUNCTION(BlueprintCallable, Category = "Agora|Event") -void AddBlueprintCallbackExecutor(UAgoraBPuIRtcEngineEventHandlerCBExecutor* Executor); - - - -

      -
      -
      -

      获取事件处理器后,你可以调用该方法绑定回调执行器,用于执行 接口类下的相关回调。

      -
      -
      - 调用时机 -

      调用 获取事件处理器后。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - Executor - 指向 UAgoraBPuIRtcEngineEventHandlerCBExecutor 类型的指针,用于执行 接口类下的回调逻辑。 - -
      - - diff --git a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita index e9f66fc11eb..ef80ada6cfa 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita @@ -27,7 +27,7 @@

      该方法调节混音音乐文件在本端和远端的播放音量大小。

      - 调用该方法不会影响 方法中设置的音效文件播放音量。 + 调调用该方法不会影响 方法中设置的音效文件播放音量。
      调用时机 diff --git a/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita index 29ff0d9edc8..aa65f2f19b8 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita @@ -26,7 +26,7 @@

      -

      如果你只需将音频信号静音,建议你使用

      +

      如果你只需将音频信号静音,建议你使用

      调用时机 @@ -59,4 +59,4 @@
    • < 0: 方法调用失败。详见了解详情和解决建议。
    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita index 8abb6fc82be..2dbc91178e1 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita @@ -14,7 +14,7 @@

    public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); - public abstract adjustUserPlaybackSignalVolume(uid:number,volume:number):number; + - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_clearalleventhandlercbexecutors.dita b/dita/RTC-NG/API/api_irtcengine_clearalleventhandlercbexecutors.dita deleted file mode 100644 index 18eb384741f..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_clearalleventhandlercbexecutors.dita +++ /dev/null @@ -1,39 +0,0 @@ - - - - <ph keyref="ClearAllEventHandlerCBExecutors" /> - 清除所有已添加的回调执行器。 - - - - - - - - -

    -

    - - - - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") -void ClearAllEventHandlerCBExecutors(); - - - -

    -
    -
    -

    调用该方法后,所有回调执行器将被移除。如果需要继续处理事件回调,需要重新添加回调执行器。

    -
    -
    - 调用时机 -

    调用 添加回调执行器后。

    -
    -
    - 调用限制 -

    无。

    -
    - - diff --git a/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita b/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita index 4f506631808..21fa82d50ae 100644 --- a/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita +++ b/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita @@ -14,7 +14,7 @@

    public abstract int clearVideoWatermarks(); - + public abstract clearVideoWatermarks(): number; - (int)clearVideoWatermarks; virtual int clearVideoWatermarks() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita index b7aebaaf27b..6b4e5a5f591 100644 --- a/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita @@ -31,7 +31,7 @@

    1. 调用该方法创建视频轨道并获得视频轨道 ID。
    2. 调用 加入频道时,将 中的 customVideoTrackId 设置为你想要发布的视频轨道 ID,并将 publishCustomVideoTrack 设置为
    3. -
    4. 调用 videoTrackId 指定为步骤 2 中指定的视频轨道 ID,即可实现在频道内发布对应的自定义视频源。
    5. +
    6. 调用 videoTrackId 指定为步骤 2 中指定的视频轨道 ID,即可实现在频道内发布对应的自定义视频源。

    diff --git a/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita b/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita index 7c0171b03b0..a7d2f31c027 100644 --- a/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita +++ b/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita @@ -27,7 +27,7 @@

    -

    相比 ,本方法不保证数据传输的可靠性。接收方会丢弃超出发送时间 5 秒后的数据包。

    +

    相比 ,本方法不保证数据传输的可靠性。接收方会丢弃超出发送时间 5 秒后的数据包。

    调用时机 diff --git a/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita b/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita index 205dd9990f9..17e33987f45 100644 --- a/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita @@ -2,7 +2,7 @@ <ph keyref="createMediaPlayer" /> - 创建媒体播放器对象。创建媒体播放器实例。 + 创建媒体播放器对象。创建媒体播放器实例。 @@ -14,7 +14,7 @@

    public abstract IMediaPlayer createMediaPlayer(); - public abstract createMediaPlayer():IMediaPlayer|undefined; + - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate: (id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate; virtual agora_refptr <IMediaPlayer> createMediaPlayer() = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita b/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita new file mode 100644 index 00000000000..4f4679a654c --- /dev/null +++ b/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita @@ -0,0 +1,55 @@ + + + + <ph keyref="createWithAreaCode"/> + 创建 + 对象并返回指针。 + + + + + + + + +

    +

    + + + + + + + + +

    +
    +
    + 详情 +
    + +
    废弃:
    +
    请改用
    +
    +
    +
    +
    + 参数 + + + appId + 你的项目的 App ID。 + + + areaCode + 区域代码。详见 + +
    +
    + 返回值 +
      +
    • 方法调用成功,返回一个 对象。
    • +
    • 方法调用失败,返回错误码。
    • +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita b/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita new file mode 100644 index 00000000000..14b1a76ef03 --- /dev/null +++ b/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita @@ -0,0 +1,50 @@ + + + + <ph keyref="createWithConfig"/> + 创建 对象 + + + + + + + + +
    +

    + + + + + + + + +

    +
    +
    + 详情 +
    + +
    废弃:
    +
    请改用
    +
    +
    +
    +
    + 参数 + + + + + +
    +
    + 返回值 +
      +
    • 方法调用成功,返回一个 对象。
    • +
    • 方法调用失败,返回错误码。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita index a5af4880740..c218a3e2b8f 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita @@ -30,7 +30,7 @@ video_track_id - videoTrackId + videoTrackId 调用 方法返回的视频轨道 ID。
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita b/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita index 9b81f64a1e4..b61680931c3 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita @@ -15,7 +15,7 @@

    int destroy(); - public abstract destroy():number; + - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer; virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita b/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita index 312ab68269e..e0928158e78 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita @@ -38,9 +38,8 @@ 参数 - mediaRecorder - recorder - 待销毁的 对象。 + mediaRecorder + 待销毁的音视频录制对象。

    diff --git a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita index 77cb547f8bf..172e27898b8 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita @@ -14,7 +14,7 @@

    public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config); - public abstract enableContentInspect(enabled:boolean,config:ContentInspectConfig):number; + - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config; virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -41,10 +41,7 @@

    调用限制 -
      -
    • 调用该方法前,请确保已开通本地截图上传服务。
    • -
    • 视频审核模块选择声网自研插件截图上传()时需集成本地截图上传动态库 ,如果删除该动态库会导致无法正常开启本地截图上传功能。
    • -
    +

    调用该方法前,请确保已开通本地截图上传服务。

    参数 @@ -59,7 +56,9 @@ config - 本地截图上传配置。详见 + 本地截图上传配置。详见 + 视频审核模块选择声网自研插件截图上传()时需集成本地截图上传动态库 ,如果删除该动态库会导致无法正常开启本地截图上传功能。 +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita index cc552818811..99153cc7f08 100644 --- a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita @@ -48,7 +48,7 @@
    • 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
    • -
    • 如果需要在多频道场景下开启视频双流,可以调用 方法。
    • +
    • 如果需要在多频道场景下开启视频双流,可以调用 方法。
    • 该方法可以在加入频道前后调用。
    @@ -78,4 +78,4 @@
  • < 0: 方法调用失败。 详见了解详情和解决建议。
  • - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_enableencryption.dita b/dita/RTC-NG/API/api_irtcengine_enableencryption.dita index cba3e40c401..95559597d73 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableencryption.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableencryption.dita @@ -15,7 +15,7 @@

    public abstract int enableEncryption(boolean enabled, EncryptionConfig config); public abstract enableEncryption(enabled: boolean, config: EncryptionConfig): number; - - (int)enableEncryption:(BOOL)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; + - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableEncryption(bool enabled, const FEncryptionConfig& config); diff --git a/dita/RTC-NG/API/api_irtcengine_enableextension.dita b/dita/RTC-NG/API/api_irtcengine_enableextension.dita index a6ba303e12a..4c6dff8cd0d 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableextension.dita @@ -16,8 +16,8 @@ public abstract int enableExtension( String provider, String extension, boolean enable, Constants.MediaSourceType sourceType); public abstract enableExtension(provider:string,extension:string,enable:boolean,extensionInfo:ExtensionInfo):number; - - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider - extension:(NSString * _Nonnull)extension + - (int)enableExtensionWithVendor:(NSString * __nonnull)provider + extension:(NSString * __nonnull)extension enabled:(BOOL)enabled sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:)); virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; @@ -49,7 +49,7 @@

    调用时机

    建议你在加入频道后调用该方法。

    -
    +
    调用限制
      diff --git a/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita b/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita index ba9f6bfe98b..7f604ec5a61 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita @@ -15,7 +15,7 @@

      public abstract int enableFaceDetection(boolean enabled); public abstract enableFaceDetection(enabled: boolean): number; - - (int)enableFaceDetection:(BOOL)enable NS_SWIFT_NAME(enableFaceDetection(_:)); + - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); virtual int enableFaceDetection(bool enabled) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableFaceDetection(bool enabled); @@ -50,7 +50,7 @@ enable - enabled + enabled 是否开启人脸检测:

        diff --git a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita index 77c23131a83..84cada70fbb 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita @@ -14,7 +14,7 @@

        public abstract int enableInEarMonitoring(boolean enabled, int includeAudioFilters); - public abstract enableInEarMonitoring(enabled: boolean, includeAudioFilters?: Constants.EarMontoringFilterType): number; + public abstract enableInEarMonitoring(enabled: boolean, includeAudioFilters: number): number; - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters; virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -57,7 +57,7 @@ includeAudioFilters - 耳返 Audio filter 类型。详见 + 耳返 Audio filter 类型。详见 耳返 Audio filter 类型:

        • (1 << 0):不在耳返中添加 Audio filter。
        • diff --git a/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita b/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita index 78d6cb4a776..f72f766a8ce 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita @@ -39,7 +39,7 @@
        调用时机 -

        该方法需要在加入频道前调用。

        +

        声网建议你在加入频道前调用该方法。

        调用限制 diff --git a/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita b/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita index 3d551d0fb8e..3e7060fde5a 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita @@ -35,7 +35,7 @@
        适用场景 -

        该方法不影响远端音频流的接收和播放。() 适用于只接收远端音频而不发送本地采集音频的场景。

        +

        该方法不影响接收远端音频流,() 适用于只听不发的用户场景。

        调用时机 diff --git a/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita b/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita index 2401f70442c..54aafafdbf8 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita @@ -38,7 +38,7 @@
        • 该方法仅适用于 macOS 和 Windows 平台。
        • -
        • macOS 系统默认声卡不支持采集功能。自 v4.5.0 起,SDK 支持自动安装虚拟声卡功能,当你第一次调用该方法时,SDK 会自动安装内置的声网自研虚拟声卡 AgoraALD。安装成功后,音频路由会自动切换为虚拟声卡,同时使用虚拟声卡进行采集。
        • +
        • macOS 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将 deviceName 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
        • 该方法在加入频道前后都能调用。
        • 如果你调用了 关闭音频模块,声卡采集功能也会被关闭。如果你需要再次启用声卡采集功能,需要调用 启用音频模块后再次调用
        @@ -49,8 +49,8 @@ enabled 是否开启声卡采集:
          -
        • : 开启声卡采集;系统声音 > 输出界面显示虚拟声卡名称。
        • -
        • :(默认)关闭声卡采集;系统声音 > 输出界面不显示虚拟声卡名称。
        • +
        • : 开启声卡采集。
        • +
        • :(默认)关闭声卡采集。
        diff --git a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita index 9bab340bf81..912f118bbe9 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita @@ -94,9 +94,14 @@ segData 背景图像的处理属性。详见 - - - + + type + 视频源类型。详见 。 + 在该方法中,该参数仅支持以下两种设置: +
          +
        • 默认值为
        • +
        • 如果要使用第二个摄像头采集视频,将该参数设置为
        • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita index fd8c9cc8cdf..a73ba01793b 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita @@ -29,7 +29,7 @@
    详情

    虚拟背景功能支持将本地用户原来的背景替换为静态图片、动态视频、将背景虚化,或者将人像与背景分割以实现人像画中画。成功开启虚拟背景功能后,频道内所有用户都能看到自定义的背景。

    -

    该方法和 均可用于开启/关闭虚拟背景,区别在于该方法支持在开启虚拟背景时指定应用虚拟背景的媒体源。

    +

    该方法和 均可用于开启/关闭虚拟背景,区别在于该方法支持在开启虚拟背景时指定应用虚拟背景的媒体源。

    请在 之后调用该方法。

    @@ -54,12 +54,7 @@ sourceType - 效果应用的媒体源类型。详见 。 - 在该方法中,该参数仅支持以下两种设置: -
      -
    • 默认值为
    • -
    • 如果要使用自定义采集的视频,将该参数设置为
    • -
    + 应用效果的媒体源。详见
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita b/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita index fcd3b07b167..413bf6d2fc5 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita @@ -14,7 +14,7 @@

    public abstract int enableVoiceAITuner(boolean enabled, Constants.VOICE_AI_TUNER_TYPE type); - - (int)enableVoiceAITuner:(BOOL)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:)); + - (int)enableVoiceAITuner:(bool)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:)); virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableVoiceAITuner(bool enabled, EVOICE_AI_TUNER_TYPE type); diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index e6f12ccd161..7ef89893f35 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -14,7 +14,7 @@

    public abstract int getAudioMixingPlayoutVolume(); - public abstract getAudioMixingPlayoutVolume():number; + - (int)getAudioMixingPlayoutVolume; virtual int getAudioMixingPlayoutVolume() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita index 2c268feb550..74c4b5c49a2 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita @@ -14,7 +14,7 @@

    public abstract int getAudioMixingPublishVolume(); - public abstract getAudioMixingPublishVolume():number; + - (int)getAudioMixingPublishVolume; virtual int getAudioMixingPublishVolume() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_getcallid.dita b/dita/RTC-NG/API/api_irtcengine_getcallid.dita index 7dffca2be68..ff97334ebad 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcallid.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcallid.dita @@ -26,7 +26,7 @@

    -

    客户端在每次加入频道后会生成一个对应的 callId,标识该客户端的此次通话。你可以调用该方法获取 callId 参数,然后在调用 等方法时填入。

    +

    客户端在每次加入频道后会生成一个对应的 callId,标识该客户端的此次通话。你可以调用该方法获取 callId 参数,然后在调用 等方法时填入。

    调用时机 diff --git a/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita b/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita index 637d7d1583a..7902473d03a 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita @@ -14,7 +14,7 @@

    public abstract float getCameraMaxZoomFactor(); - public abstract getCameraMaxZoomFactor(): number; + public abstract getCameraMaxZoomFactor():number; - (CGFloat)cameraMaxZoomFactor; virtual float getCameraMaxZoomFactor() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita b/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita index b3343b077eb..12710150f4f 100644 --- a/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita +++ b/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita @@ -25,7 +25,6 @@ Future<ConnectionStateType> getConnectionState();

    -
    调用时机

    加入频道前后均可调用。

    diff --git a/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita b/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita index a64117e54a9..710fd1f1d26 100644 --- a/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita +++ b/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita @@ -14,9 +14,7 @@

    public static String getErrorDescription(int error) - public static getErrorDescription(error: number): string { - return RtcEngineImpl.getErrorDescriptionInternal(error); -} + + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; virtual const char* getErrorDescription(int code) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -32,13 +30,13 @@ code - error - SDK 报告的错误码。 + error + SDK 报告的错误码或警告码。

    返回值 -

    具体的错误描述。

    +

    具体的错误或警告描述。

    \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_geteventhandler.dita b/dita/RTC-NG/API/api_irtcengine_geteventhandler.dita deleted file mode 100644 index 052cc2a3bad..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_geteventhandler.dita +++ /dev/null @@ -1,58 +0,0 @@ - - - - <ph keyref="GetEventHandler" /> - 获取事件处理器。 - - - - - - - - -
    -

    - - - - - UFUNCTION(BlueprintPure, Category = "Agora|IRtcEngine") -void GetEventHandler(EAgoraBPuEventHandlerType& HandlerType, UAgoraBPuIRtcEngineEventHandler*& EventHandler, UAgoraBPuIRtcEngineEventHandlerEx* & EventHandlerEx); - - - -

    -
    -
    -

    调用该方法获取事件处理器后,你可以调用 绑定对应的回调执行器。

    -
    -
    - 调用时机 -

    调用 后。

    -
    -
    - 调用限制 -

    无。

    -
    -
    - 参数 - - - HandlerType - 输出参数,事件处理器类型。
      -
    • 1: EventHandler。
    • -
    • 2: EventHandlerEx。
    -
    -
    - - EventHandler - 输出参数,返回一个指向 UAgoraBPuIRtcEngineEventHandler 事件处理器的指针。 - - - EventHandlerEx - 输出参数,返回一个指向 UAgoraBPuIRtcEngineEventHandlerEx 事件处理器的指针。 - -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita b/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita index b36b03b411d..93dc4233f35 100644 --- a/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita @@ -16,9 +16,9 @@ public abstract String getExtensionProperty(String provider, String extension, String key); - - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider - extension:(NSString * _Nonnull)extension - key:(NSString * _Nonnull)key; + - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider + extension:(NSString * __nonnull)extension + key:(NSString * __nonnull)key; @@ -26,16 +26,11 @@

    -
    -
    - 调用时机 -

    加入频道前后均可调用。

    -
    -
    - 调用限制 -

    无。

    +
    + 详情 +

    -
    +
    参数 diff --git a/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita b/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita index 4e72f2088b7..2249a7700ee 100644 --- a/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita +++ b/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita @@ -17,9 +17,9 @@ String provider, String extension, String key, Constants.MediaSourceType sourceType); - - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider - extension:(NSString * _Nonnull)extension - key:(NSString * _Nonnull)key + - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider + extension:(NSString * __nonnull)extension + key:(NSString * __nonnull)key sourceType:(AgoraMediaSourceType)sourceType; virtual int getExtensionProperty( @@ -51,16 +51,11 @@ MediaSourceType type = MediaSourceType.unknownMediaSource});

    -
    -
    - 调用时机 -

    加入频道前后均可调用。

    -
    -
    - 调用限制 -

    无。

    +
    + 详情 +

    -
    +
    参数 diff --git a/dita/RTC-NG/API/api_irtcengine_getfaceshapeareaoptions.dita b/dita/RTC-NG/API/api_irtcengine_getfaceshapeareaoptions.dita deleted file mode 100644 index b35df05fe13..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_getfaceshapeareaoptions.dita +++ /dev/null @@ -1,105 +0,0 @@ - - - - <ph keyref="getFaceShapeAreaOptions" /> - 获取美型部位选项。 - - - - - - - - -
    -

    - public abstract FaceShapeAreaOptions getFaceShapeAreaOptions( - int shapeArea, Constants.MediaSourceType sourceType); - - - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeAreaOptions(_:sourceType:)); - virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int GetFaceShapeAreaOptions(EUABT_FACE_SHAPE_AREA shapeArea, FUABT_FaceShapeAreaOptions& options, EUABT_MEDIA_SOURCE_TYPE type = EUABT_MEDIA_SOURCE_TYPE::PRIMARY_CAMERA_SOURCE); - abstract getFaceShapeAreaOptions( - shapeArea: FaceShapeArea, - type?: MediaSourceType - ): FaceShapeAreaOptions; - public abstract int GetFaceShapeAreaOptions(FACE_SHAPE_AREA shapeArea, ref FaceShapeAreaOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract getFaceShapeAreaOptions( - shapeArea: FaceShapeArea, - type?: MediaSourceType - ): FaceShapeAreaOptions; - Future<FaceShapeAreaOptions> getFaceShapeAreaOptions( - {required FaceShapeArea shapeArea, - MediaSourceType type = MediaSourceType.primaryCameraSource});

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -

    调用该方法可以获取美型部位当前设置的参数信息。

    -
    -
    - 适用场景 -

    用户在 App 中打开美型部位和修饰力度菜单时,你可以调用该方法获取当前的美型部位选项,然后根据结果刷新用户界面中的菜单,并更新 UI。

    -
    -
    - 调用时机 -

    请在 之后调用该方法。

    -
    -
    - 调用限制 -

    无。

    -
    -
    - 参数 - - - area - shapeArea - -

    美型部位。详见

    -

    美型部位: -

      -
    • (-1):(默认)无效部位,美型不生效。
    • -
    • (0):头部,用于实现小头效果。对应修饰力度范围为 [0,100],值越大头越小,预设值为 100。
    • -
    • (1):额头,修饰发际线高度。对应修饰力度范围为 [-100,100],正值为调高,负值为调低,绝对值越大修饰效果越强,预设值为 50。
    • -
    • (2):脸部轮廓,用于实现瘦脸效果。对应修饰力度范围为 [0,100],值越大瘦脸效果越强,预设值为 10。
    • -
    • (3):脸部长度,用于实现长脸效果。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 0。
    • -
    • (4):脸部宽度,用于实现窄脸效果。对应修饰力度范围为 [0,100],值越大窄脸效果越强,预设值为 10。
    • -
    • (5):颧骨,修饰颧骨宽度。对应修饰力度范围为 [0,100],值越大颧骨越窄,预设值为 43。
    • -
    • (6):脸颊,修饰脸颊宽度。对应修饰力度范围为 [0,100],值越大脸颊越窄,预设值为 50。
    • -
    • (7):下巴,修饰下巴长度。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 -20。
    • -
    • (8):眼睛,用于实现大眼效果。对应修饰力度范围为 [0,100],值越大,眼睛越大,预设值为 53。
    • -
    • (9):鼻子长度,用于实现长鼻效果。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 -10。
    • -
    • (10):鼻子宽度,用于实现瘦鼻效果。对应修饰力度范围为 [-100,100],正值为变宽,负值为变窄,绝对值越大修饰效果越强,预设值为 72。
    • -
    • (11):嘴巴,修饰嘴巴大小。对应修饰力度范围为 [-100,100],正值为变大,负值为变小,绝对值越大修饰效果越强,预设值为 20。
    • -
    -

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

    方法成功调用时,返回 对象;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,返回
    • -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_getfaceshapeareaoptions2.dita b/dita/RTC-NG/API/api_irtcengine_getfaceshapeareaoptions2.dita deleted file mode 100644 index 5b8a434f3ef..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_getfaceshapeareaoptions2.dita +++ /dev/null @@ -1,58 +0,0 @@ - - - - <ph keyref="getFaceShapeAreaOptions2" /> - 获取美型部位选项。 - - - - - - - - -
    -

    - public abstract FaceShapeAreaOptions getFaceShapeAreaOptions(int shapeArea); - - - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area NS_SWIFT_NAME(getFaceShapeAreaOptions(_:)); - - - - - -

    -
    -
    -
    -
    -
    -
    - 参数 - - - - - - - - - - - - - -
    -
    - <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,返回
    • -
    - - diff --git a/dita/RTC-NG/API/api_irtcengine_getfaceshapebeautyoptions.dita b/dita/RTC-NG/API/api_irtcengine_getfaceshapebeautyoptions.dita deleted file mode 100644 index 0daf01fefa7..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_getfaceshapebeautyoptions.dita +++ /dev/null @@ -1,79 +0,0 @@ - - - - <ph keyref="getFaceShapeBeautyOptions" /> - 获取美型效果选项。 - - - - - - - - -
    -

    - public abstract FaceShapeBeautyOptions getFaceShapeBeautyOptions( - Constants.MediaSourceType sourceType); - - - (AgoraFaceShapeBeautyOptions * _Nullable)getFaceShapeBeautyOptions:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeBeautyOptions(_:)); - virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int GetFaceShapeBeautyOptions(FUABT_FaceShapeBeautyOptions & options, EUABT_MEDIA_SOURCE_TYPE type = EUABT_MEDIA_SOURCE_TYPE::PRIMARY_CAMERA_SOURCE); - abstract getFaceShapeBeautyOptions( - type?: MediaSourceType - ): FaceShapeBeautyOptions; - public abstract int GetFaceShapeBeautyOptions(ref FaceShapeBeautyOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract getFaceShapeBeautyOptions( - type?: MediaSourceType - ): FaceShapeBeautyOptions; - Future<FaceShapeBeautyOptions> getFaceShapeBeautyOptions( - {MediaSourceType type = MediaSourceType.primaryCameraSource});

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -

    调用该方法可以获取美型效果当前设置的参数信息。

    -
    -
    - 适用场景 -

    用户在 App 中打开美型风格和风格强度菜单时,你可以调用该方法获取当前的美型效果选项,然后根据结果刷新用户界面中的菜单,并更新 UI。

    -
    -
    - 调用时机 -

    请在 之后调用该方法。

    -
    -
    - 调用限制 -

    无。

    -
    -
    - 参数 - - - - - - - - - - -
    -
    - <ph keyref="return-section-title"/> -

    方法成功调用时,返回 对象;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,返回
    • -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_getfaceshapebeautyoptions2.dita b/dita/RTC-NG/API/api_irtcengine_getfaceshapebeautyoptions2.dita deleted file mode 100644 index d39f25d4d31..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_getfaceshapebeautyoptions2.dita +++ /dev/null @@ -1,56 +0,0 @@ - - - - <ph keyref="getFaceShapeBeautyOptions" /> - 获取美型效果选项。 - - - - - - - - -
    -

    - public abstract FaceShapeBeautyOptions getFaceShapeBeautyOptions( - Constants.MediaSourceType sourceType); - - - (AgoraFaceShapeBeautyOptions * _Nullable)getFaceShapeBeautyOptions:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeBeautyOptions(_:)); - virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - - - - -

    -
    -
    -
    -
    -
    -
    - 参数 - - - - - - - - - - -
    -
    - <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,返回
    • -
    - - diff --git a/dita/RTC-NG/API/api_irtcengine_getmediaplayersourceobserver.dita b/dita/RTC-NG/API/api_irtcengine_getmediaplayersourceobserver.dita deleted file mode 100644 index 8f176504eee..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_getmediaplayersourceobserver.dita +++ /dev/null @@ -1,42 +0,0 @@ - - - - <ph keyref="GetMediaPlayerSourceObserver" /> - 获取事件处理器。 - - - - - - - - -
    -

    - - - - - UFUNCTION(BlueprintPure, Category = "Agora|IRtcEngine") -UAgoraBPuIMediaPlayerSourceObserver* GetMediaPlayerSourceObserver(); - - - -

    -
    -
    -

    调用该方法获取事件处理器后,你可以调用 绑定对应的回调执行器。

    -
    -
    - 调用时机 -

    调用 后。

    -
    -
    - 调用限制 -

    无。

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

    返回一个指向 UAgoraBPuIMediaPlayerSourceObserver 事件处理器的指针。

    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita b/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita index 17eb43bfd4d..9cc2f2c1a2e 100644 --- a/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita +++ b/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita @@ -37,7 +37,7 @@
    返回值 -

    SDK 引擎的 Native 句柄。

    +

    SDK 引擎的 Native 句柄。

    • 0:方法调用成功。
    • < 0:方法调用失败。详见了解详情和解决建议。
    • diff --git a/dita/RTC-NG/API/api_irtcengine_getversion.dita b/dita/RTC-NG/API/api_irtcengine_getversion.dita index d5f64006a0c..cc7be0bb342 100644 --- a/dita/RTC-NG/API/api_irtcengine_getversion.dita +++ b/dita/RTC-NG/API/api_irtcengine_getversion.dita @@ -14,9 +14,7 @@

      public static String getSdkVersion() - public static getSdkVersion(): string { - return RtcEngineImpl.getRtcSdkVersion(); -} + + (NSString * _Nonnull)getSdkVersion; virtual const char* getVersion(int* build) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_initialize.dita b/dita/RTC-NG/API/api_irtcengine_initialize.dita index e47e88fbe15..f9ea6da6a57 100644 --- a/dita/RTC-NG/API/api_irtcengine_initialize.dita +++ b/dita/RTC-NG/API/api_irtcengine_initialize.dita @@ -2,7 +2,7 @@ <ph keyref="initialize"/> - 创建并初始化 初始化 + 创建并初始化 初始化 @@ -15,9 +15,7 @@

      public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} - public static create(config: RtcEngineConfig): RtcEngine { - return RtcEngineImpl.createEngineImpl(config); - } + + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; virtual int initialize(const RtcEngineContext& context) = 0; @@ -36,7 +34,7 @@

      调用时机

      请确保在调用其他 API 前先调用 创建并初始化

      -

      请确保在调用其他 API 前先调用该方法创建并初始化

      +

      请确保在调用其他 API 前先调用该方法创建并初始化

      调用限制 @@ -47,7 +45,7 @@ context - config + config

      实例的配置。详见

      diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita index 2e5a3d37bde..0c27a5767d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita @@ -14,7 +14,7 @@

      public abstract boolean isCameraAutoFocusFaceModeSupported(); - public abstract isCameraAutoFocusFaceModeSupported(): boolean; + - (BOOL)isCameraAutoFocusFaceModeSupported; virtual bool isCameraAutoFocusFaceModeSupported() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita index 1cefc1e7fa4..b2afb6d78b7 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita @@ -14,7 +14,7 @@

      public abstract boolean isCameraExposurePositionSupported(); - public abstract isCameraExposurePositionSupported(): boolean; + - (BOOL)isCameraExposurePositionSupported; virtual bool isCameraExposurePositionSupported() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita index ed2e9b80aa8..c49d159269e 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita @@ -14,7 +14,7 @@

      public abstract boolean isCameraExposureSupported(); - public abstract isCameraExposureSupported(): boolean; + - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported()); virtual bool isCameraExposureSupported() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -36,7 +36,7 @@

      • 该方法仅适用于 Android 和 iOS。
      • -
      • 该方法必须在 SDK 触发 回调,返回本地视频状态为 (1) 之后调用。
      • +
      • 该方法必须在 SDK 触发 回调,返回本地视频状态为 (2) 之后调用。
      • 建议你在调用 调节曝光系数前,先调用该方法查询当前摄像头是否支持曝光调节。
      • 当你调用该方法时,查询的是当前正在使用的摄像头是否支持曝光调节,即调用 时指定的摄像头。
      diff --git a/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita index c467422f081..7bfd7673c18 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita @@ -14,7 +14,7 @@

      public abstract boolean isCameraFaceDetectSupported(); - public abstract isCameraFaceDetectSupported(): boolean; + virtual bool isCameraFaceDetectSupported() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita index f145d36c129..68e714401b7 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita @@ -14,7 +14,7 @@

      public abstract boolean isCameraZoomSupported(); - public abstract isCameraZoomSupported(): boolean; + - (BOOL)isCameraZoomSupported; virtual bool isCameraZoomSupported() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -30,7 +30,7 @@

      调用时机 -

      该方法必须在 SDK 触发 回调,返回本地视频状态为 (1) 之后调用。

      +

      该方法必须在 SDK 触发 回调,返回本地视频状态为 (2) 之后调用。

      调用限制 diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannel.dita b/dita/RTC-NG/API/api_irtcengine_joinchannel.dita index ca7efbbc519..b0b6fb7cc18 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannel.dita @@ -72,7 +72,7 @@ uid - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231-1 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita b/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita index a99d76f6b0b..6d7a2522266 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -101,10 +101,10 @@ uid - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231-1 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 - options + options mediaOptions 频道媒体设置选项。详见 @@ -126,7 +126,7 @@
    • -2:传入的参数无效。例如,使用了不合法的 Token,uid 参数未设置为整型,或 成员值不合法。你需要填入有效的参数,重新加入频道。
    • -3: 对象初始化失败。你需要重新初始化 对象。
    • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
    • -
    • -8: 对象内部状态错误。可能的原因是:调用 开始通话回路测试后,未调用 停止测试就调用该方法加入频道。你需要在该方法前调用
    • +
    • -8: 对象内部状态错误。可能的原因是:调用 开始通话回路测试后,未调用 停止测试就调用该方法加入频道。你需要在该方法前调用
    • -17:加入频道被拒绝。可能的原因是用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) 状态外,不要再次调用该方法加入频道。
    • -102:频道名无效。你需要在 channelId 中填入有效的频道名,重新加入频道。
    • -121:用户 ID 无效。你需要在 uid 中填入有效的用户 ID,重新加入频道。
    • diff --git a/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita b/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita index da910159ae4..6ac30b7c2d8 100644 --- a/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita +++ b/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita @@ -28,8 +28,8 @@

      调用该方法后,SDK 会终止音视频互动、离开当前频道,并会释放会话相关的所有资源。

      -

      成功加入频道后,必须调用本方法或者 结束通话,否则无法开始下一次通话。如果你已调用 加入多个频道,调用本方法后会同时离开所有已加入的频道。

      -

      成功加入频道后,必须调用本方法结束通话,否则无法开始下一次通话。如果你已调用 加入多个频道,调用本方法后会同时离开所有已加入的频道。

      +

      成功加入频道后,必须调用本方法或者 结束通话,否则无法开始下一次通话。如果你已调用 加入多个频道,调用本方法后会同时离开所有已加入的频道。

      +

      成功加入频道后,必须调用本方法结束通话,否则无法开始下一次通话。如果你已调用 加入多个频道,调用本方法后会同时离开所有已加入的频道。

      该方法是异步操作,调用返回时并没有真正退出频道。
      diff --git a/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita b/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita index 03e4d20306d..a86c4fef670 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita @@ -44,7 +44,7 @@ 参数 - uid + uid 指定用户的用户 ID。 diff --git a/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita b/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita index 4efa4518caa..57fcb80f217 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita @@ -45,7 +45,7 @@ userId - uid + uid 指定用户的用户 ID。 @@ -69,4 +69,4 @@
    • < 0:方法调用失败。详见了解详情和解决建议。
    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita index 85d10a1df9b..065e6305600 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita @@ -14,7 +14,7 @@

    public abstract int pauseAllChannelMediaRelay(); - public abstract pauseAllChannelMediaRelay():number; + - (int)pauseAllChannelMediaRelay; virtual int pauseAllChannelMediaRelay() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_playeffect3.dita b/dita/RTC-NG/API/api_irtcengine_playeffect3.dita index 74dbcd8e916..40f83347ced 100644 --- a/dita/RTC-NG/API/api_irtcengine_playeffect3.dita +++ b/dita/RTC-NG/API/api_irtcengine_playeffect3.dita @@ -78,8 +78,7 @@

    调用限制 -

    如果你需要播放在线音效文件,声网建议先将在线音效文件缓存到本地设备,调用 将缓存的音效文件预加载到内存中,然后再调用此方法播放音效。否则,可能出现因在线音效文件加载超时、加载失败而导致的播放失败和无声的问题。

    -

    无。

    +

    如果你需要播放在线音效文件,声网建议先将在线音效文件缓存到本地设备,调用 将缓存的音效文件预加载到内存中,然后再调用此方法播放音效。否则,可能出现因在线音效文件加载超时、加载失败而导致的播放失败和无声的问题。

    详情 -
    +
    弃用:
    如果你需要推送 I422 格式的视频帧,请使用该方法。其他情况下,请改用
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita b/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita index bcfc861227e..19f711af6cd 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita @@ -14,7 +14,7 @@

    public abstract int pushExternalVideoFrameById(VideoFrame frame, int videoTrackId); - public abstract pushExternalVideoFrameById(frame: VideoFrame, videoTrackId: number): number; + @@ -27,7 +27,7 @@ 详情

    -

    调用该方法或 均能将视频帧数据传递给 SDK,区别为该方法支持 Texture 格式的视频数据。

    +

    调用该方法或 均能将视频帧数据传递给 SDK,区别为该方法支持 Texture 格式的视频数据。

    参数 diff --git a/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita b/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita index 3b0c796e209..0fa00595273 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita @@ -26,7 +26,7 @@
    详情

    -

    调用该方法或 均能将视频帧数据传递给 SDK。区别为该方法支持 Texture 格式的视频数据。

    +

    调用该方法或 均能将视频帧数据传递给 SDK。区别为该方法支持 Texture 格式的视频数据。

    参数 diff --git a/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita b/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita index 9afe84579f9..9d8f545981e 100644 --- a/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita @@ -15,7 +15,7 @@

    public AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); - - (NSArray<AgoraFocalLengthInfo *>* _Nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); + - (NSArray<AgoraFocalLengthInfo *>* __nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int QueryCameraFocalLengthCapability(const TArray<FFocalLengthInfo> & focalLengthInfos); diff --git a/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita b/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita index e8cc8fa00d6..4cf769bd79b 100644 --- a/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita @@ -15,7 +15,7 @@

    public abstract CodecCapInfo[] queryCodecCapability(); - - (NSArray <AgoraVideoCodecCapInfo *> *_Nullable)queryCodecCapability; + - (NSArray <AgoraVideoCodecCapInfo *> *__nullable)queryCodecCapability; virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_registerextension.dita b/dita/RTC-NG/API/api_irtcengine_registerextension.dita index 1b9cb96a234..c7b7cd4e971 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerextension.dita @@ -16,8 +16,8 @@ public abstract int registerExtension( String provider, String extension, Constants.MediaSourceType sourceType); - - (int)registerExtensionWithVendor:(NSString * _Nonnull)provider - extension:(NSString * _Nonnull)extension + - (int)registerExtensionWithVendor:(NSString * __nonnull)provider + extension:(NSString * __nonnull)extension sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:)); virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_renewtoken.dita b/dita/RTC-NG/API/api_irtcengine_renewtoken.dita index d73d36817ce..14d2b0a561e 100644 --- a/dita/RTC-NG/API/api_irtcengine_renewtoken.dita +++ b/dita/RTC-NG/API/api_irtcengine_renewtoken.dita @@ -40,6 +40,13 @@ 调用限制

    无。

    +
    参数 diff --git a/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita index 133825223ec..640f99b544e 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita @@ -14,7 +14,7 @@

    public abstract int resumeAllChannelMediaRelay(); - public abstract resumeAllChannelMediaRelay():number; + - (int)resumeAllChannelMediaRelay; virtual int resumeAllChannelMediaRelay() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita b/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita index 3f3cf0c3532..2d0a0ddcc60 100644 --- a/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita @@ -14,7 +14,7 @@

    public abstract int selectAudioTrack(int audioIndex); - public abstract selectAudioTrack(index: number): number; + - (int)selectAudioTrack:(NSInteger)index; virtual int selectAudioTrack(int index) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -37,7 +37,7 @@ int SelectAudioTrack(int index); 参数 - index + index audioIndex 指定的播放音轨。取值范围应大于等于 0 且小于 的返回值。 diff --git a/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita b/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita index 61481b56007..62cc327ffe7 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita @@ -53,7 +53,7 @@

    详情 -

    声网提供自定义数据上报和分析服务。该服务当前处于免费内测期。内测期提供的能力为 6 秒内最多上报 10 条数据,每条自定义数据不能超过 256 字节,每个字符串不能超过 100 字节。如需试用该服务,请开通并商定自定义数据格式。

    +

    声网提供自定义数据上报和分析服务。该服务当前处于免费内测期。内测期提供的能力为 6 秒内最多上报 10 条数据,每条自定义数据不能超过 256 字节,每个字符串不能超过 100 字节。如需试用该服务,请联系 开通并商定自定义数据格式。

    \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita b/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita index 51fb0e395cd..a7eabfefe99 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -38,10 +38,12 @@

    调用 后,你可以调用该方法向频道内所有用户发送数据流消息。

    SDK 对该方法的实现进行了如下限制:

      -
    • 频道内每个客户端最多可以同时拥有 5 个数据通道,所有数据通道共用的总发包码率限制为 30 KB/s。
    • -
    • 每个数据通道每秒最多能发送 60 个包,每个包最大为 1 KB。
    • +
    • 频道内每人最多能同时有 5 个数据通道。
    • +
    • 每个数据通道每秒最多能发送 60 个包(每个包最大为 1 KB)。
    • +
    • 每个数据通道每秒最多能发送 30 KB 数据。

    -

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息;若调用失败,远端会触发 回调。

    +

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息; + 若调用失败,远端会触发 回调。

    • 该方法需要在加入频道后、且调用 创建数据通道之后调用。
    • diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita b/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita index acd9d49d36b..7d5eaa34e2f 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita @@ -14,7 +14,7 @@

      public abstract int setAudioMixingPlaybackSpeed(int speed); - public abstract setAudioMixingPlaybackSpeed(speed: number): number + - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:)); virtual int setAudioMixingPlaybackSpeed(int speed) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita b/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita index e958d1c8603..c8f06e8b147 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita @@ -60,8 +60,8 @@ profile -

      音频编码属性,包含采样率、码率、编码模式和声道数。详见 -

        +

        音频编码属性,包含采样率、码率、编码模式和声道数。详见 +

        • (0):默认值。
          • @@ -87,4 +87,4 @@
          • < 0: 方法调用失败。详见了解详情和解决建议。
      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita b/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita index 01f7efbca47..73283a1bfd9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita @@ -43,8 +43,8 @@ scenario 音频场景。不同的音频场景下,设备的音量类型是不同的。 - 详见 -
        + 详见 +
        • (0):(默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
        • (3): 高音质场景,适用于音乐为主的场景。
        • (5): 聊天室场景,适用于用户需要频繁上下麦的场景。
        • diff --git a/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita b/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita index 7ad598169f8..76bdac391ba 100644 --- a/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita @@ -68,9 +68,9 @@ options 美颜选项,详细定义见 - - - + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita b/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita index 92e3e79d2d6..a4d0fd953c8 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita @@ -14,7 +14,7 @@

    public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); - public abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; + - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita index c7d641d256c..82081bdb1f2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita @@ -36,10 +36,10 @@

    该方法必须在开启本地摄像头采集前调用,如 前调用。

    - 调用限制 + <ph>调用限制</ph>

    在调整摄像头的焦距配置前,建议先调用 查询设备支持的焦距能力,再根据查询结果进行配置。

    由于部分 Android 设备的限制,即使根据 的查询结果设置焦距类型,设置结果也可能不生效。

    -

    无。

    +

    无。

    参数 diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita b/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita index c1ae077263f..46d1479943e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita @@ -14,7 +14,7 @@

    public abstract int setCameraExposureFactor(int factor); - public abstract setCameraExposureFactor(factor: number): number; + - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:)); virtual int setCameraExposureFactor(float factor) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita b/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita index 6efdd0619b2..c0a6280e4f8 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita @@ -14,7 +14,7 @@

    public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); - public abstract setCameraExposurePosition(positionXinView: number, positionYinView: number): number; + - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; @@ -44,11 +44,11 @@

    参数 - + positionXinView 触摸点相对于视图的横坐标。 - + positionYinView 触摸点相对于视图的纵坐标。 diff --git a/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita b/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita index 70a41a6a0e1..60b2b74a989 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita @@ -44,11 +44,11 @@
    参数 - + positionX 触摸点相对于视图的横坐标。 - + positionY 触摸点相对于视图的纵坐标。 diff --git a/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita b/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita index ed96514d3eb..38540f626d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita @@ -14,7 +14,7 @@

    public abstract int setCameraTorchOn(boolean isOn); - + public abstract setCameraTorchOn(isOn:boolean):number; - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); virtual int setCameraTorchOn(bool isOn) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita b/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita index 3d39dc25410..dd52639346e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita @@ -14,7 +14,7 @@

    public abstract int setCameraZoomFactor(float factor); - public abstract setCameraZoomFactor(factor: number): number; + public abstract setCameraZoomFactor(factor:number):number; - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; virtual int setCameraZoomFactor(float factor) = 0; @@ -38,7 +38,7 @@ 参数 - factor + factor zoomFactor 摄像头缩放比例。对不支持超广角的设备,取值范围从 1.0 到最大缩放比例;对支持超广角的设备,取值范围从 0.5 到最大缩放比例。你可以通过 方法获取设备支持的最大缩放比例。 diff --git a/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita b/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita index 57d8825412a..b60eb80942f 100644 --- a/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita @@ -34,7 +34,7 @@

    SDK 默认设置用户角色为观众,你可以调用该方法设置用户角色为主播。用户角色(role)确定用户在 SDK 层的权限,包含是否有发流权限等。

    -

    该方法与 的区别在于,该方法还支持设置观众端延时级别(audienceLatencyLevel)。audienceLatencyLevel 需与 role 结合使用,确定用户在其权限范围内可以享受到的服务。例如对于观众,选择接收低延时还是超低延时的视频流。不同的延时级别会影响计费,详见

    +

    该方法与 的区别在于,该方法还支持设置观众端延时级别(audienceLatencyLevel)。audienceLatencyLevel 需与 role 结合使用,确定用户在其权限范围内可以享受到的服务。例如对于观众,选择接收低延时还是超低延时的视频流。不同的延时级别会影响计费,详见

    调用时机 diff --git a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita index 1e8a2a760ff..d55afb5061d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita @@ -46,6 +46,11 @@
    • 请在 后调用该方法。
    • 色彩增强对设备性能有一定要求。开启色彩增强后,如果设备出现严重发烫等问题,建议你将色彩增强等级修改为消耗性能较少的等级或关闭色彩增强功能。
    • +
    • 该方法和 均可开启色彩增强功能: +
        +
      • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
      • +
      • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
      • +
    • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
    diff --git a/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita b/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita index 279942558e1..b8756fa1e36 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -46,15 +46,15 @@
    调用时机 -

    该方法需要在加入频道前调用。如需在加入频道后切换音频路由,请调用

    +

    该方法需要在加入频道前调用。如需在加入频道后切换音频路由,请调用

    调用限制

    无。

    参数 @@ -76,4 +76,4 @@
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • - + \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita b/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita index ad4a198ef02..6ff3ebeb3e4 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita @@ -33,7 +33,7 @@

    SDK 默认在发送端开启小流自适应模式 (),即发送端不主动发送小流,主播身份的接收端可以调用 发起小流申请,发送端收到申请后开始自动发送小流。

    • 如果你想修改此行为,可以调用该方法并修改 mode(始终不发送小流)或 (始终发送小流)。
    • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为

    - 该方法和 的区别与联系如下: + 该方法和 的区别与联系如下:
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • diff --git a/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita b/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita index fb176f56eca..a05b40799b3 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita @@ -44,8 +44,8 @@

    -

    该方法跟 的区别在于,该方法还可以进行视频小流的配置,SDK 会根据 streamConfig 中的配置发送小流。

    - 该方法和 的区别与联系如下: +

    该方法跟 的区别在于,该方法还可以进行视频小流的配置,SDK 会根据 streamConfig 中的配置发送小流。

    + 该方法和 的区别与联系如下:
    • 调用该方法并设置 mode 时,跟调用 并设置 enabled 的效果相同。
    • 调用该方法并设置 mode 时,跟调用 并设置 enabled 的效果相同。
    • diff --git a/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita b/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita index a271c08ab77..042723de964 100644 --- a/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -14,7 +14,7 @@

      public abstract int setEnableSpeakerphone(boolean enabled); - + public abstract setEnableSpeakerphone(enabled: boolean): number; - (int)setEnableSpeakerphone:(BOOL)enableSpeaker; virtual int setEnableSpeakerphone(bool speakerOn) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita b/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita index cf278c9a910..fc9fe130b03 100644 --- a/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita @@ -17,7 +17,7 @@ String provider, String extension, String key, String value); - - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider extension:(NSString * _Nonnull)extension key:(NSString * _Nonnull)key value:(NSString * _Nonnull)value; + - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key value:(NSString * __nonnull)value; virtual int setExtensionProperty( const char* provider, const char* extension, diff --git a/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita b/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita index 6814e7f83fc..054f643fd3a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita @@ -16,7 +16,7 @@ public abstract int setExtensionProviderProperty(String provider, String key, String value); - - (int) setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider key:(NSString * _Nonnull)key value:(NSString * _Nonnull)value; + - (int) setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider key:(NSString * __nonnull)key value:(NSString * __nonnull)value; virtual int setExtensionProviderProperty( const char* provider, const char* key, const char* value) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_setexternalmediaprojection.dita b/dita/RTC-NG/API/api_irtcengine_setexternalmediaprojection.dita deleted file mode 100644 index cd4a395301e..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setexternalmediaprojection.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="setExternalMediaProjection"/> - 设置 SDK 外部的 MediaProjection 采集屏幕视频流。 - - - - - - - - -

      -

      - public abstract int setExternalMediaProjection(MediaProjection mediaProjection); - - - virtual int setExternalMediaProjection(void* mediaProjection) = 0; - - - public abstract int SetExternalMediaProjection(IntPtr mediaProjection); - abstract setExternalMediaProjection(mediaProjection: any): number; - Future<void> setExternalMediaProjection(int mediaProjection);

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      - 该方法仅适用于 Android。 -

      成功调用该方法后,你设置的外部 MediaProjection 会替换掉 SDK 申请的 MediaProjection 采集屏幕视频流。

      -

      当停止屏幕共享或销毁 时,SDK 会自动释放 MediaProjection。

      -
      -
      - 适用场景 -

      如果你具备自行申请 MediaProjection 的开发能力,可以直接使用该 MediaProjection 取代 SDK 申请的 MediaProjection 。以下列出两种使用场景:

        -
      • 在定制系统的设备上,可避免系统弹窗(即需要用户授予屏幕采集权限),直接开始采集屏幕视频流。
      • -
      • 一个屏幕共享进程中存在一个或多个子进程,避免在子进程中自行创建对象的过程出错而导致采集失败。
      • -

      -
      -
      - 调用时机 -

      该方法需要在 之前调用。

      -
      -
      - 调用限制 -

      在调用该方法前,必须先申请 MediaProjection 权限。

      -
      -
      - 参数 - - - mediaProjection - 一个 对象,用于采集屏幕视频流。 - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
      - - diff --git a/dita/RTC-NG/API/api_irtcengine_setexternalremoteeglcontext.dita b/dita/RTC-NG/API/api_irtcengine_setexternalremoteeglcontext.dita deleted file mode 100644 index efa4a2d784b..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setexternalremoteeglcontext.dita +++ /dev/null @@ -1,65 +0,0 @@ - - - - <ph keyref="setExternalRemoteEglContext"/> - 设置远端视频流渲染的 EGL 环境上下文。 - - - - - - - - -
      -

      - public abstract int setExternalRemoteEglContext(Object eglContext); - - - virtual int setExternalRemoteEglContext(void* eglContext) = 0; - - - public abstract int SetExternalRemoteEglContext(IntPtr eglContext); - abstract setExternalRemoteEglContext(eglContext: any): number; - Future<void> setExternalRemoteEglContext(int eglContext);

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      通过设置该方法,开发者可以替换 SDK 内部默认的远端 EGL 环境上下文,便于实现统一的 EGL 上下文管理。

      -

      引擎销毁时,SDK 会自动释放 EGL 环境上下文。

      - 该方法仅适用于 Android。 -
      -
      - 适用场景 -

      该方法适用于使用 Texture 格式的视频数据进行远端视频自渲染的场景。

      -
      -
      - 调用时机 -

      该方法需要在加入频道前调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - eglContext - 用于远端视频流渲染的 EGL 环境上下文对象。 - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
      -
      -
      \ No newline at end of file diff --git a/dita/RTC-NG/API/api_irtcengine_setfaceshapeareaoptions.dita b/dita/RTC-NG/API/api_irtcengine_setfaceshapeareaoptions.dita deleted file mode 100644 index 3ba4e72357f..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setfaceshapeareaoptions.dita +++ /dev/null @@ -1,82 +0,0 @@ - - - - <ph keyref="setFaceShapeAreaOptions" /> - 设置美型部位选项并指定媒体源。 - - - - - - - - -
      -

      - public abstract int setFaceShapeAreaOptions( - FaceShapeAreaOptions options, Constants.MediaSourceType sourceType); - - - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeAreaOptions(_:sourceType:)); - virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetFaceShapeAreaOptions(const FUABT_FaceShapeAreaOptions& options, EUABT_MEDIA_SOURCE_TYPE type = EUABT_MEDIA_SOURCE_TYPE::PRIMARY_CAMERA_SOURCE); - abstract setFaceShapeAreaOptions( - options: FaceShapeAreaOptions, - type?: MediaSourceType - ): number; - public abstract int SetFaceShapeAreaOptions(FaceShapeAreaOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setFaceShapeAreaOptions( - options: FaceShapeAreaOptions, - type?: MediaSourceType - ): number; - Future<void> setFaceShapeAreaOptions( - {required FaceShapeAreaOptions options, - MediaSourceType type = MediaSourceType.primaryCameraSource});

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      如果在 方法中实现的预设美型效果达不到预期,你可以通过该方法设置美型部位选项,对人脸的各个部位单独微调,实现更加精细的美型效果。详见

      -

      该方法和 均可用于设置美型部位选项,区别在于该方法支持指定应用美型效果的媒体源。

      - -
      -
      - 调用时机 -

      请在 之后调用该方法。

      -
      -
      -
      -
      - 参数 - - - options - 美型部位选项,详见 - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。 -
          -
        • -4:当前设备不支持该功能,可能的原因有: -
            -
          • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
          • -
          • 当前设备版本低于 Android 4.4,不支持该操作,建议更换设备或升级操作系统。
          • -
          -
        • -
        -
      • -
      -
      -
      diff --git a/dita/RTC-NG/API/api_irtcengine_setfaceshapeareaoptions2.dita b/dita/RTC-NG/API/api_irtcengine_setfaceshapeareaoptions2.dita deleted file mode 100644 index a29a70d8e5d..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setfaceshapeareaoptions2.dita +++ /dev/null @@ -1,71 +0,0 @@ - - - - <ph keyref="setFaceShapeAreaOptions" /> - 设置美型部位选项。 - - - - - - - - -
      -

      - public abstract int setFaceShapeAreaOptions(FaceShapeAreaOptions options); - - - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeAreaOptions(_:sourceType:)); - virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      如果在 方法中实现的预设美型效果达不到预期,你可以通过该方法设置美型部位选项,对人脸的各个部位单独微调,实现更加精细的美型效果。详见

      - -
      -
      - 调用时机 -

      请在调用 之后调用该方法。

      -
      -
      -
      -
      - 参数 - - - - - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。 -
          -
        • -4:当前设备不支持该功能,可能的原因有: -
            -
          • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
          • -
          • 当前设备版本低于 Android 4.4,不支持该操作,建议更换设备或升级操作系统。
          • -
          -
        • -
        -
      • -
      -
      -
      diff --git a/dita/RTC-NG/API/api_irtcengine_setfaceshapebeautyoptions.dita b/dita/RTC-NG/API/api_irtcengine_setfaceshapebeautyoptions.dita deleted file mode 100644 index 3c4361b5af4..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setfaceshapebeautyoptions.dita +++ /dev/null @@ -1,102 +0,0 @@ - - - - <ph keyref="setFaceShapeBeautyOptions" /> - 设置美型效果选项并指定媒体源。 - - - - - - - - -
      -

      - public abstract int setFaceShapeBeautyOptions( - boolean enabled, FaceShapeBeautyOptions options, Constants.MediaSourceType sourceType); - - - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:sourceType:)); - virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetFaceShapeBeautyOptions(bool enabled, const FUABT_FaceShapeBeautyOptions& options, EUABT_MEDIA_SOURCE_TYPE type = EUABT_MEDIA_SOURCE_TYPE::PRIMARY_CAMERA_SOURCE); - abstract setFaceShapeBeautyOptions( - enabled: boolean, - options: FaceShapeBeautyOptions, - type?: MediaSourceType - ): number; - public abstract int SetFaceShapeBeautyOptions(bool enabled, FaceShapeBeautyOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setFaceShapeBeautyOptions( - enabled: boolean, - options: FaceShapeBeautyOptions, - type?: MediaSourceType - ): number; - Future<void> setFaceShapeBeautyOptions( - {required bool enabled, - required FaceShapeBeautyOptions options, - MediaSourceType type = MediaSourceType.primaryCameraSource});

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      调用该方法可对人脸各部位进行修饰,使用预设的参数一次性实现瘦脸、大眼、瘦鼻等微整形效果,支持微调整体的修饰力度。详见

      -

      该方法和 均可用于设置美型效果选项,区别在于该方法支持指定应用美型效果的媒体源。

      - 美型属于增值服务,计费方式详见 -
      -
      - 调用时机 -

      请在 之后调用该方法。

      -
      -
      - 调用限制 -
        -
      • 该方法仅适用于 Android 4.4 及以上版本。
      • -
      • 在 Android 平台上,该方法仅适用于 Android 4.4 及以上版本。
      • -
      • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
      • -
      • 该功能对设备性能要求较高,调用该方法时 SDK 会自动对当前设备能力进行检查。
      • -
      -
      -
      - 参数 - - - enabled - enable - 是否开启美型效果: - -
        -
      • : 开启美型功能。
      • -
      • :(默认)关闭美型功能。
      • -
      -
      - - options - 美型风格选项,详见 - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。 -
          -
        • -4:当前设备不支持该功能,可能的原因有: -
            -
          • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
          • -
          • 当前设备版本低于 Android 4.4,不支持该操作,建议更换设备或升级操作系统。
          • -
          -
        • -
        -
      • -
      -
      -
      diff --git a/dita/RTC-NG/API/api_irtcengine_setfaceshapebeautyoptions2.dita b/dita/RTC-NG/API/api_irtcengine_setfaceshapebeautyoptions2.dita deleted file mode 100644 index 56b0534b963..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setfaceshapebeautyoptions2.dita +++ /dev/null @@ -1,73 +0,0 @@ - - - - <ph keyref="setFaceShapeBeautyOptions2" /> - 设置美型效果选项。 - - - - - - - - -
      -

      - public abstract int setFaceShapeBeautyOptions(boolean enabled, FaceShapeBeautyOptions options); - - - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:)); - - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      调用该方法可对脸部指定部位进行调整,从而实现瘦脸、大眼、瘦鼻等微整形效果。详见

      - -
      -
      -
      -
      -
      -
      - 参数 - - - - - - - - - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。 -
          -
        • -4:当前设备不支持该功能,可能的原因有: -
            -
          • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
          • -
          • 当前设备版本低于 Android 4.4,不支持该操作,建议更换设备或升级操作系统。
          • -
          -
        • -
        -
      • -
      -
      -
      diff --git a/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita b/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita deleted file mode 100644 index 06521ce2cf5..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita +++ /dev/null @@ -1,96 +0,0 @@ - - - - <ph keyref="setFilterEffectOptions"/> - 设置滤镜效果选项并指定媒体源。 - - - - - - - - -
      -

      - public abstract int setFilterEffectOptions( - boolean enabled, FilterEffectOptions options, Constants.MediaSourceType sourceType); - - - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFilterEffectOptions(_:options:sourceType:)); - virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetFilterEffectOptions(bool enabled, const FUABT_FilterEffectOptions& options, EUABT_MEDIA_SOURCE_TYPE type = EUABT_MEDIA_SOURCE_TYPE::PRIMARY_CAMERA_SOURCE); - abstract setFilterEffectOptions( - enabled: boolean, - options: FilterEffectOptions, - type?: MediaSourceType - ): number; - public abstract int SetFilterEffectOptions(bool enabled, FilterEffectOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setFilterEffectOptions( - enabled: boolean, - options: FilterEffectOptions, - type?: MediaSourceType - ): number; - Future<void> setFilterEffectOptions( - {required bool enabled, - required FilterEffectOptions options, - MediaSourceType type = MediaSourceType.primaryCameraSource});

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      该方法和 均可用于设置滤镜效果选项,区别在于该方法支持在设置滤镜效果选项时指定应用滤镜的媒体源。

      -
      -
      - 调用时机 -

      请在 之后调用该方法。

      -
      -
      - 调用限制 -
        -
      • 该方法仅适用于 Android 5.0 及以上版本。
      • -
      • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
      • -
      • 该功能对设备性能要求较高,调用该方法时 SDK 会自动对当前设备能力进行检查。
      • -
      -
      -
      - 参数 - - - enabled - enable - 是否开启滤镜效果: - -
        -
      • : 开启滤镜功能。
      • -
      • :(默认)关闭滤镜功能。
      • -
      -
      - - options - 滤镜选项,详见 - - - type - sourceType - 效果应用的媒体源类型。详见 。 - 在该方法中,该参数仅支持以下两种设置: -
        -
      • 使用摄像头采集本地视频时,请保持默认值
      • -
      • 如果要使用自定义采集的视频,将该参数设置为
      • -
      -
      -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
      -
      -
      diff --git a/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions2.dita b/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions2.dita deleted file mode 100644 index 113941c5310..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions2.dita +++ /dev/null @@ -1,57 +0,0 @@ - - - - <ph keyref="setFilterEffectOptions2"/> - 设置滤镜效果选项。 - - - - - - - - -
      -

      - public abstract int setFilterEffectOptions(boolean enabled, FilterEffectOptions options); - - - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options NS_SWIFT_NAME(setFilterEffectOptions(_:options:)); - - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      -
      -
      - 参数 - - - - - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
        -
      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
      - - diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita b/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita index 16e115ec00b..f45f4eb792a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita @@ -34,7 +34,7 @@
      调用限制 -

      该方法仅在部署声网混合云方案后生效。你可以了解和部署声网混合云。

      +

      该方法仅在部署声网混合云方案后生效。你可以联系 了解和部署声网混合云。

      参数 diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita index d40be896816..6fdc1f12dbc 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita @@ -14,7 +14,7 @@

      public abstract int setLocalRenderMode(int renderMode); - + public abstract setLocalRenderMode(renderMode: number, mirrorMode: number): number; - (int)setLocalRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita index 4ad2ded3587..5fde4f6d6e9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita @@ -53,7 +53,7 @@ 参数 - renderMode + renderMode mode

      本地视图显示模式。详见

      @@ -62,7 +62,7 @@
      • (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
      • (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
      • -
      • (3):匹配模式。 +
      • (3):匹配模式。
        弃用:
        diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita deleted file mode 100644 index f8abf9e020f..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita +++ /dev/null @@ -1,77 +0,0 @@ - - - - <ph keyref="setLocalRenderTargetFps"/> - 设置本地视频渲染的最大帧率。 - - - - - - - - -
        -

        - (int)setLocalRenderTargetFps:(AgoraVideoSourceType)sourceType -targetFps:(int)targetFps; - - public abstract int setLocalRenderTargetFps(Constants.VideoSourceType sourceType, int targetFps); - virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLocalRenderTargetFps(EUABT_VIDEO_SOURCE_TYPE sourceType, int targetFps); - abstract setLocalRenderTargetFps( - sourceType: VideoSourceType, - targetFps: number - ): number; - public abstract int SetLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps); - abstract setLocalRenderTargetFps( - sourceType: VideoSourceType, - targetFps: number - ): number; - Future<void> setLocalRenderTargetFps( - {required VideoSourceType sourceType, required int targetFps});

        -
        -
        -
        - -
        自从
        -
        v4.5.0
        -
        -
        -

        -

        -
        - 适用场景 -

        在对视频渲染帧率要求不高的场景(例如:屏幕共享、在线教育)下,你可以调用该方法设置本地视频渲染的最大帧率,SDK 进行本地渲染的实际帧率会尽量接近该值,从而减小 CPU 消耗、提升系统性能。

        -
        -
        - 调用时机 -

        该方法在加入频道前后均可调用。

        -
        -
        - 调用限制 -

        无。

        -
        -
        - 参数 - - - - - - - targetFps - 最大渲染帧率 (fps)。支持的参数值为:1、7、10、15、24、30、60。 - 请将此参数设置为低于视频实际帧率的渲染帧率,否则设置将不会生效。 - -
        -
        - <ph keyref="return-section-title"/> -

        方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

        -
          -
        • 0: 方法调用成功。
        • -
        • < 0: 方法调用失败。详见了解详情和解决建议。
        • -
        -
        -
        diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvideodatasourceposition.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvideodatasourceposition.dita deleted file mode 100644 index 681d5cf2bab..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvideodatasourceposition.dita +++ /dev/null @@ -1,54 +0,0 @@ - - - - <ph keyref="setLocalVideoDataSourcePosition"/> - 设置本地视频帧的观测位置。 - - - - - - - - -
        -

        - - - - - - - public abstract int SetLocalVideoDataSourcePosition(VIDEO_MODULE_POSITION position); - -

        -
        -
        -
        - 调用时机 -

        该方法需要在创建第一个 视图之前调用。

        -
        -
        - 调用限制 -

        该方法仅支持观测通过 及其子类渲染的本地视频数据。

        -
        -
        - 参数 - - - position - 视频帧的观测位置,详见 。 - -
        • 该方法目前仅支持将观测位置设为
        • -
        • 处获取的视频帧未经裁剪且帧率较高, 位置获取的视频帧经过发送前的裁剪,帧率小于或等于摄像头采集的帧率。
        -
        -
        -
        - <ph keyref="return-section-title"/> -

        方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

        -
          -
        • 0: 方法调用成功。
        • -
        • < 0: 方法调用失败。详见了解详情和解决建议。
        • -
        - - diff --git a/dita/RTC-NG/archive/api_irtcengine_setlocalvoicereverbpreset.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita similarity index 100% rename from dita/RTC-NG/archive/api_irtcengine_setlocalvoicereverbpreset.dita rename to dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita diff --git a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita index a0b34f51b37..bfb20987759 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita @@ -19,8 +19,8 @@ - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:)); virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLowlightEnhanceOptions(bool enabled, const FUABT_LowlightEnhanceOptions& options, EUABT_MEDIA_SOURCE_TYPE type); + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + int SetLowlightEnhanceOptions(bool enabled, const FLowlightEnhanceOptions& options, EMEDIA_SOURCE_TYPE type); abstract setLowlightEnhanceOptions( enabled: boolean, options: LowlightEnhanceOptions, @@ -38,31 +38,23 @@ MediaSourceType type = MediaSourceType.primaryCameraSource});

        -
        -

        你可以调用该方法开启暗光增强功能并设置暗光增强的效果。

        -
        -
        - 适用场景 +
        + 详情

        暗光增强功能可以在光线亮度偏低(如背光、阴天、暗场景)和亮度不均匀的环境下自适应调整视频画面的亮度值,恢复或凸显图像的细节信息,最终提升视频图像的整体视觉效果。

        -
        -
        - 调用时机 -

        请在 后调用该方法。

        -
        -
        - 调用限制 +

        你可以调用该方法开启暗光增强功能并设置暗光增强的效果。

        +
          -
        • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
        • -
        • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,建议你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
        • -
        • 如果要实现优先画质 () 的暗光增强,需要先调用 实现视频降噪,具体对应关系如下: -
            -
          • 暗光增强为自动模式 () 时,视频降噪需设置为优先画质 ()、自动模式 ()。
          • -
          • 暗光增强为手动模式 () 时,视频降噪需设置为优先画质 ()、手动模式 ()。
          • -
          -
        • -
        -
        -
        +
      • 请在 后调用该方法。
      • +
      • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,建议你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
      • +
      • 该方法和 均可开启暗光增强功能: + +
          +
        • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
        • +
        • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
        • +
      • +
      • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
      • +
      +
      参数 @@ -80,12 +72,7 @@ type - 效果应用的媒体源类型。详见 。 - 在该方法中,该参数仅支持以下两种设置: -
        -
      • 使用摄像头采集本地视频时,请保持默认值
      • -
      • 如果要使用自定义采集的视频,将该参数设置为
      • -
      + 媒体源类型,详见
      diff --git a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita index 8b3746be57b..fdba412b2d3 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita @@ -17,22 +17,21 @@ boolean enabled, LowLightEnhanceOptions options, Constants.MediaSourceType sourceType); - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:)); - virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLowlightEnhanceOptions(bool enabled, const FUABT_LowlightEnhanceOptions& options, EUABT_MEDIA_SOURCE_TYPE type); + +

      -
      +
      + 详情 +

      暗光增强功能可以在光线亮度偏低(如背光、阴天、暗场景)和亮度不均匀的环境下自适应调整视频画面的亮度值,恢复或凸显图像的细节信息,最终提升视频图像的整体视觉效果。

      该方法和 均可用于设置暗光增强功能,区别在于该方法支持在设置暗光增强功能时指定应用暗光增强的媒体源。

      +
      -
      -
      -
      -
      +
      参数 @@ -43,6 +42,10 @@ + + type + 媒体资源类型,详见 + diff --git a/dita/RTC-NG/API/api_irtcengine_setparameters.dita b/dita/RTC-NG/API/api_irtcengine_setparameters.dita index d09551b63a3..81c7ab78060 100644 --- a/dita/RTC-NG/API/api_irtcengine_setparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setparameters.dita @@ -37,7 +37,7 @@ 参数 - parameters + parameters options JSON 字符串形式的参数。 diff --git a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita index 420f72f7254..430977fea54 100644 --- a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita @@ -14,7 +14,7 @@

      public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - public abstract setPlaybackAudioFrameBeforeMixingParameters(sampleRate:number,channel:number):number; + public abstract setPlaybackAudioFrameBeforeMixingParameters(sampleRate:number,channel:number):number; - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel; virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; diff --git a/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita b/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita index 4961d62d5ff..3f8d387ebca 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita @@ -49,8 +49,8 @@ streamType -

      默认订阅的视频流类型:

      -

      默认订阅的视频流类型: +

      默认订阅的视频流类型:

      +

      默认订阅的视频流类型:

      • (0):视频大流,即高分辨率、高码率视频流。
      • (1):视频小流,即低分辨率、低码率视频流。
      • diff --git a/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita b/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita index 959603d3a68..f5e1dda352e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita @@ -51,11 +51,11 @@ userId - uid + uid 远端用户 ID。 - renderMode + renderMode mode

        远端用户视图的渲染模式,详见

        @@ -70,7 +70,7 @@
        - mirrorMode + mirrorMode mirror

        远端用户视图的镜像模式,详见

        diff --git a/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita b/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita deleted file mode 100644 index fc6b677c86b..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita +++ /dev/null @@ -1,64 +0,0 @@ - - - - <ph keyref="setRemoteRenderTargetFps"/> - 设置视频在远端渲染的最大帧率。 - - - - - - - - -
        -

        - public abstract int setRemoteRenderTargetFps(int targetFps); - - - (int)setRemoteRenderTargetFps:(int)targetFps; - virtual int setRemoteRenderTargetFps(int targetFps) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetRemoteRenderTargetFps(int targetFps); - abstract setRemoteRenderTargetFps(targetFps: number): number; - public abstract int SetRemoteRenderTargetFps(int targetFps); - abstract setRemoteRenderTargetFps(targetFps: number): number; - Future<void> setRemoteRenderTargetFps(int targetFps);

        -
        -
        -
        - -
        自从
        -
        v4.5.0
        -
        -
        -

        -

        -
        - 适用场景 -

        在对视频渲染帧率要求不高的场景(例如:屏幕共享、在线教育)或者远端使用中低端设备的场景下,你可以调用该方法设置视频在远端渲染的最大帧率,SDK 进行远端视频渲染的实际帧率会尽量接近该值,从而减小 CPU 消耗、提升系统性能。

        -
        -
        - 调用时机 -

        该方法在加入频道前后均可调用。

        -
        -
        - 调用限制 -

        无。

        -
        -
        - 参数 - - - - - -
        -
        - <ph keyref="return-section-title"/> -

        方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

        -
          -
        • 0: 方法调用成功。
        • -
        • < 0: 方法调用失败。详见了解详情和解决建议。
        • -
        -
        -
        diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita b/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita index 5d97fc5de1e..15965b90c48 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita @@ -59,8 +59,8 @@ streamType -

        视频流类型:

        -

        视频流类型: +

        视频流类型:

        +

        视频流类型:

        • 0:视频大流。
        • 1:视频小流。
        • diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita index bafc3665171..02eb4b323e5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita @@ -35,13 +35,21 @@
      详情 -

      当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。SDK 对远端视频流的默认订阅行为取决于注册的视频观测器类型:

        -
      • 如果注册的是 观测器,则默认订阅原始数据和编码后的数据。
      • -
      • 如果注册的是 观测器,则默认仅订阅编码后的数据。
      • -
      • 如果注册了两种观测器,则默认跟随后注册的视频观测器。举例来说,如果后注册的是 观测器,则默认订阅原始数据和编码后的数据。
      • -
      - 如果你想修改以上默认行为,或者想针对不同 uid 设置不同的订阅选项,可调用该方法设置。有关详细的实现步骤,详见

      -
      +

      当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。

      +

      +

        +
      • 如果你只注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
      • +
      • 如果你只注册了 对象,则默认只订阅编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
      • +
      • 如果你先后注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
      • +
      • 如果你先调用该方法设置了 options 参数、然后再注册 对象,则需要再次调用该方法并按照以上两项描述设置 options 参数,以获得预期的效果。
      • +

      + 声网推荐你按照以下步骤调用该方法: + +
        +
      1. 调用 加入频道时设置 autoSubscribeVideo
      2. +
      3. 在收到 回调后调用该方法,设置对指定远端用户视频流的订阅选项。
      4. +
      5. 调用 方法,开始恢复订阅指定远端用户的视频流。如果你在上一步中将 encodedFrameOnly 设置为 ,SDK 会在本地触发 回调,上报接收到的编码后视频帧信息。
      6. +
      参数 diff --git a/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita b/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita index d87eccb09fb..1bde9a3adc5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita @@ -26,7 +26,7 @@

      -

      该方法初始化本地视图并设置本地用户视频显示属性,只影响本地用户看到的视频画面,不影响本地视频的发布。调用该方法绑定本地视频流的显示视窗 (view),并设置本地用户视图的渲染模式和镜像模式。

      +

      该方法初始化本地视图并设置本地用户视频显示属性,只影响本地用户看到的视频画面,不影响本地视频的发布。调用该方法绑定本地视频流的显示视窗(view),并设置本地用户视图的渲染模式和镜像模式。

      退出频道后绑定仍然有效。如果需要停止渲染或解除绑定,可以调用该方法将参数 view 设为 ,以停止渲染并清理渲染缓存。

        diff --git a/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita b/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita index 6d49f9fe2f6..eae02628ca2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -44,7 +44,7 @@ 参数 - canvas + canvas remote

        远端视频显示属性。详见

        diff --git a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita index 45aaac06357..3c0eb0eca9d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita @@ -19,8 +19,8 @@ - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:)); virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetVideoDenoiserOptions(bool enabled, const FUABT_VideoDenoiserOptions& options, EUABT_MEDIA_SOURCE_TYPE type); + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + int SetVideoDenoiserOptions(bool enabled, const FVideoDenoiserOptions& options, EMEDIA_SOURCE_TYPE type); abstract setVideoDenoiserOptions( enabled: boolean, options: VideoDenoiserOptions, @@ -38,40 +38,30 @@ MediaSourceType type = MediaSourceType.primaryCameraSource});

      -
      -

      你可以调用该方法开启视频降噪功能并设置视频降噪的效果。

      - 如果该方法实现的降噪强度无法满足你的需求,声网推荐你调用 方法启用美颜磨皮功能,以获得更好的视频降噪效果。强效降噪效果的 推荐设置如下: -
        -
      • lighteningContrastLevel
      • -
      • lighteningLevel:0.0
      • -
      • smoothnessLevel:0.5
      • -
      • rednessLevel:0.0
      • -
      • sharpnessLevel:0.1
      • -
      -
      -
      - 适用场景 +
      + 详情

      采光不足的环境和低端视频采集设备会使视频图像含有明显的噪声,影响视频画质。在实时互动场景下,视频噪声还会在编码过程中占用码流资源并降低编码效率。

      -
      -
      - 调用时机 -

      请在 后调用该方法。

      -
      -
      - 调用限制 +

      你可以调用该方法开启视频降噪功能并设置视频降噪的效果。

      +
        -
      • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
      • -
      • 视频降噪对设备性能有一定要求。开启视频降噪后,如果设备出现严重发烫等问题,建议你将视频降噪等级修改为消耗性能较少的等级或关闭视频降噪功能。
      • -
      -
      -
      +
    • 请在 后调用该方法。
    • +
    • 视频降噪对设备性能有一定要求。开启视频降噪后,如果设备出现严重发烫等问题,建议你将视频降噪等级修改为消耗性能较少的等级或关闭视频降噪功能。
    • +
    • 该方法和 均可开启视频降噪功能: + +
        +
      • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
      • +
      • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
      • +
    • +
    • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • +
    +
    参数 enabled enable 是否开启视频降噪功能: - +
    • : 开启视频降噪功能。
    • :(默认)关闭视频降噪功能。
    • @@ -79,8 +69,7 @@ options - 视频降噪选项,用于设置视频降噪的效果。详见 。 - + 视频降噪选项,用于设置视频降噪的效果。详见 diff --git a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita index 5e0bb5aed26..8f098532fec 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita @@ -25,15 +25,13 @@

    -
    -

    你可以调用该方法开启视频降噪功能并设置视频降噪的效果。

    +
    + 详情 +

    采光不足的环境和低端视频采集设备会使视频图像含有明显的噪声,影响视频画质。在实时互动场景下,视频噪声还会在编码过程中占用码流资源并降低编码效率。

    该方法和 均可用于设置视频降噪功能,区别在于该方法支持在设置视频降噪功能时指定应用视频降噪功能的媒体源。

    - +
    -
    -
    -
    -
    +
    参数 @@ -44,6 +42,10 @@ + + + + diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita index 8efd7fbf421..625ec4d64d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita @@ -41,7 +41,7 @@
    调用限制
      -
    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • +
    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • 该方法的 config 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 config 渲染本地视频,它会自动降低到一个合适的视频参数设置。
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita b/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita index 483f516bf3a..5142f5585d6 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita @@ -77,8 +77,7 @@

    -

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

    -

    (3) 适用于场景。针对该场景对首帧出图时间和画质清晰度的高要求,SDK 进行了策略调优,例如,默认开启音视频帧加速渲染来提升首帧出图体验,无需再额外调用 ,同时会默认开启 B 帧来确保较高的图像质量、提高传输效率。此外,也增强了在弱网环境和低端设备上的画质和流畅度表现。

    +

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

    diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita index 82a97e8a604..3e57579b146 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita @@ -14,7 +14,7 @@

    public abstract int startAudioMixing(String filePath, boolean loopback, int cycle); - + public abstract startAudioMixing(filepath: string, loopback: boolean, cycle: number): number; - (int)startAudioMixing:(NSString * _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:)); diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita b/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita index 80eefd803b8..88cf54ae12b 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita @@ -14,7 +14,7 @@

    public abstract int startAudioMixing(String filePath, boolean loopback, int cycle, int startPos); - public abstract startAudioMixing(filepath: string, loopback: boolean, cycle: number, startpos?:number): number; + public abstract startAudioMixing(filepath: string, loopback: boolean, cycle: number): number; - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle startPos:(NSInteger)startPos; virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -50,7 +50,6 @@

    调用限制
      -
    • 使用该方法播放时长较短的音效文件可能会导致播放失败。如需播放音效文件,建议使用
    • 如需多次调用该方法,请确保调用间隔大于 500 ms。
    • 在 Android 平台上调用该方法时,请注意如下事项:
        diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita b/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita index d940fcb420c..76450a9476f 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita @@ -14,7 +14,7 @@

        public abstract int startAudioRecording(String filePath, int quality); - public abstract startAudioRecording(filePath: string, quality: Constants.AudioRecordingQualityType): number;; + public abstract startAudioRecording(filePath: string, quality: Constants.AudioRecordingQualityType): number; - (int)startAudioRecording:(NSString * _Nonnull)filePath quality:(AgoraAudioRecordingQuality)quality; virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; @@ -45,8 +45,8 @@ quality - 录音质量。详见 -

          + 录音质量。详见 +
          • 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。
          • 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。
          • 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。
          • diff --git a/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita b/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita index d5a2a78eafb..b67352436e2 100644 --- a/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita @@ -53,7 +53,7 @@ sourceType

            视频源的类型。详见

            -
              +
              • iOS 设备最多支持 2 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
              • Android 设备最多支持 4 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
              • 桌面端最多支持 4 路摄像头采集的视频流。
              • diff --git a/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita b/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita index f50e9ac4f63..d4644d1c0ba 100644 --- a/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita +++ b/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita @@ -38,7 +38,7 @@
        调用时机
          -
        • 如果你需要对本地采集的视频流进行合图,需要在 之后调用该方法。
        • +
        • 如果你需要对本地采集的视频流进行合图,需要在 之后调用该方法。
        • 如果你要将合图后的视频流发布到频道中,需要在调用 时,将 中的 publishTranscodedVideoTrack 设置为
        @@ -59,7 +59,6 @@
      • 在 macOS 平台上,最多支持 4 路摄像头采集的视频流 + 1 路屏幕共享流合图。
      • 在 Android 和 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • 在 Android 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • -
      • 在 HarmonyOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • 在 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
    • 在进行合图配置时,需确保采集人像的摄像头视频流在合图中的图层编号大于屏幕共享流的图层编号,否则人像会被屏幕共享覆盖、无法显示在最终合图的视频流中。
    diff --git a/dita/RTC-NG/API/api_irtcengine_startpreview.dita b/dita/RTC-NG/API/api_irtcengine_startpreview.dita index 4f75a86c559..a67d13e9d80 100644 --- a/dita/RTC-NG/API/api_irtcengine_startpreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_startpreview.dita @@ -34,7 +34,7 @@ 调用限制
    • 本地预览默认开启镜像功能。
    • -
    • 在离开频道后,本地预览依然处于开启状态。你需要调用 关闭本地预览。
    • +
    • 在离开频道后,本地预览依然处于开启状态。你需要调用 关闭本地预览。
    diff --git a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita index 8495e96674f..c1790cb2470 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita @@ -14,7 +14,7 @@

    public abstract int startRtmpStreamWithoutTranscoding(String url); - public abstract startRtmpStreamWithoutTranscoding(url:string): number; + - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita index 8db0c14cb14..170b06ade4b 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita @@ -54,7 +54,7 @@ transcoding -

    旁路推流的转码属性,详见

    +

    旁路推流的转码属性,详见 类。

    diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita index 087b600df70..7f82962ac54 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita @@ -15,7 +15,7 @@

    public abstract int startScreenCapture(ScreenCaptureParameters screenCaptureParameters); - public abstract startScreenCapture(screenCaptureParameters: ScreenCaptureParameters): number; + public abstract startScreenCapture(parameter: ScreenCaptureParameters): number; - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:)); #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; @@ -31,7 +31,7 @@

    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 屏幕共享流的计费标准以 中的 dimensions 值为准:
        +
      • 屏幕共享流的计费标准以 中的 dimensions 值为准:
        • 当你未传值时,以 1280 × 720 计费。
        • 当你传值时,以你传入的值计费。
      @@ -73,8 +73,8 @@ parameters screenCaptureParameters - captureParams - 屏幕共享的编码参数配置。详见 + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2,073,600 像素。该像素值为计费标准。详见
    diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita index a910e52c60f..a60de8c5707 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita @@ -19,7 +19,7 @@ regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect, + virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita index 5393dab31be..133e7274885 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita @@ -18,7 +18,7 @@ - (int)startScreenCaptureByWindowId:(UInt32)windowId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - virtual int startScreenCaptureByWindowId(int64_t windowId, + virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -28,7 +28,7 @@ regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByWindowId(long windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); + public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); abstract startScreenCaptureByWindowId( windowId: any, regionRect: Rectangle, diff --git a/dita/RTC-NG/API/api_irtcengine_statechanged.dita b/dita/RTC-NG/API/api_irtcengine_statechanged.dita index a40fae653b5..1d2ee65ac53 100644 --- a/dita/RTC-NG/API/api_irtcengine_statechanged.dita +++ b/dita/RTC-NG/API/api_irtcengine_statechanged.dita @@ -50,7 +50,8 @@

    设备状态:

    • 0:设备就绪。
    • -
    • 3:设备已插入。
    • +
    • 1:设备正在使用。
    • +
    • 3:设备已插入。
    • 8:设备被拔出。

    diff --git a/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita b/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita index 17b7cdb82bd..65df685d026 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita @@ -14,7 +14,7 @@

    public abstract int stopAudioRecording(); - public abstract stopAudioRecording(): number;; + public abstract stopAudioRecording(): number; - (int)stopAudioRecording; virtual int stopAudioRecording() = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengine_stopeffect.dita b/dita/RTC-NG/API/api_irtcengine_stopeffect.dita index 0e74806bcd4..45ba586eb90 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopeffect.dita @@ -15,7 +15,7 @@

    public abstract int stopEffect(int soundId); - public abstract stopEffect(soundId:number):number; + - (int)stopEffect:(int)soundId; virtual int stopEffect(int soundId) = 0; @@ -28,11 +28,11 @@

    -

    当你不需要再播放某一音效文件时,可以调用该方法停止播放。如果你仅需暂停播放,请调用

    +

    当你不需要再播放某一音效文件时,可以调用该方法停止播放。如果你仅需暂停播放,请调用

    调用时机 -

    该方法需要在 之后调用。

    +

    该方法需要在 之后调用。

    该方法需要在 之后调用。

    diff --git a/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita b/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita deleted file mode 100644 index d9e10fff443..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita +++ /dev/null @@ -1,55 +0,0 @@ - - - - <ph keyref="stopLocalAudioMixer"/> - 停止本地音频合流。 - - - - - - - - -
    -

    - public abstract int stopLocalAudioMixer(); - - - (int)stopLocalAudioMixer NS_SWIFT_NAME(stopLocalAudioMixer()); - virtual int stopLocalAudioMixer() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int StopLocalAudioMixer(); - abstract stopLocalAudioMixer(): number; - public abstract int StopLocalAudioMixer(); - abstract stopLocalAudioMixer(): number; - Future<void> stopLocalAudioMixer();

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -

    调用 后,如果你希望停止本地音频合流,请调用该方法。

    -
    -
    - 调用时机 -

    该方法需要在 之后调用。

    -
    -
    - 调用限制 -

    无。

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

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    • -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita b/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita index f217a6cb237..3520cec3e9c 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita @@ -28,7 +28,7 @@
    详情 -

    调用 后,如果你希望停止本地合图,请调用该方法。

    +

    调用 后, 如果你希望停止本地合图,请调用该方法。

    <ph keyref="return-section-title"/> diff --git a/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita b/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita index 5fd2becf53f..1ce989db41e 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita @@ -34,7 +34,7 @@ 适用场景

    如果你调用了 开启屏幕采集,则停止屏幕采集时需要调用该方法。

    如果你调用了 开启屏幕采集,则停止屏幕采集时需要调用该方法。

    -

    如果你调用了 开启屏幕采集,则停止屏幕采集时需要调用该方法。

    +

    如果你调用了 开启屏幕采集,则停止屏幕采集时需要调用该方法。

    如果你调用了 开启屏幕采集,则停止屏幕采集时需要调用该方法。

    diff --git a/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita b/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita index 587424aa120..d63c70f6c8b 100644 --- a/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita +++ b/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita @@ -2,7 +2,7 @@ <ph keyref="takeSnapshot" /> - 对视频截图。 + 获取视频截图。 @@ -61,7 +61,6 @@
  • iOS: /App Sandbox/Library/Caches/example.jpg
  • macOS: ~/Library/Logs/example.jpg
  • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
  • -
  • HarmonyOS: /data/app/el2/100/base/PACKAGENAME/haps/ENTRYNAME/files/example.jpg
  • 请确保目录存在且可写。 diff --git a/dita/RTC-NG/API/api_irtcengine_takesnapshot2.dita b/dita/RTC-NG/API/api_irtcengine_takesnapshot2.dita deleted file mode 100644 index b16451ca318..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_takesnapshot2.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="takeSnapshot2" /> - 在指定观测位置进行视频截图。 - - - - - - - - -
    -

    - public abstract int takeSnapshot(int uid, SnapshotConfig config); - - - (NSInteger)takeSnapshotWithConfig:(NSInteger)uid config:(AgoraSnapshotConfig* _Nonnull)config NS_SWIFT_NAME(takeSnapshotWithConfig(_:config:)); - virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int TakeSnapshotWithConfig(int64 uid, const FUABT_SnapshotConfig& config); - abstract takeSnapshotWithConfig(uid: number, config: SnapshotConfig): number; - public abstract int TakeSnapshot(uint uid, SnapshotConfig config); - abstract takeSnapshotWithConfig(uid: number, config: SnapshotConfig): number; - Future<void> takeSnapshotWithConfig( - {required int uid, required SnapshotConfig config}); -

    -
    -
    -

    该方法用于对指定用户的视频流进行截图,生成一张 JPG 格式的图片,并保存至指定的路径。

    -
    -
    - 调用时机 -

    该方法需要在加入频道后调用。

    -
    -
    - 调用限制 -
      -
    • 该方法是异步操作,调用返回时 SDK 并没有真正获取截图。
    • -
    • 调用该方法返回时 SDK 并没有真正获取截图。
    • -
    • 该方法用于本地视频截图时,是对 中指定发布的视频流进行截图。
    • -
    -
    - -
    - 参数 - - - - - - - config - 截图设置,详见 - -
    -
    - <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita b/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita index 17c4e34f311..b2a23512d86 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita @@ -29,7 +29,7 @@ 参数 - options + options mediaOptions 频道媒体选项,详见 diff --git a/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita deleted file mode 100644 index f9f93cea745..00000000000 --- a/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita +++ /dev/null @@ -1,67 +0,0 @@ - - - - <ph keyref="updateLocalAudioMixerConfiguration"/> - 更新本地音频合流的配置。 - - - - - - - - -
    -

    - public abstract int updateLocalAudioMixerConfiguration(LocalAudioMixerConfiguration config); - - - (int)updateLocalAudioMixerConfiguration:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalAudioMixerConfiguration(_:)); - virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int UpdateLocalAudioMixerConfiguration(const FUABT_LocalAudioMixerConfiguration& config); - abstract updateLocalAudioMixerConfiguration( - config: LocalAudioMixerConfiguration - ): number; - public abstract int UpdateLocalAudioMixerConfiguration(LocalAudioMixerConfiguration config); - abstract updateLocalAudioMixerConfiguration( - config: LocalAudioMixerConfiguration - ): number; - Future<void> updateLocalAudioMixerConfiguration( - LocalAudioMixerConfiguration config);

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -

    调用 后,如果你希望更新本地音频合流的配置,请调用该方法。

    -
    -
    - 调用时机 -

    该方法需要在 之后调用。

    -
    -
    - 调用限制 -
    -
    - 参数 - - - - - -
    -
    - <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    • -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita index 597a2f20cf2..793a52eb3df 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita @@ -45,7 +45,7 @@ parameters captureParams - 屏幕共享的编码参数配置。详见 + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita index 2e6ca6d4a9e..415aedb80da 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita @@ -16,7 +16,7 @@ public abstract int updateScreenCaptureParameters( ScreenCaptureParameters screenCaptureParameters); - public abstract updateScreenCaptureParameters(screenCaptureParameters: ScreenCaptureParameters): number; + - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") @@ -45,7 +45,7 @@ screenCaptureParameters captureParams - 屏幕共享的编码参数配置。详见 。 + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 屏幕共享流的视频属性只需通过该参数设置,与 无关。 diff --git a/dita/RTC-NG/API/api_irtcengineex_addblueprintcallbackexecutorex.dita b/dita/RTC-NG/API/api_irtcengineex_addblueprintcallbackexecutorex.dita deleted file mode 100644 index 8bbda92aef0..00000000000 --- a/dita/RTC-NG/API/api_irtcengineex_addblueprintcallbackexecutorex.dita +++ /dev/null @@ -1,47 +0,0 @@ - - - - <ph keyref="AddBlueprintCallbackExecutorEx" /> - 添加一个蓝图回调执行器。 - - - - - - - - -
    -

    - - - - - UFUNCTION(BlueprintCallable, Category = "Agora|Event") -void AddBlueprintCallbackExecutorEx(UAgoraBPuIRtcEngineEventHandlerExCBExecutor* Executor); - - - -

    -
    -
    -

    获取事件处理器后,你可以调用该方法绑定回调执行器,用于执行 IRtcEngineEventHandlerEx 接口类下的相关回调。

    -
    -
    - 调用时机 -

    调用 获取事件处理器后。

    -
    -
    - 调用限制 -

    无。

    -
    -
    - 参数 - - - Executor - 指向 UAgoraBPuIRtcEngineEventHandlerExCBExecutor 类型的指针,用于执行 IRtcEngineEventHandlerEx 接口类下的回调逻辑。 - -
    -
    -
    diff --git a/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita b/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita index 1e39b022b3e..bcd89fcccd4 100644 --- a/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita @@ -15,7 +15,7 @@

    public abstract int adjustUserPlaybackSignalVolumeEx( int uid, int volume, RtcConnection connection); - public abstract adjustUserPlaybackSignalVolumeEx(uid:number,volume:number,connection:RtcConnection):number; + - (int)adjustUserPlaybackSignalVolumeEx:(NSUInteger)uid volume:(NSInteger)volume connection:(AgoraRtcConnection* _Nonnull)connection; diff --git a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita index 2b9f845244a..0863b99b7fb 100644 --- a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita @@ -15,7 +15,7 @@

    public abstract int createDataStreamEx( boolean reliable, boolean ordered, RtcConnection connection); - + public abstract createDataStreamEx(config:DataStreamConfig,connection:RtcConnection):number; - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered diff --git a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita index b570817062d..c5e7ceb006b 100644 --- a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita +++ b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita @@ -35,7 +35,7 @@

    -

    相比 ,本方法不保证数据传输的可靠性。接收方会丢弃超出发送时间 5 秒后的数据包。

    +

    相比 ,本方法不保证数据传输的可靠性。接收方会丢弃超出发送时间 5 秒后的数据包。

    调用时机 diff --git a/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita b/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita index cfbc90409db..43a15ac7b43 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita @@ -15,7 +15,7 @@

    public abstract int enableAudioVolumeIndicationEx( int interval, int smooth, boolean reportVad, RtcConnection connection); - public abstract enableAudioVolumeIndicationEx(interval:number,smooth:number,reportVad:boolean,connection:RtcConnection):number; + - (int)enableAudioVolumeIndicationEx:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad diff --git a/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita b/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita index fbcfd0920c1..82643d3e641 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita @@ -16,7 +16,7 @@ public abstract int enableEncryptionEx( boolean enabled, EncryptionConfig config, RtcConnection connection); - - (int)enableEncryptionEx:(BOOL)enabled encryptionConfig:(AgoraEncryptionConfig *_Nonnull)config connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableEncryptionEx(_:encryptionConfig:connection:)); + - (int)enableEncryptionEx:(bool)enabled encryptionConfig:(AgoraEncryptionConfig *_Nonnull)config connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableEncryptionEx(_:encryptionConfig:connection:)); virtual int enableEncryptionEx(const RtcConnection& connection, bool enabled, const EncryptionConfig& config) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableEncryptionEx(const FRtcConnection& connection, bool enabled, const FEncryptionConfig& config); diff --git a/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita b/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita index c18c46e9909..88f2be6d7c4 100644 --- a/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita @@ -26,7 +26,6 @@ Future<ConnectionStateType> getConnectionStateEx(RtcConnection connection);

    -
    diff --git a/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita b/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita index c1a63acb2b7..d448abaa19e 100644 --- a/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita @@ -85,9 +85,9 @@ - eventHandler + eventHandler delegate - 的回调类,详见 。多频道相关的事件通知通过你在此参数中传递的 eventHandlerdelegate 对象回调。 + 的回调类,详见 。多频道相关的事件通知通过你在此参数中传递的 eventHandlerdelegate 对象回调。 diff --git a/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita b/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita index f59e06629fa..f5a0bdeb767 100644 --- a/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita @@ -33,7 +33,7 @@
    • 该方法是异步操作,调用返回时并没有真正退出频道。
    • -
    • 如果你调用了 ,会同时离开 加入的频道。
    • +
    • 如果你调用了 后,会同时离开 加入的频道。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita b/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita index c82d5458061..500df0f3a37 100644 --- a/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita +++ b/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita @@ -36,13 +36,13 @@

    调用该方法后,SDK 会终止音视频互动、离开当前频道,并会释放会话相关的所有资源。

    -

    调用 成功加入频道后,必须调用本方法或 结束通话,否则无法开始下一次通话。

    -

    调用 成功加入频道后,必须调用本方法结束通话,否则无法开始下一次通话。

    +

    调用 成功加入频道后,必须调用本方法或 结束通话,否则无法开始下一次通话。

    +

    调用 成功加入频道后,必须调用本方法结束通话,否则无法开始下一次通话。

    • 该方法是异步操作,调用返回时并没有真正退出频道。
    • -
    • 如果你调用了 后,会同时离开 加入的频道。
    • -
    • 如果你调用了 后,会同时离开 加入的频道。
    • +
    • 如果你调用了 后,会同时离开 加入的频道。
    • +
    • 如果你调用了 后,会同时离开 加入的频道。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita b/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita index fdf6825d757..5f179592ad6 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita @@ -14,8 +14,7 @@

    public abstract int muteAllRemoteAudioStreamsEx(boolean muted, RtcConnection connection); - public abstract muteAllRemoteAudioStreamsEx(muted:boolean,connection:RtcConnection):number; - + - (int)muteAllRemoteAudioStreamsEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteAllRemoteAudioStreamsEx(_:connection:)); virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0; diff --git a/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita b/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita index 1cac40c3646..c73e4cc5613 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita @@ -14,7 +14,7 @@

    public abstract int muteAllRemoteVideoStreamsEx(boolean muted, RtcConnection connection); - public abstract muteAllRemoteVideoStreamsEx(muted:boolean,connection:RtcConnection):number; + - (int)muteAllRemoteVideoStreamsEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteAllRemoteVideoStreamsEx(_:connection:)); virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0; diff --git a/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita index 65d4ff13bc3..48ff9831a89 100644 --- a/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita @@ -14,7 +14,7 @@

    public abstract int muteLocalAudioStreamEx(boolean muted, RtcConnection connection); - public abstract muteLocalAudioStreamEx(muted:boolean,connection:RtcConnection):number; + - (int)muteLocalAudioStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalAudioStreamEx(_:connection:)); virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita index fab91341ea0..7debee043cd 100644 --- a/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita @@ -14,8 +14,7 @@

    public abstract int muteLocalVideoStreamEx(boolean muted, RtcConnection connection); - public abstract muteLocalVideoStreamEx(muted:boolean,connection:RtcConnection):number; - + - (int)muteLocalVideoStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalVideoStreamEx(_:connection:)); virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita index 7f5f824fbab..34ec61c2e83 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita @@ -14,7 +14,7 @@

    public abstract int muteRemoteAudioStreamEx(int uid, boolean muted, RtcConnection connection); - public abstract muteRemoteAudioStreamEx(uid:number,muted:boolean,connection:RtcConnection):number; + - (int)muteRemoteAudioStreamEx:(NSUInteger)uid mute:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection; diff --git a/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita index 124671d4d13..95da6c25c0e 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita @@ -14,7 +14,7 @@

    public abstract int muteRemoteVideoStreamEx(int uid, boolean muted, RtcConnection connection); - public abstract muteRemoteVideoStreamEx(uid:number,muted:boolean,connection:RtcConnection):number; + - (int)muteRemoteVideoStreamEx:(NSUInteger)uid mute:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection; diff --git a/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita b/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita index 164d4075635..0acc2ec58cd 100644 --- a/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita @@ -14,7 +14,7 @@

    public abstract int sendStreamMessageEx(int streamId, byte[] message, RtcConnection connection); - public abstract sendStreamMessageEx(streamId:number,message:ArrayBuffer,connection:RtcConnection):number; + virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita b/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita index b6acd855140..99533a72923 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita @@ -15,7 +15,7 @@

    public abstract int setDualStreamModeEx(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig, RtcConnection connection); - public abstract setDualStreamModeEx(mode:Constants.SimulcastStreamMode,streamConfig:SimulcastStreamConfig,connection:RtcConnection):number; + - (int)setDualStreamModeEx:(AgoraSimulcastStreamMode)mode streamConfig:(AgoraSimulcastStreamConfig*)streamConfig connection:(AgoraRtcConnection* _Nonnull)connection; @@ -53,7 +53,7 @@

    • 如果你想修改此行为,可以调用该方法并修改 mode(始终不发送小流)或 (始终发送小流)。
    • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为

    - 该方法和 的区别与联系如下: + 该方法和 的区别与联系如下:
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • diff --git a/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita b/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita index d0e57603fcf..f9982c8dfd7 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita @@ -15,7 +15,7 @@

      public abstract int setRemoteRenderModeEx( int uid, int renderMode, int mirrorMode, RtcConnection connection); - public abstract setRemoteRenderModeEx(uid:number,renderMode:number,mirrorMode:number,connection:RtcConnection):number; + - (int)setRemoteRenderModeEx:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror diff --git a/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita b/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita index b7b999a66c4..9b1c2c6ec13 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita @@ -14,7 +14,7 @@

      public abstract int setRemoteVideoStreamTypeEx(int uid, int streamType, RtcConnection connection); - public abstract setRemoteVideoStreamTypeEx(uid:number,streamType:number,connection:RtcConnection):number; + - (int)setRemoteVideoStreamEx:(NSUInteger)uid type:(AgoraVideoStreamType)streamType connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(setRemoteVideoStreamEx(_:type:connection:)); @@ -49,7 +49,7 @@

        -
      • 如果发送端已调用 并将 mode 设置为 (始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 修改设置。
      • +
      • 如果发送端已调用 并将 mode 设置为 (始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 修改设置。
      • 观众角色的接收端调用该方法不生效。
      diff --git a/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita b/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita index 30909074de5..adaf1417277 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita @@ -51,7 +51,7 @@ remote - canvas + canvas

      视频画布信息。详见

      diff --git a/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita index 4635f2e0a6f..1dce6a1938b 100644 --- a/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita @@ -15,7 +15,7 @@

      public abstract int startOrUpdateChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - public abstract startOrUpdateChannelMediaRelayEx(channelMediaRelayConfiguration:ChannelMediaRelayConfiguration,connection:RtcConnection):number; + - (int)startOrUpdateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startOrUpdateChannelMediaRelayEx(_:connection:)); virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita b/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita index 4690318025a..0108ead1738 100644 --- a/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita @@ -14,7 +14,7 @@

      public abstract int takeSnapshotEx(RtcConnection connection, int uid, String filePath); - public abstract takeSnapshotEx(connection:RtcConnection,uid:number,filePath:string):number; + - (NSInteger)takeSnapshotEx:(AgoraRtcConnection * _Nonnull)connection uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0; UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") diff --git a/dita/RTC-NG/API/api_irtcengineex_takesnapshotex2.dita b/dita/RTC-NG/API/api_irtcengineex_takesnapshotex2.dita deleted file mode 100644 index 7381c42a5cc..00000000000 --- a/dita/RTC-NG/API/api_irtcengineex_takesnapshotex2.dita +++ /dev/null @@ -1,70 +0,0 @@ - - - - <ph keyref="takeSnapshotEx2"/> - 使用连接 ID 获取指定观测位置的视频截图。 - - - - - - - - -

      -

      - public abstract int takeSnapshotEx(RtcConnection connection, int uid, SnapshotConfig config); - - - (NSInteger)takeSnapshotExWithConfig:(AgoraRtcConnection * _Nonnull)connection uid:(NSInteger)uid config:(AgoraSnapshotConfig* _Nonnull)config NS_SWIFT_NAME(takeSnapshotExWithConfig(_:uid:config:)); - virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const media::SnapshotConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int TakeSnapshotWithConfigEx(const FUABT_RtcConnection& connection, int64 uid, const FUABT_SnapshotConfig& config); - abstract takeSnapshotWithConfigEx( - connection: RtcConnection, - uid: number, - config: SnapshotConfig - ): number; - public abstract int TakeSnapshotEx(RtcConnection connection, uint uid, SnapshotConfig config); - abstract takeSnapshotWithConfigEx( - connection: RtcConnection, - uid: number, - config: SnapshotConfig - ): number; - Future<void> takeSnapshotWithConfigEx( - {required RtcConnection connection, - required int uid, - required SnapshotConfig config}); -

      -
      -
      -
      - 调用时机 -

      该方法需要在 后调用。

      -
      -
      -
      详情 -

      如需使用转码推流高级功能,请

      +

      如需使用转码推流高级功能,请联系

      返回值 diff --git a/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita b/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita index b5e98ee0093..087f444795c 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita @@ -27,7 +27,7 @@
      详情 -

      如需使用转码推流高级功能,请

      +

      如需使用转码推流高级功能,请联系

      参数 diff --git a/dita/RTC-NG/API/api_player_getconfigs.dita b/dita/RTC-NG/API/api_player_getconfigs.dita deleted file mode 100644 index fc4b2368a7b..00000000000 --- a/dita/RTC-NG/API/api_player_getconfigs.dita +++ /dev/null @@ -1,62 +0,0 @@ - - - - <ph keyref="GetConfigs_Player"/> - 获取当前的播放器设置。 - - - - - - - - -
      -

      - public void getConfigs(PlayerConfig config) throws RteException; - - - (BOOL)getConfigs:(AgoraRtePlayerConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error; - bool GetConfigs(PlayerConfig* config, Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -
      -
      - 调用时机 -

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - - - - - - - -
      -
      -
      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_getinfo.dita b/dita/RTC-NG/API/api_player_getinfo.dita deleted file mode 100644 index 91d7466c032..00000000000 --- a/dita/RTC-NG/API/api_player_getinfo.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="GetInfo"/> - 获取播放器播放及媒体流的相关信息。 - - - - - - - - -
      -

      - public void getInfo(PlayerInfo info) throws RteException; - - - (BOOL)getInfo:(AgoraRtePlayerInfo * _Nonnull)info error:(AgoraRteError * _Nullable)error; - bool GetInfo(PlayerInfo *info, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      你可以通过该方法获取播放器及媒体流的相关信息,例如音频采样率、视频帧的尺寸等信息。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - info - 播放器及媒体流的相关信息,详见 - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      获取信息是否成功:

        -
      • :获取信息成功。
      • -
      • :获取信息失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_getstats.dita b/dita/RTC-NG/API/api_player_getstats.dita deleted file mode 100644 index 37a96142511..00000000000 --- a/dita/RTC-NG/API/api_player_getstats.dita +++ /dev/null @@ -1,59 +0,0 @@ - - - - <ph keyref="GetStats"/> - 获取播放器当前播放的媒体资源的统计信息。 - - - - - - - - -
      -

      - public void getStats(PlayerGetStatsCallback callback); - - - (void)getStats:(void (^_Nonnull)(AgoraRtePlayerStats* _Nonnull stats, AgoraRteError* _Nullable err))cb ; - void GetStats(std::function<void(rte::PlayerStats *stats, rte::Error *err)> cb) - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      该方法用于获取播放器的统计信息,包括解码、渲染帧率、音视频码率等,并通过回调函数异步返回结果。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - cb - 一个异步回调函数,用于通知获取播放器媒体资源统计信息的结果和错误信息。该函数包含以下参数: -
        -
      • stats: 播放器当前播放的媒体资源的统计数据,详见
      • -
      • err: 获取错误信息,详见
      -
      - - callback - 回调接口,用于异步接收统计信息和可能的错误信息,详见 接口类下的 回调。 - -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_muteaudio.dita b/dita/RTC-NG/API/api_player_muteaudio.dita deleted file mode 100644 index 601dfa0c155..00000000000 --- a/dita/RTC-NG/API/api_player_muteaudio.dita +++ /dev/null @@ -1,74 +0,0 @@ - - - - <ph keyref="MuteAudio"/> - 订阅或取消订阅主播的音频流。 - - - - - - - - -
      -

      - public void muteAudio(boolean mute) throws RteException; - - - (BOOL)muteAudio:(BOOL)mute error:(AgoraRteError * _Nullable)error; - bool MuteAudio(bool mute, Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      观众端可以调用该方法来设置是否订阅主播的音频流。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      - -
      - 参数 - - - mute - 是否订阅主播的音频流: -
      • :不订阅主播的音频流。
      • -
      • :订阅主播的音频流。
      -
      - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      订阅或取消订阅操作是否成功:

        -
      • :操作成功。
      • -
      • :操作失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_mutevideo.dita b/dita/RTC-NG/API/api_player_mutevideo.dita deleted file mode 100644 index 6d4a2f94219..00000000000 --- a/dita/RTC-NG/API/api_player_mutevideo.dita +++ /dev/null @@ -1,74 +0,0 @@ - - - - <ph keyref="MuteVideo"/> - 订阅或取消订阅主播的视频流。 - - - - - - - - -
      -

      - public void muteVideo(boolean mute) throws RteException; - - - (BOOL)muteVideo:(BOOL)mute error:(AgoraRteError * _Nullable)error; - bool MuteVideo(bool mute, Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      观众端可以调用该方法来设置是否订阅主播的视频流。

      -
      -
      - 调用时机 -

      -

      -
      - 调用限制 -

      无。

      -
      - -
      - 参数 - - - mute - 是否订阅主播的视频流: -
      • :不订阅主播的视频流。
      • -
      • :订阅主播的视频流。
      -
      - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      订阅或取消订阅操作是否成功:

        -
      • :操作成功。
      • -
      • :操作失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_openwithurl.dita b/dita/RTC-NG/API/api_player_openwithurl.dita deleted file mode 100644 index 9144afa867a..00000000000 --- a/dita/RTC-NG/API/api_player_openwithurl.dita +++ /dev/null @@ -1,70 +0,0 @@ - - - - <ph keyref="OpenWithUrl"/> - 打开 URL 资源。 - - - - - - - - -
      -

      - public void openWithUrl(String url, long startTime, AsyncCallback callback); - - - (void)openWithUrl:(NSString * _Nonnull)url startTime:(uint64_t)startTime cb:(void (^_Nullable)(AgoraRteError* _Nullable err))cb; - void OpenWithUrl(const char* url, uint64_t start_time, std::function<void(rte::Error* err)> cb); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      该方法支持通过 URL 打开实时流媒体。如果你想要加快打开 URL 资源的速度,可以在调用该方法前,调用 预加载资源。

      -

      如果资源打开失败,你会收到 的回调报告状态为 。此时你需要先调用 然后再调用 重新打开 URL 资源。如果你设置关闭了自动播放,打开资源后可以调用 进行播放。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      该方法目前仅支持打开以 rte:// 开头的 URL。

      -
      - -
      - 参数 - - - - - - - start_time - startTime - 预留参数。 - - - cb - 一个异步回调函数,用于通知打开 URL 资源的结果。如果打开过程中出错,你可以通过该回调中的 err 参数得知具体错误信息。详见 - - - callback - 一个异步回调函数,用于通知打开 URL 资源的结果。如果打开过程中出错,你可以通过 下的 回调得知具体错误信息。 - -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_pause.dita b/dita/RTC-NG/API/api_player_pause.dita deleted file mode 100644 index 4ed5d9b3709..00000000000 --- a/dita/RTC-NG/API/api_player_pause.dita +++ /dev/null @@ -1,65 +0,0 @@ - - - - <ph keyref="Pause_Player"/> - 暂停播放。 - - - - - - - - -
      -

      - public void pause() throws RteException; - - - (BOOL)pause:(AgoraRteError * _Nullable)error; - bool Pause(Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      当你调用 播放 URL 资源后,如果你想暂停播放,可以调用此方法。如果你想要停止播放,请调用

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      - -
      - <ph props="cpp apple">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      暂停播放是否成功:

        -
      • :暂停播放成功。
      • -
      • :暂停播放失败。
      • -
      -

      -
      - - diff --git a/dita/RTC-NG/API/api_player_play.dita b/dita/RTC-NG/API/api_player_play.dita deleted file mode 100644 index 214ec8d86a3..00000000000 --- a/dita/RTC-NG/API/api_player_play.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="Play_Player"/> - 播放 URL 资源。 - - - - - - - - -
      -

      - public void play() throws RteException; - - - (BOOL)play:(AgoraRteError * _Nullable)error; - bool Play(Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      如果你关闭了自动播放,当你调用 成功打开实时流媒体,你可以调用此方法进行播放。

      -
      -
      - 调用时机 -

      请在收到 回调报告状态为 后再调用该方法。

      -
      -
      - 调用限制 -

      该方法目前仅支持播放带 rte:// 前缀的 URL。

      -
      - -
      - <ph props="cpp apple framework">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      播放是否成功:

        -
      • :播放成功。
      • -
      • :播放失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_player.dita b/dita/RTC-NG/API/api_player_player.dita deleted file mode 100644 index e934480e051..00000000000 --- a/dita/RTC-NG/API/api_player_player.dita +++ /dev/null @@ -1,58 +0,0 @@ - - - - <ph keyref="Player_Player"/> - 构造一个播放器对象。 - - - - - - - - -
      -

      - public Player(Rte rte, PlayerInitialConfig initialConfig); - - - (instancetype _Nonnull)initWithRte:(AgoraRte * _Nonnull)rte initialConfig:(AgoraRtePlayerInitialConfig * _Nullable)config; - explicit Player(Rte *self, PlayerInitialConfig *config = nullptr) ; - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - rte - Rte - 一个 对象。 - - - config - initialConfig - 播放器对象初始化设置,可传空指针。 - -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_preloadwithurl.dita b/dita/RTC-NG/API/api_player_preloadwithurl.dita deleted file mode 100644 index 1e8c594282a..00000000000 --- a/dita/RTC-NG/API/api_player_preloadwithurl.dita +++ /dev/null @@ -1,73 +0,0 @@ - - - - <ph keyref="PreloadWithUrl"/> - 预加载 URL 资源。 - - - - - - - - -
      -

      - public static void preloadWithUrl(String url) throws RteException; - - + (BOOL)preloadWithUrl:(NSString * _Nonnull)url error:(AgoraRteError * _Nullable)error; - static bool PreloadWithUrl(const char* url, Error *err = nullptr) { - return RtePlayerPreloadWithUrl(nullptr, url, err != nullptr ? err->get_underlying_impl() : nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      成功预加载后,可以加快通过 打开 URL 资源的速度。当需要使用这些资源时,可以更加快速地访问,缩短等待的过程。

      -
      -
      - 适用场景 -

      在打开媒体资源之前,提前加载可以减少用户等待时间,提供更流畅的视听体验。

      -
      -
      - 调用时机 -

      该方法需要在 之前调用。

      -
      -
      - 调用限制 -

      该方法目前仅对带 rte:// 前缀的 URL 生效,最多可以预加载 20 个 URL。如果超出限制,新预加载的 URL 将会替换最早的 URL。

      -
      -
      - 参数 - - - url - rte:// 前缀的 URL。

      各字段的详细说明详见

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

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      预加载是否成功:

        -
      • :预加载成功。
      • -
      • :预加载失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_registerobserver.dita b/dita/RTC-NG/API/api_player_registerobserver.dita deleted file mode 100644 index 155b2f26920..00000000000 --- a/dita/RTC-NG/API/api_player_registerobserver.dita +++ /dev/null @@ -1,67 +0,0 @@ - - - - <ph keyref="RegisterObserver_Player"/> - 注册播放器观测器的对象。 - - - - - - - - -
      -

      - public void registerObserver(PlayerObserver observer) throws RteException; - - - (BOOL)registerObserver:(AgoraRtePlayerObserver *_Nonnull)observer error:(AgoraRteError * _Nullable)error; - bool RegisterObserver(PlayerObserver *observer, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      调用该方法前,你需要实现一个继承自 的接口类。

      -
      -
      - 调用时机 -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - observer - 接口对象实例,详见 - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      注册是否成功:

        -
      • :注册成功。
      • -
      • :注册失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_player_setcanvas.dita b/dita/RTC-NG/API/api_player_setcanvas.dita deleted file mode 100644 index 44a0a9edc59..00000000000 --- a/dita/RTC-NG/API/api_player_setcanvas.dita +++ /dev/null @@ -1,65 +0,0 @@ - - - - <ph keyref="SetCanvas"/> - 设置视图窗口以显示视频。 - - - - - - - - -
      -

      - public void setCanvas(Canvas canvas) throws RteException; - - - (BOOL)setCanvas:(AgoraRteCanvas *_Nonnull)canvas error:(AgoraRteError * _Nullable)error; - bool SetCanvas(Canvas *canvas, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      该方法用于指定一个 Canvas 对象来显示视频。当视频流成功播放后,视频画面会显示在这个指定的 Canvas 上。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - canvas - 用于渲染视频帧的 Canvas 对象,详见 - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      设置是否成功:

        -
      • :设置成功。
      • -
      • :设置失败,可通过 errerror 参数返回的错误码了解详细信息。
      • -

      -
      -
      - - diff --git a/dita/RTC-NG/API/api_player_setconfigs.dita b/dita/RTC-NG/API/api_player_setconfigs.dita deleted file mode 100644 index 362cb2826e7..00000000000 --- a/dita/RTC-NG/API/api_player_setconfigs.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="SetConfigs_Player"/> - 播放器配置。 - - - - - - - - -
      -

      - public void setConfigs(PlayerConfig config) throws RteException; - - - (BOOL)setConfigs:(AgoraRtePlayerConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error; - bool SetConfigs(PlayerConfig* config, Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      你可以调用该方法来进行播放器设置,如开启自动播放、订阅不同分辨率和码率的视频流等。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - config - 播放器设置的对象,详见 - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      播放器设置是否成功:

        -
      • :设置成功。
      • -
      • :设置失败。
      • -
      -

      -
      - - <p/> - </section> - </refbody> -</reference> diff --git a/dita/RTC-NG/API/api_player_stop.dita b/dita/RTC-NG/API/api_player_stop.dita deleted file mode 100644 index dc63ec58966..00000000000 --- a/dita/RTC-NG/API/api_player_stop.dita +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"> -<reference id="api_player_stop"> - <title><ph keyref="Stop_Player"/> - 停止播放媒体资源。 - - - - - - - - -
      -

      - public void pause() throws RteException; - - - (BOOL)pause:(AgoraRteError * _Nullable)error; - bool Stop(Error* err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      当你成功打开 URL 流并调用 播放后,如果你想停止播放,可以调用此方法。如果你需要暂停播放,请调用

      -

      如果你调用 打开 URL 流失败,需要先调用此方法,然后再调用 重新打开 URL。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      - -
      - <ph props="cpp apple framework">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      停止播放是否成功:

        -
      • :停止播放成功。
      • -
      • :停止播放失败。
      • -
      -

      -
      - -

      -
      -
      - diff --git a/dita/RTC-NG/API/api_player_unregisterobserver.dita b/dita/RTC-NG/API/api_player_unregisterobserver.dita deleted file mode 100644 index a8516fed24f..00000000000 --- a/dita/RTC-NG/API/api_player_unregisterobserver.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="UnregisterObserver_Player"/> - 取消注册播放器事件观测器的对象。 - - - - - - - - -
      -

      - public void unregisterObserver(PlayerObserver observer) throws RteException; - - - (BOOL)unregisterObserver:(AgoraRtePlayerObserver * _Nullable)observer error:(AgoraRteError * _Nullable)error; - bool UnregisterObserver(PlayerObserver *observer, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      调用 注册播放器事件观测器后,如果你需要取消注册,请调用该方法。

      -
      -
      - 调用时机 -

      该方法需在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - - - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      取消注册是否成功:

        -
      • :取消注册成功。
      • -
      • :取消注册失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_playerconfig_getabrfallbacklayer.dita b/dita/RTC-NG/API/api_playerconfig_getabrfallbacklayer.dita deleted file mode 100644 index aa8806cb2a7..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_getabrfallbacklayer.dita +++ /dev/null @@ -1,60 +0,0 @@ - - - - <ph keyref="GetAbrFallbackLayer"/> - 获取已设置的视频流回退选项。 - - - - - - - - -
      -

      - public Constants.AbrFallbackLayer getAbrFallbackLayer() throws RteException; - - - (AgoraRteAbrFallbackLayer)abrFallbackLayer:(AgoraRteError * _Nullable)error; - AbrFallbackLayer GetAbrFallbackLayer(Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      - 调用时机 -

      -

      -
      - 调用限制 -

      无。

      -
      -
      - <ph props="cpp apple">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      设置的视频流回退选项,详见

      -
      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_playerconfig_getabrsubscriptionlayer.dita b/dita/RTC-NG/API/api_playerconfig_getabrsubscriptionlayer.dita deleted file mode 100644 index e219a320286..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_getabrsubscriptionlayer.dita +++ /dev/null @@ -1,60 +0,0 @@ - - - - <ph keyref="GetAbrSubscriptionLayer"/> - 获取所订阅的视频流的质量层级。 - - - - - - - - -
      -

      - public Constants.AbrSubscriptionLayer getAbrSubscriptionLayer() throws RteException; - - - (AgoraRteAbrSubscriptionLayer)abrSubscriptionLayer:(AgoraRteError * _Nullable)error; - AbrSubscriptionLayer GetAbrSubscriptionLayer(Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - <ph props="cpp apple framework">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      当前设置的视频质量层级,详见

      -
      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_playerconfig_getautoplay.dita b/dita/RTC-NG/API/api_playerconfig_getautoplay.dita deleted file mode 100644 index f3c60e5df9c..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_getautoplay.dita +++ /dev/null @@ -1,64 +0,0 @@ - - - - <ph keyref="GetAutoPlay"/> - 获取自动播放设置。 - - - - - - - - -
      -

      - public boolean getAutoPlay() throws RteException; - - - (BOOL)autoPlay:(AgoraRteError * _Nullable)error; - bool GetAutoPlay(Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      你可以调用该方法来得知当前播放器的自动播放设置。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - <ph props="cpp apple framework">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      获取自动播放设置是否成功:

        -
      • :获取成功。
      • -
      • :获取失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_playerconfig_getjsonparameter.dita b/dita/RTC-NG/API/api_playerconfig_getjsonparameter.dita deleted file mode 100644 index 795ba97bf3d..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_getjsonparameter.dita +++ /dev/null @@ -1,53 +0,0 @@ - - - - <ph keyref="GetJsonParameter_PlayerConfig"/> - 获取设置的媒体播放器的 JSON 配置信息。 - - - - - - - - -
      -

      - public String getJsonParameter() throws RteException; - - - (NSString * _Nullable)jsonParameter:(AgoraRteError * _Nullable)error; - std::string GetJsonParameter(Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      当你调用 设置 JSON 配置信息后,你可以调用该方法获取已设置的配置信息。

      -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - <ph props="cpp apple framework">参数</ph> - - - - - -
      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_playerconfig_setabrfallbacklayer.dita b/dita/RTC-NG/API/api_playerconfig_setabrfallbacklayer.dita deleted file mode 100644 index 015be2e5d4c..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_setabrfallbacklayer.dita +++ /dev/null @@ -1,71 +0,0 @@ - - - - <ph keyref="SetAbrFallbackLayer"/> - 设置已订阅的视频流的回退选项。 - - - - - - - - -
      -

      - public void setAbrFallbackLayer(Constants.AbrFallbackLayer fallbackLayer) throws RteException; - - - (void)setAbrFallbackLayer:(AgoraRteAbrFallbackLayer)layer error:(AgoraRteError * _Nullable)error; - void SetAbrFallbackLayer(AbrFallbackLayer abr_fallback_layer, Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      网络不理想的环境下,实时通信音视频的质量会下降。调用该方法后,SDK 会在网络情况差的时候将视频流的分辨率回退到你指定的视频质量层级。不同的视频质量层级对应不同的分辨率和码率。同时,SDK 会持续监控网络质量,并在网络质量改善时恢复至你所订阅的视频流质量层级。

      -

      默认情况下,调用该方法后只能在源频道选择回退至 。如果你对视频体验有更高要求,你可以开通 ABR 功能。启用该功能后,可以在转码频道选择回退到所有质量层级的视频流,并支持自定义不同质量层级的视频流所对应的分辨率。

      -
      -
      - 适用场景 -
        -
      • 在一般场景下,你可以调用该方法并将回退的质量层级设为 ,SDK 会在网络情况差的时候将视频流回退为低质量的视频流、或是仅接收音频流。
      • -
      • 如果对视频流回退的分辨率要求较高,可以联系开通 ABR 功能。开通后,你可以自定义每个层级的分辨率。SDK 会以你指定的最低质量层级分辨率为下限,在此范围内根据网络状况动态调整分辨率。 - 详细功能实现详见 -
      -
      -
      - 调用时机 -

      -

      -
      - 调用限制 -

      调用该方法时如果你未开通 ABR 功能,视频流回退的质量层级只能选择

      -
      -
      - 参数 - - - fallbackLayer - abr_fallback_layer - layer - 视频流回退的质量层级,详见 。在自定义 的分辨率时,可以参考下表进行设置,你也可以根据实际需求自行设置: - - - - - - - - -
      -
      - - diff --git a/dita/RTC-NG/API/api_playerconfig_setabrsubscriptionlayer.dita b/dita/RTC-NG/API/api_playerconfig_setabrsubscriptionlayer.dita deleted file mode 100644 index 89147333fd4..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_setabrsubscriptionlayer.dita +++ /dev/null @@ -1,101 +0,0 @@ - - - - <ph keyref="SetAbrSubscriptionLayer"/> - 设置订阅的媒体流的质量层级。 - - - - - - - - -
      -

      - public void setAbrSubscriptionLayer(Constants.AbrSubscriptionLayer subscriptionLayer) throws RteException; - - - (void)setAbrSubscriptionLayer:(AgoraRteAbrSubscriptionLayer)layer error:(AgoraRteError * _Nullable)error; - void SetAbrSubscriptionLayer(AbrSubscriptionLayer abr_subscription_layer, Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      你可以根据实际的网络情况切换订阅不同的视频流质量层级,对应不同的分辨率。 - 默认情况下,调用该方法后观众只能在源频道切换订阅视频的大小流,即在 之间切换。如对视频分辨率切换有更高要求,你可以开通 ABR(自适应码率)功能。启用该功能后,你可以自定义不同质量层级的视频流所对应的分辨率,观众可以在专门的转码频道根据需求切换所有质量层级的视频流。详细功能实现详见 -

      -
      -
      - 适用场景 -

      在网络环境不稳定的情况下,观众端可以根据实际的网络状况来选择订阅合适的视频质量级别,以保证流畅的观感体验。

      -
      -
      - 调用时机 -

      该方法需要在 之前调用。

      -
      -
      - 调用限制 -

      调用该方法时如果你未开通 ABR 功能,订阅的视频质量层级只能选择

      -
      -
      - 参数 - - - subscriptionLayer - abr_subscription_layer - layer - 订阅的视频质量层级,详见 。 -

      在自定义 的分辨率时,可以参考下表进行设置,你也可以根据实际需求自行设置: - 自定义分辨率时请务必将视频质量层级(Layer)按分辨率从大到小进行排序,分辨率相同时需按帧率从大到小进行排序。 - - - - 视频质量层级 - 分辨率 - - - - -

      2160p(4K)

      - - - - - 1440p(2K) - - - - 1080p(HD) - - - - 720p(HD) - - - - 540p(SD) - - - - 480p(SD) - -

      -
      -
      - - - - -
      -
      - - diff --git a/dita/RTC-NG/API/api_playerconfig_setautoplay.dita b/dita/RTC-NG/API/api_playerconfig_setautoplay.dita deleted file mode 100644 index 5398607962c..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_setautoplay.dita +++ /dev/null @@ -1,63 +0,0 @@ - - - - <ph keyref="SetAutoPlay"/> - 设置是否自动播放。 - - - - - - - - -
      -

      - public void setAutoPlay(boolean autoPlay) throws RteException; - - - (void)setAutoPlay:(BOOL)autoPlay error:(AgoraRteError * _Nullable)error; - void SetAutoPlay(bool auto_play, Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      当你调用 打开媒体流之前,你可以调用该方法设置是否自动播放。如不设置,默认会启用自动播放。

      -
      -
      - 调用时机 -

      该方法需要在 之前调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - autoPlay - auto_play - 是否自动播放: -
      • :(默认)开启自动播放。
      • -
      • :关闭自动播放。
      -
      - - - - -
      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_playerconfig_setjsonparameter.dita b/dita/RTC-NG/API/api_playerconfig_setjsonparameter.dita deleted file mode 100644 index 4768f2fefb3..00000000000 --- a/dita/RTC-NG/API/api_playerconfig_setjsonparameter.dita +++ /dev/null @@ -1,61 +0,0 @@ - - - - <ph keyref="SetJsonParameter_PlayerConfig"/> - 设置播放器的 JSON 配置信息。 - - - - - - - - -
      -

      - public void setJsonParameter(String jsonParameter) throws RteException; - - - (void)setJsonParameter:(NSString * _Nonnull)jsonParameter error:(AgoraRteError * _Nullable)error; - void SetJsonParameter(const char *json_parameter, Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      - 适用场景 -

      当你需要设置私有参数或使用定制功能时,可以调用该方法。

      -
      -
      - 调用时机 -

      该方法需要在 之前调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - - - - - - - -
      -
      - - diff --git a/dita/RTC-NG/API/api_rte_destroy.dita b/dita/RTC-NG/API/api_rte_destroy.dita deleted file mode 100644 index 47cf09e782e..00000000000 --- a/dita/RTC-NG/API/api_rte_destroy.dita +++ /dev/null @@ -1,58 +0,0 @@ - - - - <ph keyref="Destroy_Rte"/> - 销毁 RTE 对象。 - - - - - - - - -
      -

      - public synchronized void destroy() throws RteException; - - (BOOL)destroy:(AgoraRteError * _Nullable)error; - bool Destroy(Error *err = nullptr){ - return RteDestroy(&c_rte, err != nullptr ? err->get_underlying_impl() : nullptr); - } - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      该方法释放 RTE 对象使用的所有资源。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - <ph props="cpp apple">参数</ph> - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      销毁 RTE 对象是否成功:

        -
      • :销毁成功。
      • -
      • :销毁失败。
      • -
      -

      -
      - - diff --git a/dita/RTC-NG/API/api_rte_getconfigs.dita b/dita/RTC-NG/API/api_rte_getconfigs.dita deleted file mode 100644 index 4561e656e24..00000000000 --- a/dita/RTC-NG/API/api_rte_getconfigs.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="GetConfigs_Rte"/> - 获取 RTE 对象的配置信息。 - - - - - - - - -
      -

      - public void getConfigs(Config config) throws RteException; - - - (BOOL)getConfigs:(AgoraRteConfig *_Nonnull)config error:(AgoraRteError * _Nullable)error; - bool GetConfigs(Config *config, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -
      -
      - 调用时机 -

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - - - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      获取配置是否成功:

        -
      • :获取成功。
      • -
      • :获取失败。
      • -
      -

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_rte_getfrombridge.dita b/dita/RTC-NG/API/api_rte_getfrombridge.dita deleted file mode 100644 index e600428bdb4..00000000000 --- a/dita/RTC-NG/API/api_rte_getfrombridge.dita +++ /dev/null @@ -1,59 +0,0 @@ - - - - <ph keyref="GetFromBridge"/> - 中桥接出一个 RTE 对象。 - - - - - - - - -
      -

      - public static synchronized Rte getFromBridge() throws RteException; - - + (instancetype _Nonnull)getFromBridge:(AgoraRteError * _Nullable)error; - static Rte GetFromBridge(Error* err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      调用该方法创建的 RTE 对象,无需再通过 进行初始化。如果你之前未创建并初始化 RTC 引擎,可以先调用 创建一个 RTE 对象,然后再调用 进行初始化。

      -
      -
      - 调用时机 -

      调用该方法前,请确保已调用 初始化 RTC 引擎。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - <ph props="apple cpp">参数</ph> - - - err - error - 指向 对象的指针,用于接收状态及错误码。 - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

      -

      一个 RTE 对象。

      -
      - - diff --git a/dita/RTC-NG/API/api_rte_initmediaengine.dita b/dita/RTC-NG/API/api_rte_initmediaengine.dita deleted file mode 100644 index 71b888fe43f..00000000000 --- a/dita/RTC-NG/API/api_rte_initmediaengine.dita +++ /dev/null @@ -1,74 +0,0 @@ - - - - <ph keyref="InitMediaEngine"/> - 初始化 RTE 引擎。 - - - - - - - - -
      -

      - public void initMediaEngine(AsyncCallback callBack) throws RteException; - - - (BOOL)initMediaEngine:(void (^ _Nullable)(AgoraRteError* _Nullable err) )cb error:(AgoraRteError * _Nullable)error; - bool InitMediaEngine(std::function<void(rte::Error *err)> cb, Error *err = nullptr); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      此方法为异步方法,通过回调函数返回初始化结果。

      -
      -
      - 调用时机 -

      该方法需要在创建 RTE 对象并设置 App ID 后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - cb - 一个异步回调函数,用于返回引擎初始化结果。你可以通过该回调的 err 参数得知引擎初始化的结果或错误码信息,详见 - - - callback - 一个异步回调函数,用于返回引擎初始化结果。详见 - - - err - error - 初始化过程中的错误信息,详见 。在调用 方法初始化时,如果过程遇到立即可检测的错误(如参数无效、资源不足等),SDK 会通过此参数同步返回错误信息。 - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      异步操作是否成功加入队列:

        -
      • :成功加入队列。
      • -
      • :未成功加入队列。
      • -
      - 该返回值仅表示初始化操作是否成功地被安排在异步任务队列中,不表示初始化是否成功。

      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_rte_registerobserver.dita b/dita/RTC-NG/API/api_rte_registerobserver.dita deleted file mode 100644 index 490e86745be..00000000000 --- a/dita/RTC-NG/API/api_rte_registerobserver.dita +++ /dev/null @@ -1,71 +0,0 @@ - - - - <ph keyref="RegisterObserver_Rte"/> - 注册 RTE 事件观测器对象。 - - - - - - - - -
      -

      - public void registerObserver(Observer observer) throws RteException; - - - (BOOL)registerObserver:(AgoraRteObserver * _Nonnull)observer error:(AgoraRteError * _Nullable)error; - bool RegisterObserver(Observer *observer, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      //TODO rte Observer 回调类文档不暴露的话,只暴露这个接口是否有意义?

      -

      成功注册观测器对象后,你可以接收 类下的回调事件。

      -

      如果注册失败,SDK 会抛出 异常,并返回相应的错误信息。你需要捕获异常并进行处理。

      -
      -
      - 调用时机 -

      请在初始化 RTE 引擎后再调用该方法。

      -
      -
      - 调用限制 -

      无。

      -
      - -
      - 参数 - - - observer - RTE 回调事件对象。 - - - err - error - 状态或错误信息,详见 - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      观测器对象是否注册成功:

        -
      • :注册成功。
      • -
      • :注册失败。
      • -
      -

      -
      -
      diff --git a/dita/RTC-NG/API/api_rte_rte.dita b/dita/RTC-NG/API/api_rte_rte.dita deleted file mode 100644 index 2f7579d2c72..00000000000 --- a/dita/RTC-NG/API/api_rte_rte.dita +++ /dev/null @@ -1,60 +0,0 @@ - - - - <ph keyref="Rte_Rte"/> - 构造一个 RTE 对象。 - - - - - - - - -
      -

      - public Rte(InitialConfig initialConfig); - - - (instancetype _Nonnull)initWithInitialConfig:(AgoraRteInitialConfig * _Nullable)config; - explicit Rte(InitialConfig *config = nullptr); - - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      RTE 对象用于组织和管理 Rte 内部相关资源。

      -
      -
      - 调用时机 -

      该方法需要在 前调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - initialConfig - config - 初始化设置,当前可传空。 - -
      -
      - <ph keyref="return-section-title"/> -
        -
      • 方法调用成功,返回一个 RTE 对象。
      • -
      • 方法调用失败,返回
      • -
      -
      -
      diff --git a/dita/RTC-NG/API/api_rte_setconfigs.dita b/dita/RTC-NG/API/api_rte_setconfigs.dita deleted file mode 100644 index 4824750510b..00000000000 --- a/dita/RTC-NG/API/api_rte_setconfigs.dita +++ /dev/null @@ -1,72 +0,0 @@ - - - - <ph keyref="SetConfigs_Rte"/> - 配置 RTE 对象的信息。 - - - - - - - - -
      -

      - public void setConfigs(Config config) throws RteException; - - - (BOOL)setConfigs:(AgoraRteConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error; - bool SetConfigs(Config *config, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      你可以调用该方法来设置 App ID 等信息。

      - -
      -
      - 调用时机 -

      该方法需要在 之后调用。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - config - RTE 对象的设置,详见 - - - err - error - 状态或错误信息,详见 - -
      -
      - <ph keyref="return-section-title"/> - -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      配置是否成功:

        -
      • :配置成功。
      • -
      • :配置失败。
      • -
      -

      -
      -
      - -

      -
      -
      -
      diff --git a/dita/RTC-NG/API/api_rte_unregisterobserver.dita b/dita/RTC-NG/API/api_rte_unregisterobserver.dita deleted file mode 100644 index 4dfee883335..00000000000 --- a/dita/RTC-NG/API/api_rte_unregisterobserver.dita +++ /dev/null @@ -1,65 +0,0 @@ - - - - <ph keyref="UnregisterObserver_Rte"/> - 取消注册 RTE 事件观测器对象。 - - - - - - - - -
      -

      - public void unregisterObserver(Observer observer) throws RteException; - - - (BOOL)unregisterObserver:(AgoraRteObserver * _Nullable)observer error:(AgoraRteError * _Nullable)error; - bool UnregisterObserver(Observer *observer, Error *err); - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      成功调用 注册事件观测器后,如果你需要取消注册,可以调用该方法。

      -

      如果取消注册失败,SDK 会抛出 异常,并返回相应的错误信息。你需要捕获异常并进行处理。

      -
      -
      - 调用时机 -

      请在 之后调用该方法。

      -
      -
      - 调用限制 -

      无。

      -
      -
      - 参数 - - - - - - - - - -
      -
      - <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -

      取消注册是否成功:

        -
      • :取消注册成功。
      • -
      • :取消注册失败。
      • -
      -

      -
      -
      diff --git a/dita/RTC-NG/API/api_rteexception_errorcode.dita b/dita/RTC-NG/API/api_rteexception_errorcode.dita deleted file mode 100644 index 5024c49a187..00000000000 --- a/dita/RTC-NG/API/api_rteexception_errorcode.dita +++ /dev/null @@ -1,41 +0,0 @@ - - - - <ph keyref="errorCode_RteException"/> - 获取 RteException 携带的错误码。 - - - - - - - - -
      -

      - public Constants.ErrorCode errorCode() { - return Constants.ErrorCode.fromInt(mErrorCode); - } - - - - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -
      -
      -

      此异常携带的错误码,详见

      -
      -
      -
      diff --git a/dita/RTC-NG/API/callback_asynccallback_onresult.dita b/dita/RTC-NG/API/callback_asynccallback_onresult.dita deleted file mode 100644 index 886d27f6507..00000000000 --- a/dita/RTC-NG/API/callback_asynccallback_onresult.dita +++ /dev/null @@ -1,53 +0,0 @@ - - - - <ph keyref="onResult_AsyncCallback"/> - 异步操作结果回调。 - - - - - - - - -
      -

      - @CalledByNative void onResult(Error error); - - - - - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -
      -
      - 触发时机 -

      当异步操作完成后,SDK 会触发该回调报告异步操作的结果。

      -
      -
      - 使用限制 -

      -

      -
      - 参数 - - - error - 状态或错误码,详见 - -
      -
      -
      diff --git a/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita b/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita index 7f355eee315..ea469418cd8 100644 --- a/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita +++ b/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita @@ -37,7 +37,7 @@ frame audioFrame - 音频帧信息。详见 详见 + 音频帧信息。详见 详见 playerKit diff --git a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita index f7dae57b848..2d9be2d80e3 100644 --- a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita +++ b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita @@ -15,7 +15,7 @@

      boolean onLocalAudioSpectrum(AudioSpectrumInfo data); - onLocalAudioSpectrum?:(data:AudioSpectrumData) => boolean ; + - (BOOL)onLocalAudioSpectrum:(NSArray<NSNumber *> * _Nullable)audioSpectrumData; virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0; DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioSpectrum, const FAudioSpectrumData&, data); diff --git a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita index 3f90dbce3fe..b2582f27ecf 100644 --- a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita +++ b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita @@ -15,7 +15,7 @@

      boolean onRemoteAudioSpectrum(UserAudioSpectrumInfo[] userAudioSpectrumInfos, int spectrumNumber); - onRemoteAudioSpectrum?:(data:Array<AudioSpectrumInfo>) => boolean ; + - (BOOL)onRemoteAudioSpectrum:(NSArray<AgoraAudioSpectrumInfo *> * _Nullable)AudioSpectrumInfo; virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0; @@ -43,12 +43,8 @@

      参数 - - data - 远端用户的音频频谱信息,详见 。数组数量等于 SDK 监测到的远端用户数量,数组为空表示没有监测到远端用户的音频频谱。 - - - userAudioSpectrumInfos + + userAudioSpectrumInfos AudioSpectrumInfo spectrums 远端用户的音频频谱信息,详见 。 数组数量等于 SDK 监测到的远端用户数量,数组为空表示没有监测到远端用户的音频频谱。 diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita index 7b0259a202e..a29e605e485 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita @@ -14,7 +14,7 @@

      void onAudioVolumeIndication(int volume); - onAudioVolumeIndication?:(volume:number) => void + onAudioVolumeIndication?:( speakers:Array<AudioVolumeInfo>, totalVolume:number) => void - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit volumeIndicationDidReceive:(NSInteger)volume; diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita index 46c1f67bacd..4980466c30f 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita @@ -15,7 +15,7 @@

      void onMetaData(Constants.MediaPlayerMetadataType type, byte[] data); - onMetaData?:(type:Constants.MediaPlayerMetadataType,data:ArrayBuffer) => void + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveData:(NSString *_Nullable)data length:(NSInteger)length; diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita index 8969ed7d737..8618ec6077d 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita @@ -15,7 +15,7 @@

      void onPlayBufferUpdated(long playCachedBuffer); - onPlayBufferUpdated?:(playCachedBuffer:number) => void + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPlayBufferUpdated:(NSInteger)playCachedBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPlayBufferUpdated:)); virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0; @@ -36,8 +36,8 @@

        -
      • 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回 (6)。
      • -
      • 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回 (7)。
      • +
      • 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回
      • +
      • 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回

      diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita index 4ff35aadde5..1ac3fbb5335 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita @@ -14,7 +14,7 @@

      void onPlayerCacheStats(CacheStatistics stats); - onPlayerCacheStats?:(stats:CacheStatistics) => void + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit cacheStats:(AgoraMediaPlayerCacheStatistics *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:cacheStats:)); virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) { (void)stats; diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita index e96e83445bc..58ba6a8de6a 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita @@ -15,7 +15,7 @@

      void onPlayerEvent(Constants.MediaPlayerEvent eventCode, long elapsedTime, String message); - onPlayerEvent?:(eventCode:Constants.MediaPlayerEvent,elapsedTime:number,message:string) => void + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didOccurEvent:(AgoraMediaPlayerEvent)eventCode elapsedTime:(NSInteger)elapsedTime diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita index d225bdd59ed..09118a2d888 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita @@ -15,7 +15,7 @@

      void onPlayerInfoUpdated(PlayerUpdatedInfo info); - onPlayerInfoUpdated?:(info:PlayerUpdatedInfo) => void + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info; virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0; diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita index eeac90e1f1f..f49315d3f87 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita @@ -14,7 +14,7 @@

      void onPlayerPlaybackStats(PlayerPlaybackStats stats); - onPlayerPlaybackStats?:(stats:PlayerPlaybackStats) => void + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playbackStats:(AgoraMediaPlayerPlaybackStats *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playbackStats:)); virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats& stats) { (void)stats; @@ -42,7 +42,7 @@ 参数 - stats + stats info 媒体资源的相关信息,详见 diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita index 179d44b7fb7..c94589e67c1 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita @@ -15,7 +15,7 @@

      void onPlayerStateChanged(Constants.MediaPlayerState state, Constants.MediaPlayerReason reason); - onPlayerStateChanged?:(state:Constants.MediaPlayerState,reason:Constants.MediaPlayerReason) => void + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didChangedToState:(AgoraMediaPlayerState)state reason:(AgoraMediaPlayerReason)reason NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:reason:)); diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita index 643ca80aeea..885cf51b9f9 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita @@ -15,7 +15,7 @@

      void onPlayerSrcInfoChanged(SrcInfo from, SrcInfo to); - onPlayerSrcInfoChanged?:(from:SrcInfo,to:SrcInfo) => void + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from; virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0; diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita index 72aa61f043d..29b146f3fe7 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita @@ -14,7 +14,7 @@

      void onPositionChanged(long positionMs, long timestampMs); - onPositionChanged?:(positionMs:number,timestampMs:number) => void + - (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit didChangedToPosition:(NSInteger)positionMs atTimestamp:(NSTimeInterval)timestampMs NS_SWIFT_NAME(AgoraMediaPlayer(_:didChangedToPosition:atTimestamp:)); diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita index 6e34f6b62ca..dc651eabae6 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita @@ -15,7 +15,7 @@

      void onPreloadEvent(String src, Constants.MediaPlayerPreloadEvent event); - onPreloadEvent?:(src:string,event:Constants.MediaPlayerPreloadEvent) => void + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event; diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita index c1d6d10919f..c4aae318625 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita @@ -14,7 +14,7 @@

      void onLyricResult(String requestId, long songCode, String lyricUrl, int reason); - onLyricResult?:(requestId:string,songCode:bigint,lyricUrl:string,reason:Constants.MusicContentCenterStateReason) => void + - (void)onLyricResult:(NSString*)requestId songCode:(NSInteger)songCode lyricUrl:(NSString* _Nullable)lyricUrl reason:(AgoraMusicContentCenterStateReason)reason; virtual void onLyricResult(const char* requestId, int64_t songCode, const char* lyricUrl, MusicContentCenterStateReason reason) = 0; onLyricResult?( diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita index 3ae18402b0e..9378d1bde3e 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita @@ -14,7 +14,7 @@

      void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason); - onMusicChartsResult?:(requestId:string,list:MusicChartInfo[],reason:Constants.MusicContentCenterStateReason) => void + - (void)onMusicChartsResult:(NSString *)requestId result:(NSArray<AgoraMusicChartInfo*> *)result reason:(AgoraMusicContentCenterStateReason)reason; virtual void onMusicChartsResult(const char* requestId, agora_refptr<MusicChartCollection> result, MusicContentCenterStateReason reason) = 0; onMusicChartsResult?( @@ -51,8 +51,8 @@ reason -

      音乐内容中心的请求状态码,详见

      -

      音乐内容中心的请求状态码: +

      音乐内容中心的请求状态码,详见

      +

      音乐内容中心的请求状态码:

      • (0):请求成功。
      • (1):一般错误,无明确归因。
      • @@ -73,7 +73,7 @@ list result - 当前可播放的音乐榜单列表。详见 + 当前可播放的音乐榜单列表。详见
      diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita index 481f7f9148c..88a06c76a2c 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita @@ -15,7 +15,7 @@

      void onMusicCollectionResult( String requestId, int page, int pageSize, int total, Music[] list, int reason); - onMusicCollectionResult?:(requestId:string,page:number,pageSize:number,total:number,list:Music[],reason:Constants.MusicContentCenterStateReason) => void + - (void)onMusicCollectionResult:(NSString *)requestId result:(AgoraMusicCollection *)result reason:(AgoraMusicContentCenterStateReason)reason; virtual void onMusicCollectionResult(const char* requestId, agora_refptr<MusicCollection> result, MusicContentCenterStateReason reason) = 0; onMusicCollectionResult?( @@ -40,8 +40,7 @@

      v4.1.0
      -

      当你调用 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

      -

      当你调用 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

      +

      当你调 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

      参数 @@ -69,7 +68,7 @@ list result - 音乐资源列表的详细信息。详见 + 音乐资源列表的详细信息。详见
      diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita index eea1b955ced..d589422cc0c 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita @@ -15,7 +15,7 @@

      void onPreLoadEvent( String requestId, long songCode, int percent, String lyricUrl, int state, int reason); - onPreLoadEvent?:(requestId:string,songCode:bigint,percent:number,lyricUrl:string,state:number,reason:Constants.MusicContentCenterStateReason) => void + - (void)onPreLoadEvent:(NSString*)requestId songCode:(NSInteger)songCode percent:(NSInteger)percent lyricUrl:(NSString * _Nullable)lyricUrl state:(AgoraMusicContentCenterPreloadState)state reason:(AgoraMusicContentCenterStateReason)reason; virtual void onPreLoadEvent(const char* requestId, int64_t songCode, int percent, const char* lyricUrl, PreloadState state, MusicContentCenterStateReason reason) = 0; onPreLoadEvent?( @@ -51,13 +51,12 @@

      v4.1.0
      -

      当你调用 方法预加载音乐资源后,SDK 会触发该回调。

      -

      当你调用 方法预加载音乐资源后,SDK 会触发该回调。

      +

      当你调用 方法预加载音乐资源后,SDK 会触发该回调。

      参数 - + diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita index b655d79e83a..c261d15f4f2 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita @@ -14,7 +14,7 @@

      void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason); - onSongSimpleInfoResult?:(requestId:string,songCode:bigint,simpleInfo:string,reason:Constants.MusicContentCenterStateReason) => void + - (void)onSongSimpleInfoResult:(NSString*)requestId songCode:(NSInteger)songCode simpleInfo:(NSString* _Nullable)simpleInfo reason:(AgoraMusicContentCenterStateReason)reason; virtual void onSongSimpleInfoResult(const char* requestId, int64_t songCode, const char* simpleInfo, MusicContentCenterStateReason reason) = 0; onSongSimpleInfoResult?( diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita index 1a448edea02..c5affb1c340 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita @@ -14,7 +14,7 @@

      public void onAudioEffectFinished(int soundId) {} - onAudioEffectFinished?:(soundId:number) => void; + - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; virtual void onAudioEffectFinished(int soundId) { } diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita index 30ab27a5156..b0d58d6518c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita @@ -14,7 +14,7 @@

      public void onAudioMixingStateChanged(int state, int reasonCode); - onAudioMixingStateChanged?:(state:Constants.AudioMixingState,reason:Constants.AudioMixingReason) => void + onAudioMixingStateChanged?:(state:number,reason:number) => void - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state reasonCode:(AgoraAudioMixingReasonCode)reasonCode; virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) { @@ -43,8 +43,8 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode; state - 音乐文件播放状态。详见 -

      + 音乐文件播放状态。详见 +

      • (710): 音乐文件正常播放。
      • (711): 音乐文件暂停播放。
      • @@ -57,9 +57,9 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode; reasonCode - reason - 错误码。详见 -

        + reason + 错误码。详见 +

        • (0): 正常。
        • (701): 音乐文件打开出错。
        • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita index c320e50e5e7..dfccfee9d48 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita @@ -15,7 +15,7 @@

          public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - onAudioPublishStateChanged?:(channel:string, oldState:Constants.StreamPublishState, newState:Constants.StreamPublishState, elapseSinceLastState:number) => void; + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState @@ -61,7 +61,7 @@ elapseSinceLastState:(int)elapseSinceLastState; - channel + channel channelId 频道名。 @@ -79,4 +79,4 @@ elapseSinceLastState:(int)elapseSinceLastState;

      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita index ae040d00967..2b94c0f200c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -15,7 +15,7 @@

      public void onAudioSubscribeStateChanged( String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} - onAudioSubscribeStateChanged?:(channel:string,uid:number,oldState:Constants.StreamSubscribeState,newState:Constants.StreamSubscribeState,elapseSinceLastState:number) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioSubscribeStateChange:(NSString * _Nonnull)channelId uid:(unsigned int)uid @@ -67,7 +67,7 @@ elapseSinceLastState:(int)elapseSinceLastState; - channel + channel channelId 频道名。 @@ -77,8 +77,8 @@ elapseSinceLastState:(int)elapseSinceLastState; oldState - 之前的订阅状态,详见 - 之前的订阅状态。 + 之前的订阅状态,详见 + 之前的订阅状态。

      • (0): 加入频道后的初始订阅状态。
      • @@ -103,8 +103,8 @@ elapseSinceLastState:(int)elapseSinceLastState; newState - 当前的订阅状态,详见 - 当前的订阅状态。 + 当前的订阅状态,详见 + 当前的订阅状态。
        • (0): 加入频道后的初始订阅状态。
        • (1): 订阅失败。可能是因为: @@ -132,4 +132,4 @@ elapseSinceLastState:(int)elapseSinceLastState;
      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita index f9148f1d621..df211c53b97 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita @@ -14,7 +14,7 @@

      public void onCameraExposureAreaChanged(Rect rect) {} - onCameraExposureAreaChanged?:(rect:camera.Rect) => void; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect; virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) { (void)x; @@ -61,9 +61,9 @@ - + rect - 镜头内表示曝光的区域。详见 + 镜头内表示曝光的区域。详见

      diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita index 13be6d58827..ea68c1cf8f9 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita @@ -14,7 +14,7 @@

      public void onCameraFocusAreaChanged(Rect rect) {} - onCameraFocusPointChanged?:(point:camera.Point) => void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect; virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) { (void)x; @@ -68,17 +68,6 @@ - - - - point - 镜头内表示对焦的点。 - - - - - - -

      +
      - + \ No newline at end of file diff --git a/dita/RTC-NG/archive/callback_irtcengineeventhandler_onchannelmediarelayevent.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita similarity index 100% rename from dita/RTC-NG/archive/callback_irtcengineeventhandler_onchannelmediarelayevent.dita rename to dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita index 0c80700184d..dfeb9f96be1 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita @@ -14,7 +14,7 @@

      public void onChannelMediaRelayStateChanged(int state, int code) {} - onChannelMediaRelayStateChanged?:(state:Constants.ChannelMediaRelayState,code:Constants.ChannelMediaRelayError) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state error:(AgoraChannelMediaRelayError)error; @@ -49,7 +49,7 @@ channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state state -

      跨频道媒体流转发状态。详见

      +

      跨频道媒体流转发状态。详见

      跨频道媒体流转发状态:

        @@ -63,7 +63,7 @@ channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state code -

        跨频道媒体流转发出错的错误码。详见

        +

        跨频道媒体流转发出错的错误码。详见

        跨频道媒体流转发出错的错误码: diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita index 470b4aea6b9..2d73b39e573 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita @@ -39,21 +39,18 @@ NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:));

      -
      -
      触发时机 -

      在以下任意一种情况时,会触发此回调:

        +

        在以下任意一种情况时,会触发此回调:

        • 加入频道后调用 设置用户角色或观众端延时级别。
        • 加入频道前调用 并将用户角色设为 AUDIENCE

        -

        在以下任意一种情况时,会触发此回调:

          +

          在以下任意一种情况时,会触发此回调:

          • 加入频道后调用 设置用户角色或观众端延时级别。
          • 加入频道前调用 并将用户角色设为 AUDIENCE

      使用限制 -

      当你在加入频道前调用 并将用户角色设为 BROADCASTER 时,不会触发此回调。

      -

      当你在加入频道前调用 并将用户角色设为 BROADCASTER 时,不会触发此回调。

      +

      当你在加入频道前调用 并将用户角色设为 BROADCASTER 时,不会触发此回调。

      <ph keyref="callback-section-title"/> @@ -68,15 +65,15 @@ NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:)); oldRole - 切换前的角色: -
        + 切换前的角色: +
        newRole - 切换后的角色: -
          + 切换后的角色: +
          diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita index 41fe7647a8e..458a15f348d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita @@ -44,8 +44,8 @@
      触发时机 -

      本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

      -

      本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

      +

      本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

      +

      本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

      使用限制 @@ -78,8 +78,8 @@ currentRole - 当前用户角色。详见 - 当前用户角色。 + 当前用户角色。详见 + 当前用户角色。
      • (1): 主播。主播可以发流也可以收流。
      • (2): 观众。观众只能收流不能发流。
      • @@ -91,4 +91,4 @@
      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita index 4cf8ccac9b3..b2cf0a21ba6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita @@ -56,20 +56,25 @@ state -

      当前网络连接状态。详见

      -
        -
      • (1):网络连接断开。
      • -
      • (2):建立网络连接中。
      • -
      • (3):网络已连接。
      • -
      • (4):重新建立网络连接中。
      • -
      • (5):网络连接失败。
      • +

        当前网络连接状态。详见

        +
          +
        • + (1):网络连接断开。
        • +
        • + (2):建立网络连接中。
        • +
        • + (3):网络已连接。
        • +
        • + (4):重新建立网络连接中 。
        • +
        • + (5):网络连接失败 。
        reason -

        引起当前网络连接状态改变的原因。详见

        -

        +

        引起当前网络连接状态改变的原因。详见

        +

        • (0):建立网络连接中。
        • (1):成功加入频道。
        • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita index 46b9d0e924a..034451f763a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita @@ -50,11 +50,11 @@ connection Connection 信息。详见 - + errorType 错误类型,详见 - + errorType 错误类型。
            diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita index 8ed5a00b668..cafbe77e94d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita @@ -15,7 +15,7 @@

            public void onError(int err) {} - onError?:(err:Constants.ErrorCode,message:string) => void + onError?:(err:number,message:string) => void - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode; virtual void onError(int err, const char* msg) { @@ -41,17 +41,17 @@ - + errorCode - err + err 错误码。详见 msg 错误描述。 - - err + + err error 错误码。 @@ -65,14 +65,14 @@

            • 初始化失败。请重新初始化
            • 调用方法时用户尚未加入频道。请检查方法的调用逻辑。
            • -
            • 调用 方法时用户尚未离开频道。请检查方法的调用逻辑。
            • +
            • 调用 方法时用户尚未离开频道。请检查方法的调用逻辑。
            • 请检查是否已开启音频模块。请检查程序集完整性。
          • (4): 当前状态不支持该操作。可能的原因有:
              -
            • Android 平台调用 方法时,如果设备版本低于 Android 5.0,会上报该错误码。请确认 Android 设备版本。
            • +
            • Android 平台调用 方法时,如果设备版本低于 Android 5.0,会上报该错误码。请确认 Android 设备版本。
            • 使用内置加密时,设置的加密模式不正确,或加载外部加密库失败。请检查加密的枚举值是否正确,或重新加载外部加密库。
          • (5):方法调用被拒绝。可能的原因有: @@ -93,7 +93,7 @@
            • 用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) 状态外,不要再次调用该方法加入频道。
            • -
            • 用户在调用 进行通话测试后,未调用 结束当前测试就尝试加入频道。开始通话测试后,需要先调用 结束当前测试,再加入频道。
            • +
            • 用户在调用 进行通话测试后,未调用 结束当前测试就尝试加入频道。开始通话测试后,需要先调用 结束当前测试,再加入频道。
          • (18):离开频道失败。可能的原因有: @@ -125,7 +125,7 @@
          • 在控制台中启用了 App 证书,但未使用 App ID + Token 鉴权。当项目启用了 App 证书,就必须使用 Token 鉴权。
          • 生成 Token 时填入的 uid 字段,和用户加入频道时填入的 uid 不匹配。
          -
          +
          弃用:
          该枚举已废弃。请改用 回调中的 (8)。
          diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita index 61ffbb07393..c42887ddcb5 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita @@ -15,7 +15,7 @@

          void onErrorWithContext(ExtensionContext extContext, int error, String message){}; onError?:(err:number,message:string) => void - - (void)onExtensionErrorWithContext:(AgoraExtensionContext * _Nonnull)context + - (void)onExtensionErrorWithContext:(AgoraExtensionContext * __nonnull)context error:(int)error message:(NSString * __nullable)message NS_SWIFT_NAME(onExtensionErrorWithContext(_:error:message:)); virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) { diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita index 4c06c619acc..2f4a21c50c8 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita @@ -15,7 +15,7 @@

          void onEventWithContext(ExtensionContext extContext, String key, String value){}; - - (void)onEventWithContext:(AgoraExtensionContext * _Nonnull)context + - (void)onEventWithContext:(AgoraExtensionContext * __nonnull)context key:(NSString * __nullable)key value:(NSString * __nullable)value NS_SWIFT_NAME(onEventWithContext(_:key:value:)); virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) { diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita index 9d64d7d082c..9f9b609866c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita @@ -15,7 +15,7 @@

          void onStartedWithContext(ExtensionContext extContext){}; - - (void)onExtensionStartedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStartedWithContext(_:)); + - (void)onExtensionStartedWithContext:(AgoraExtensionContext * __nonnull)context NS_SWIFT_NAME(onExtensionStartedWithContext(_:)); virtual void onExtensionStartedWithContext(const ExtensionContext &context) { (void)context; } diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita index f33cd4a97c7..3bdaec83dba 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita @@ -15,7 +15,7 @@

          void onStoppedWithContext(ExtensionContext extContext){}; - - (void)onExtensionStoppedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStoppedWithContext(_:)); + - (void)onExtensionStoppedWithContext:(AgoraExtensionContext * __nonnull)context NS_SWIFT_NAME(onExtensionStoppedWithContext(_:)); virtual void onExtensionStoppedWithContext(const ExtensionContext &context) { (void)context; } diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita index 9a9cce26d8c..a73c5a4421c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita @@ -73,12 +73,12 @@ - imageWidth + imageWidth width 摄像头采集画面的宽度 (px)。 - imageHeight + imageHeight height 摄像头采集画面的高度 (px)。 diff --git a/dita/RTC-NG/archive/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita similarity index 100% rename from dita/RTC-NG/archive/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita rename to dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita index 380adf0ca4a..326a6ef5561 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita @@ -16,7 +16,7 @@ public void onFirstLocalVideoFrame( Constants.VideoSourceType source, int width, int height, int elapsed) {} - onFirstLocalVideoFrame?:(source:Constants.VideoSourceType,width:number,height:number,elapsed:number) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFrameWithSize:(CGSize)size elapsed:(NSInteger)elapsed @@ -67,11 +67,11 @@ size 本地渲染视频的尺寸。 - + width 本地渲染视频的宽 (px) 。 - + height 本地渲染视频的高 (px)。 diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita index 526aa3d3904..7d9270062e4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita @@ -14,7 +14,7 @@

          public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} - onFirstRemoteVideoFrame?:(uid:number,width:number,height:number,elapsed:number) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed; virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { @@ -55,7 +55,7 @@ - uid + uid remoteUid userId 用户 ID,指定是哪个用户的视频流。 @@ -68,11 +68,11 @@ connection Connection 信息。详见 - + width 视频流宽(px)。 - + height 视频流高(px)。 diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index 00531d2d469..4afdb9459e0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -14,7 +14,7 @@

          public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} - onJoinChannelSuccess?:(channel:string, uid:number, elapsed:number) => void; + onJoinChannelSuccess?:(cid:string, uid:number, elapsed:number) => void; - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed; virtual void onJoinChannelSuccess(const char* channel, diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita index 388f73c7906..9002022c944 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita @@ -42,7 +42,7 @@ result - 上下行 Last mile 质量探测结果。详见 + 上下行 Last mile 质量探测结果。 详见:

          diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita index 358d7f3d8d6..b3312d0c314 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita @@ -40,7 +40,7 @@ quality - Last mile 网络质量。详见 + Last mile 网络质量。详见
          diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita index c4083649521..ab51cbdb25a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita @@ -33,8 +33,8 @@
          触发时机 -

          当你成功调用 离开频道后,SDK 会触发该回调。

          -

          当你成功调用 离开频道后,SDK 会触发该回调。

          +

          当你成功调用 离开频道后,SDK 会触发该回调。

          +

          当你成功调用 离开频道后,SDK 会触发该回调。

          使用限制 diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita index db1421a5e57..54ffe7d5dc3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita @@ -55,8 +55,8 @@ state - 当前的本地音频状态。详见 - 当前的本地音频状态。 + 当前的本地音频状态。详见 + 当前的本地音频状态。
          • (0): 本地音频默认初始状态。
          • (1): 本地音频采集设备启动成功。
          • @@ -66,8 +66,8 @@ reason - 本地音频状态改变原因。详见 - 本地音频状态改变原因。 + 本地音频状态改变原因。详见 + 本地音频状态改变原因。
            • (0): 本地音频状态正常。
            • (1): 本地音频出错原因不明确。建议提示用户尝试重新加入频道。
            • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita index 81cca87cbaa..0c379b37bcf 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita @@ -25,7 +25,8 @@ onLocalUserRegistered?(uid: number, userAccount: string): void; public virtual void OnLocalUserRegistered(uint uid, string userAccount) {} onLocalUserRegistered?(uid: number, userAccount: string): void; - final void Function(int uid, String userAccount)? onLocalUserRegistered; + final void Function(bool isFallbackOrRecover)? + onLocalPublishFallbackToAudioOnly;

          diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita index af136dd7d69..80303ddd223 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -15,7 +15,7 @@

          public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} - onLocalVideoStateChanged?:(source: Constants.VideoSourceType, state:Constants.LocalVideoStreamState,reason:Constants.LocalVideoStreamReason) => void + onLocalVideoStateChanged?:(source: Constants.VideoSourceType, state:Constants.LocalVideoStreamState,error:Constants.LocalVideoStreamReason) => void - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state reason:(AgoraLocalVideoStreamReason)reason sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:reason:sourceType:)); virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) { @@ -71,14 +71,14 @@ sourceType - source + source 视频源的类型。详见 state -

          本地视频状态,详见

          -

          +

          本地视频状态,详见

          +

          • (0): 本地视频默认初始状态。
          • (1): 本地视频采集设备启动成功。
          • @@ -90,8 +90,8 @@ reason -

            本地视频状态改变原因,详见

            -

            +

            本地视频状态改变原因,详见

            +

            • (0): 本地视频状态正常。
            • (1): 出错原因不明确。
            • @@ -101,10 +101,9 @@
            • (8):找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。
            • (14):视频采集中断。可能的原因是:
              • 摄像头被其他 App 占用。请提示用户检查摄像头是否被其他 App 占用。
              • -
              • 设备已锁屏,或当前 App 已被切换到后台。可以使用前台服务通知操作系统,确保 App 在切换到后台时仍可采集视频。详见
              • +
              • 当前 App 已被切换到后台。可以使用前台服务通知操作系统,确保 App 在切换到后台时仍可采集视频。详见
            • (15):视频采集设备出错。请提示用户关闭并重新启动摄像头以恢复功能,如果该操作不能解决问题,请检查摄像头是否出现硬件故障。
            • -
            • (21):当前采集的窗口无数据。

            diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita index 232ef5cd0dd..f5725426456 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita @@ -15,7 +15,7 @@

            public void onLocalVideoTranscoderError( LocalTranscoderConfiguration.TranscodingVideoStream stream, int error) {} - onLocalVideoTranscoderError?:(stream:TranscodingVideoStream, error:Constants.VideoTranscoderError) => void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalVideoTranscoderErrorWithStream:(AgoraTranscodingVideoStream * _Nonnull )stream errorCode:(AgoraVideoTranscoderError)errorCode NS_SWIFT_NAME(rtcEngine(_:didLocalVideoTranscoderErrorWithStream:errorCode:)); virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){ @@ -55,10 +55,10 @@ 合图失败的视频流。详见 - error + error errorCode - 本地合图出错原因。详见 - 本地合图出错原因: + 本地合图出错原因。详见 + 本地合图出错原因:

            • 1:指定的视频源未开始进行视频采集,你需要为其创建视频轨道并开始视频采集。
            • 2:视频源类型无效,你需要重新指定支持的视频源类型。
            • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita index 154c3fa3ed4..9c5fe53db17 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita @@ -47,7 +47,7 @@

              该回调描述每个用户在通话中的 last mile 网络状态,其中 last mile 是指设备到声网边缘服务器的网络状态。

              该回调每 2 秒触发一次。如果远端有多个用户,该回调每 2 秒会被触发多次。

              该回调通过频道内的广播包反馈网络质量。过多的广播包可能引发广播风暴。为防止广播风暴导致频道内大量数据传输,该回调默认支持同时反馈最多 4 个远端主播的网络质量。

              - 用户不发流时,txQualityUNKNOWNUnknown;用户不收流时,rxQualityUNKNOWNUnknown
          + 用户不发流时,txQualityUNKNOWNUnknown;用户不收流时,rxQualityUNKNOWNUnknown
      <ph keyref="callback-section-title" /> @@ -68,14 +68,14 @@ txQuality - 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。 该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 的分辨率就会有困难。详见 + 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。 该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 的分辨率就会有困难。 详见
      rxQuality - 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 + 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见
      diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita index f776aae5bf7..cfdb203cc06 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita @@ -41,8 +41,8 @@ permission type permissionType - 设备权限类型。详见 - 设备权限类型。 + 设备权限类型。详见 + 设备权限类型。
      • (0): 音频采集设备的权限。
      • (1): 摄像头权限。
      • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita index 0f23329be95..1509afcddb4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita @@ -14,7 +14,7 @@

        public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} - onRejoinChannelSuccess?:(channel:string, uid:number, elapsed:number) => void; + onRejoinChannelSuccess?:(cid:string, uid:number, elapsed:number) => void; - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRejoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed; virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { @@ -31,8 +31,6 @@ onRejoinChannelSuccess;

        -
        -
        触发时机

        有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连成功后触发此回调方法。

        diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita index c9e3a9ada5c..5595f699b20 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita @@ -72,8 +72,8 @@ state - 远端音频流状态,详见 - 远端音频流状态。 + 远端音频流状态,详见 + 远端音频流状态。
        • (0): 远端音频默认初始状态。在 的情况下,会报告该状态。
        • @@ -85,8 +85,8 @@ reason - 远端音频流状态改变的具体原因,详见 - 远端音频流状态改变的具体原因。 + 远端音频流状态改变的具体原因,详见 + 远端音频流状态改变的具体原因。
          • (0): 音频状态发生改变时,会报告该原因。
          • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita index 9883bee0aad..4b87ee592dd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita @@ -72,8 +72,8 @@ state -

            远端视频流状态,详见

            -

            远端视频流状态: +

            远端视频流状态,详见

            +

            远端视频流状态:

            • (0):远端视频默认初始状态。在 (3)、 (5) 或 (7) 的情况下,会报告该状态。
            • (1):本地用户已接收远端视频首包。
            • @@ -86,8 +86,8 @@ reason -

              远端视频流状态改变的具体原因,详见

              -

              远端视频流状态改变的具体原因: +

              远端视频流状态改变的具体原因,详见

              +

              远端视频流状态改变的具体原因:

              • (0):内部原因。
              • (1):网络阻塞。
              • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita index 534c1409eb9..d9ca3f136e8 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita @@ -14,7 +14,7 @@

                public void onRequestToken() {} - onRequestToken?:() => void; + - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; virtual void onRequestToken() UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita index e6c7a4488ea..e1dc9608361 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita @@ -39,8 +39,8 @@ eventCode event - 旁路推流事件码。详见 - 旁路推流事件码。 + 旁路推流事件码。详见 + 旁路推流事件码。

                • (1): 旁路推流时,添加背景图或水印出错。
                • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita index 4a301984bd2..f4ff5861295 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita @@ -14,7 +14,7 @@

                  public void onRtmpStreamingStateChanged(String url, int state, int reason) {} - onRtmpStreamingStateChanged? : (url:string,state:Constants.RtmpStreamPublishState,reason:Constants.RtmpStreamPublishReason) => void; + onRtmpStreamingStateChanged? : (url:string,state:Constants.RtmpStreamPublishState,errCode:Constants.RtmpStreamPublishReason) => void; - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingChangedToState:(NSString * _Nonnull)url state:(AgoraRtmpStreamingState)state reason:(AgoraRtmpStreamingReason)reason NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingChangedToState:state:reason:)); @@ -59,8 +59,8 @@ state - 当前的推流状态,详见 - 当前的推流状态: + 当前的推流状态,详见 + 当前的推流状态: @@ -82,8 +82,8 @@ reason - 推流状态改变的原因,详见 - 推流状态改变的原因。 + 推流状态改变的原因,详见 + 推流状态改变的原因。

                  • (0):推流成功。
                  • (1):参数无效。请检查输入参数是否正确。
                  • @@ -97,7 +97,7 @@
                  • (9):服务器未找到这个流。
                  • (10):推流地址格式有错误。请检查推流地址格式是否正确。
                  • (11):用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。
                  • -
                  • (13):非转码推流情况下,调用了 更新转码属性。请检查你的应用代码逻辑。
                  • +
                  • (13):非转码推流情况下,调用了 方法更新转码属性。请检查你的应用代码逻辑。
                  • (14):主播的网络出错。
                  • (16):你的项目没有使用声网推流服务的权限。请参考旁路推流中的前提条件开启推流服务。
                  • (100):推流已正常结束。当你调用 结束推流后,SDK 会返回该值。
                  • diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita index c9e6f7002a0..e7a7f8dd295 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita @@ -28,23 +28,16 @@ } UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnStreamMessage(int64 uid, int streamId, const FString& data, int length, int64 sentTs); - onStreamMessage?( - connection: RtcConnection, - remoteUid: number, - streamId: number, - data: Uint8Array, - length: number, - sentTs: number - ): void; - public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, ulong length, ulong sentTs) { } + onStreamMessage?(connection: RtcConnection, remoteUid: number, streamId: number, data: Uint8Array, length: number, sentTs: number): void; + public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { } onStreamMessage?( - connection: RtcConnection, - remoteUid: number, - streamId: number, - data: Uint8Array, - length: number, - sentTs: number - ): void; + connection: RtcConnection, + remoteUid: number, + streamId: number, + data: Uint8Array, + length: number, + sentTs: number +): void; final void Function(RtcConnection connection, int remoteUid, int streamId, Uint8List data, int length, int sentTs)? onStreamMessage;

                    @@ -66,7 +59,7 @@ - uid + uid userId remoteUid 发送消息的用户 ID。 diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita index 81ab900c3be..06256fe1811 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita @@ -65,10 +65,10 @@ connection - Connection 信息。详见 + Connection 信息。详见 - uid + uid userId remoteUid 发送消息的用户 ID。 @@ -79,8 +79,8 @@ code - error - 错误码。详见 + error + 发生错误的错误码。详见 missed diff --git a/dita/RTC-NG/archive/callback_irtcengineeventhandler_onstreampublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita similarity index 100% rename from dita/RTC-NG/archive/callback_irtcengineeventhandler_onstreampublished.dita rename to dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita diff --git a/dita/RTC-NG/archive/callback_irtcengineeventhandler_onstreamunpublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita similarity index 100% rename from dita/RTC-NG/archive/callback_irtcengineeventhandler_onstreamunpublished.dita rename to dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita index 846a9cbec50..e055741497d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita @@ -14,7 +14,7 @@

                    public void onTokenPrivilegeWillExpire(String token) {} - onTokenPrivilegeWillExpire?: (token:string) => void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token; virtual void onTokenPrivilegeWillExpire(const char* token) { diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita index 2fff2c190bb..2b519da845b 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita @@ -14,7 +14,7 @@

                    public void onUserEnableVideo(int uid, boolean enabled) {} - onUserEnableVideo?:(uid:number, enabled:boolean) => void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid @@ -80,4 +80,4 @@

                    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita index 7770008dc36..15c70f26069 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita @@ -14,7 +14,7 @@

                    public void onUserMuteAudio(int uid, boolean muted) {} - onUserMuteAudio?:(uid:number,muted:boolean) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; virtual void onUserMuteAudio(uid_t uid, bool muted) { (void)uid; diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita index 62da9411664..182d53fdbd6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita @@ -14,7 +14,7 @@

                    public void onUserMuteVideo(int uid, boolean muted) {} - onUserMuteVideo?:(uid:number,muted:boolean) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid virtual void onUserMuteVideo(uid_t uid, bool muted) { (void)uid; diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita index cbe800eb042..2fb580f7722 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita @@ -70,11 +70,11 @@ size 视频流的尺寸。 - + width 视频流的宽度(像素)。 - + height 视频流的高度(像素)。 diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita index 9e3d1226948..3218ede8a69 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita @@ -15,7 +15,7 @@

                    public void onVideoSubscribeStateChanged( String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} - onVideoSubscribeStateChanged?:(channel:string,uid:number,oldState:Constants.StreamSubscribeState,newState:Constants.StreamSubscribeState,elapseSinceLastState:number) =>void; + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoSubscribeStateChange:(NSString * _Nonnull)channelId uid:(unsigned int)uid @@ -78,8 +78,8 @@ oldState - 之前的订阅状态,详见 - 之前的订阅状态。 + 之前的订阅状态,详见 + 之前的订阅状态。

                    • (0): 加入频道后的初始订阅状态。
                    • (1): 订阅失败。可能是因为: @@ -103,8 +103,8 @@ newState - 当前的订阅状态,详见 - 当前的订阅状态。 + 当前的订阅状态,详见 + 当前的订阅状态。
                      • (0): 加入频道后的初始订阅状态。
                      • (1): 订阅失败。可能是因为: @@ -135,4 +135,4 @@
                    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita index 8633fa1804c..39e22c4a128 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita @@ -27,10 +27,7 @@

                    如果你希望获取的视频数据为原始视频的镜像,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。

                      -
                    • 在 Android 平台上,该回调支持的视频数据格式有:I420、RGBA 和 Texture。
                    • -
                    • 在 Windows 平台上,该回调支持的视频数据格式有:I420、RGBA 和 TextureBuffer。
                    • -
                    • 在 iOS 平台上,该回调支持的视频数据格式有:I420、RGBA 和 CVPixelBuffer。
                    • -
                    • 在 macOS 平台上,该回调支持的视频数据格式有:I420 和 RGBA。
                    • +
                    • 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
                    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
                    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita index 2c0e6483b57..a2577ee8a64 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita @@ -28,10 +28,8 @@

                    如果你在采集端已经根据 中的旋转信息 rotation 进行旋转,就无需调用该方法设置视频数据旋转。

                      -
                    • 在 Android 平台上,该回调支持的视频数据格式有:I420、RGBA 和 Texture。
                    • -
                    • 在 Windows 平台上,该回调支持的视频数据格式有:I420、RGBA 和 TextureBuffer。
                    • -
                    • 在 iOS 平台上,该回调支持的视频数据格式有:I420、RGBA 和 CVPixelBuffer。
                    • -
                    • 在 macOS 平台上,该回调支持的视频数据格式有:I420 和 RGBA。
                    • +
                    • 该功能仅支持视频处理模式为 的场景。
                    • +
                    • 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
                    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita index 0bc0f0a6797..ab6b3b89b21 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita @@ -26,13 +26,13 @@ return VIDEO_OBSERVER_FRAME_TYPE.FRAME_TYPE_RGBA; } - +

                    你需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。

                    在默认情况下,原始视频像素格式 () 存在以下类型:
                      -
                    • 在 Android 平台上,默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。TextureBuffer 类型的纹理格式可能为 OES 格式或者 RGB 格式。如果 返回的视频帧类型为 ,你需要在处理视频数据时增加对 I420Buffer 或 TextureBuffer 的适配。视频帧类型固定为 I420Buffer 的情况包括但不限于:
                        +
                      • 在 Android 平台上,默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。视频帧类型固定为 I420Buffer 的情况包括但不限于:
                        • 特定机型,例如:LG G5 SE (H848),Google Pixel 4a,Samsung Galaxy A7 或 Xiaomi Mi Max。
                        • 已集成视频增强插件并开启视频降噪或暗光增强功能。
                      • diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita index 39c9cf6b9c0..33a6824c336 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita @@ -33,12 +33,8 @@

                    你可以在回调中获取本地设备采集到的原始视频数据,并可根据需要进行前处理。完成前处理后,你可以在该回调中直接修改 videoFrame,并将返回值设置为 ,即可将修改后的视频数据发送给 SDK。

                    -

                    如果你需要将处理后的数据发送给 SDK,需要先调用 方法,将视频处理模式设置为读写模式()。

                    +

                    如果你需要将处理后的数据发送给 SDK,需要先调用 (0) 方法,将视频处理模式设置为读写模式。

                    你可以在回调中获取本地设备采集到的原始视频数据。

                    - -

                    该回调默认提供的视频数据格式为 I420Buffer 或 TextureBuffer,TextureBuffer 类型的纹理格式可能为 0ES 格式或者 RGB 格式。如果你需要其他格式的视频数据,可在 回调的返回值中设置预期的数据格式。

                    -

                    该回调默认提供的视频数据格式为 I420 或 CVPixelBufferRef,如果你需要其他格式的视频数据,可在 回调中返回预期的数据格式。

                    -

                    该回调默认提供的视频数据格式为 YUV420,如果你需要其他格式的视频数据,可在 getVideoFormatPreference 回调的返回值中设置预期的数据格式。

                    适用场景 @@ -49,11 +45,11 @@
                    触发时机

                    成功注册视频数据观测器后,SDK 捕捉到每个视频帧时。

                    -
                    +
                    使用限制
                      -
                    • 此处获取的视频数据为原始视频数据,即:未经过水印、裁剪和旋转等前处理的视频数据。
                    • +
                    • 此处获取的视频数据为原始视频数据,即:未经过水印、裁剪和旋转等前处理的视频数据。
                    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持对 Alpha 通道的值进行处理。
                    • 建议你在修改 videoFrame 中的参数时,需确保修改后的参数跟视频帧缓冲区中的视频帧实际情况保持一致,否则可能导致本地预览画面和对端的视频画面出现非预期的旋转、失真等问题。
                    • 建议你通过 C++ API 实现该回调。
                    • @@ -65,7 +61,7 @@ sourceType - 视频源类型,可能的视频源包括:摄像头、屏幕或媒体播放器。详见 + 视频源类型,可能的视频源包括:摄像头、屏幕或媒体播放器。详见 videoFrame diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita index 3026c9d2c72..451ec81e26f 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita @@ -35,7 +35,6 @@

                      完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

                        -
                      • 如果你需要将处理后的数据发送给 SDK,需要先调用 方法,将视频处理模式设置为读写模式()。
                      • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
                      • 你需要通过 position 参数设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
                      • 建议你通过 C++ API 实现该回调。
                      • diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita index 6d9517510a6..d70b8a27b31 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita @@ -37,12 +37,8 @@

                    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取远端发送的渲染前的视频数据,然后根据场景需要,对视频数据进行处理。

                    -

                    该回调默认提供的视频数据格式为 I420Buffer 或 TextureBuffer,TextureBuffer 类型的纹理格式可能为 0ES 格式或者 RGB 格式。如果你需要其他格式的视频数据,可在 回调的返回值中设置预期的数据格式。

                    -

                    该回调默认提供的视频数据格式为 I420 或 CVPixelBufferRef,如果你需要其他格式的视频数据,可在 回调中返回预期的数据格式。

                    -

                    该回调默认提供的视频数据格式为 YUV420,如果你需要其他格式的视频数据,可在 回调的返回值中设置预期的数据格式。

                      -
                    • 如果你需要将处理后的数据发送给 SDK,需要先调用 方法,将视频处理模式设置为读写模式()。
                    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持对 Alpha 通道的值进行处理。
                    • 建议你通过 C++ API 实现该回调。
                    • 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。
                    • diff --git a/dita/RTC-NG/API/callback_playergetstatscallback_onresult.dita b/dita/RTC-NG/API/callback_playergetstatscallback_onresult.dita deleted file mode 100644 index 723b11cb5ba..00000000000 --- a/dita/RTC-NG/API/callback_playergetstatscallback_onresult.dita +++ /dev/null @@ -1,57 +0,0 @@ - - - - <ph keyref="onResult_PlayerGetStatsCallback"/> - 该回调用于处理获取媒体资源统计信息的异步操作结果。 - - - - - - - - -
                      -

                      - @CalledByNative void onResult(PlayerStats playerStats, Error error); - - - - - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -

                      -

                      -
                      - 触发时机 -

                      当获取媒体资源信息的异步操作完成后,SDK 会触发该回调报告异步操作的结果。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - playerStats - 媒体资源的统计信息,详见 - - - error - 状态及错误信息,详见 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/callback_playerobserver_onaudiovolumeindication.dita b/dita/RTC-NG/API/callback_playerobserver_onaudiovolumeindication.dita deleted file mode 100644 index 191796adfa3..00000000000 --- a/dita/RTC-NG/API/callback_playerobserver_onaudiovolumeindication.dita +++ /dev/null @@ -1,52 +0,0 @@ - - - - <ph keyref="onAudioVolumeIndication_PlayerObserver"/> - 主播音量提示回调。 - - - - - - - - -
                      -

                      - public void onAudioVolumeIndication(int volume){} - - - (void)onAudioVolumeIndication:(int32_t)volume; - virtual void onAudioVolumeIndication(int32_t volume) = 0; - - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -
                      -
                      - 触发时机 -

                      当主播的音量发生变化时,SDK 会触发该回调。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - volume - 主播当前的音量,取值范围为 [0,225]。 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/callback_playerobserver_onevent.dita b/dita/RTC-NG/API/callback_playerobserver_onevent.dita deleted file mode 100644 index afb3e50904a..00000000000 --- a/dita/RTC-NG/API/callback_playerobserver_onevent.dita +++ /dev/null @@ -1,53 +0,0 @@ - - - - <ph keyref="onEvent"/> - 播放器事件回调。 - - - - - - - - -
                      -

                      - public void onEvent(int event){} - - - (void)onEvent:(AgoraRtePlayerEvent)event; - virtual void onEvent(PlayerEvent event) = 0; - - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -

                      如果你需要监控播放器事件,需要先调用 注册播放器观测器的对象。

                      -
                      -
                      - 触发时机 -

                      当播放器事件发生变化时,SDK 会触发该回调。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - event - 播放器事件,详见 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/callback_playerobserver_onmetadata.dita b/dita/RTC-NG/API/callback_playerobserver_onmetadata.dita deleted file mode 100644 index 9d587c7a358..00000000000 --- a/dita/RTC-NG/API/callback_playerobserver_onmetadata.dita +++ /dev/null @@ -1,65 +0,0 @@ - - - - <ph keyref="onMetadata_PlayerObserver"/> - 已获取媒体附属信息回调。 - - - - - - - - -
                      -

                      - public void onMetadata(int type, byte[] data){} - - - (void)onMetadata:(AgoraRtePlayerMetadataType)type data:(NSData * _Nonnull)data; - virtual void onMetadata(PlayerMetadataType type, - const uint8_t *data, size_t length) = 0; - - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -

                      如果你需要获取媒体流的附属信息,需要先调用 注册播放器观测器的对象。

                      -
                      -
                      - 触发时机 -

                      在 SDK 解析播放器所播放的媒体流的附属信息后,会触发该回调报告数据的类型及其具体内容。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - type - 附属信息类型,详见 - 附属信息类型:
                        -
                      • 0: SEI(补充增强信息)类型。
                      • -
                      -
                      - - data - 解析的附属信息。 - - - length - 数据的大小(字节)。 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/callback_playerobserver_onplayerinfoupdated.dita b/dita/RTC-NG/API/callback_playerobserver_onplayerinfoupdated.dita deleted file mode 100644 index c4c97b14e06..00000000000 --- a/dita/RTC-NG/API/callback_playerobserver_onplayerinfoupdated.dita +++ /dev/null @@ -1,53 +0,0 @@ - - - - <ph keyref="onPlayerInfoUpdated_PlayerObserver"/> - 播放器及媒体流的相关信息发生变化回调。 - - - - - - - - -
                      -

                      - public void onPlayerInfoUpdated(PlayerInfo info){} - - - (void)onPlayerInfoUpdated:(AgoraRtePlayerInfo * _Nonnull)info; - virtual void onPlayerInfoUpdated(const PlayerInfo *info) = 0; - - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -

                      如果你需要获取播放器、媒体流的相关信息,需要先调用 注册播放器观测器的对象。你也可以直接通过 方法来获取。

                      -
                      -
                      - 触发时机 -

                      当播放器及媒体流的相关信息发生变化时,SDK 会触发该回调。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - info - 播放器及媒体流的相关信息,详见 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/callback_playerobserver_onresolutionchanged.dita b/dita/RTC-NG/API/callback_playerobserver_onresolutionchanged.dita deleted file mode 100644 index 4ef4af36d1b..00000000000 --- a/dita/RTC-NG/API/callback_playerobserver_onresolutionchanged.dita +++ /dev/null @@ -1,57 +0,0 @@ - - - - <ph keyref="onResolutionChanged"/> - 视频分辨率发生改变回调。 - - - - - - - - -
                      -

                      - public void onResolutionChanged(int width, int height){} - - - (void)onResolutionChanged:(int)width height:(int)height; - virtual void onResolutionChanged(int width, int height) = 0; - - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -

                      如果你需要监控播放器所播放视频流分辨率的变化,需要先调用 注册播放器观测器的对象。

                      -
                      -
                      - 触发时机 -

                      当视频流的分辨率发生变化时,SDK 会触发该回调报告当前视频的宽高。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - width - 视频帧的宽度(px)。 - - - height - 视频帧的高度(px)。 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/callback_playerobserver_onstatechanged.dita b/dita/RTC-NG/API/callback_playerobserver_onstatechanged.dita deleted file mode 100644 index 7790c0a5db6..00000000000 --- a/dita/RTC-NG/API/callback_playerobserver_onstatechanged.dita +++ /dev/null @@ -1,65 +0,0 @@ - - - - <ph keyref="onStateChanged"/> - 播放器状态发生改变回调。 - - - - - - - - -
                      -

                      - public void onStateChanged(int old_state, int new_state, Error error){} - - - (void)onStateChanged:(AgoraRtePlayerState)oldState newState:(AgoraRtePlayerState)newState error:(AgoraRteError * _Nullable)error; - virtual void onStateChanged(PlayerState old_state, PlayerState new_state, - rte::Error *err) = 0; - - - - -

                      -
                      -
                      -
                      - -
                      自从
                      -
                      v4.5.0
                      -
                      -
                      -

                      如果你需要监控播放器状态的变化,需要先调用 注册播放器观测器的对象。

                      -
                      -
                      - 触发时机 -

                      当播放器状态发生变化时,SDK 会触发此回调报告当前和变化之前的状态。

                      -
                      -
                      - 使用限制 -

                      无。

                      -
                      -
                      - 参数 - - - old_state - oldState - 播放器变化前的状态,详见 。 - - - - new_state - newState - 播放器当前的状态,详见 。如果当前状态为 ,你可以通过 errerror 参数获取详细错误信息。 - - - error - err - 状态或错误信息,详见 - -
                      -
                      -
                      diff --git a/dita/RTC-NG/API/class_advanceoptions.dita b/dita/RTC-NG/API/class_advanceoptions.dita index 4e4431f639d..55bd1d271d5 100644 --- a/dita/RTC-NG/API/class_advanceoptions.dita +++ b/dita/RTC-NG/API/class_advanceoptions.dita @@ -23,11 +23,11 @@ } } export class AdvanceOptions { - public encodingPreference:EncodingPrefence = EncodingPrefence.PREFER_AUTO; - public compressionPreference:CompressionPrefence = CompressionPrefence.PREFER_LOW_LATENCY; - constructor() { - } -} + public encodingPreference:EncodingPrefence = EncodingPrefence.PREFER_AUTO; + public compressionPreference:CompressionPrefence = CompressionPrefence.PREFER_LOW_LATENCY; + constructor() { + } + } __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject @property(assign, nonatomic) AgoraEncodingPreference encodingPreference; @property(assign, nonatomic) AgoraCompressionPreference compressionPreference; diff --git a/dita/RTC-NG/API/class_asynccallback.dita b/dita/RTC-NG/API/class_asynccallback.dita deleted file mode 100644 index 7c7b1ef7461..00000000000 --- a/dita/RTC-NG/API/class_asynccallback.dita +++ /dev/null @@ -1,6 +0,0 @@ - - - - <ph keyref="AsyncCallback"/> - 该类提供异步操作结果的回调。 - diff --git a/dita/RTC-NG/API/class_audioparams.dita b/dita/RTC-NG/API/class_audioparams.dita index 6a4e83ffbc1..09f71cd5182 100644 --- a/dita/RTC-NG/API/class_audioparams.dita +++ b/dita/RTC-NG/API/class_audioparams.dita @@ -20,12 +20,7 @@ this.samplesPerCall = samplesPerCall; } } - export class AudioParams { - public sampleRate: number = 16000; - public channel: number = 1; - public mode: Constants.RawAudioFrameOpMode = Constants.RawAudioFrameOpMode.READ_ONLY; - public samplesPerCall: number = 1024; -} + __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject @property (assign, nonatomic) NSInteger sampleRate; diff --git a/dita/RTC-NG/API/class_audiopcmframe.dita b/dita/RTC-NG/API/class_audiopcmframe.dita index e03b197b65c..1a6baddd3fb 100644 --- a/dita/RTC-NG/API/class_audiopcmframe.dita +++ b/dita/RTC-NG/API/class_audiopcmframe.dita @@ -13,7 +13,7 @@ @property (assign, nonatomic) size_t samplesPerChannel; @property (assign, nonatomic) int sampleRateHz; @property (assign, nonatomic) size_t channelNumbers; - @property (strong, nonatomic) NSData* _Nonnull pcmBuffer; + @property (strong, nonatomic) NSData* __nonnull pcmBuffer; @property (assign, nonatomic) BytesPerSampleType bytesPerSample; @end diff --git a/dita/RTC-NG/API/class_audiospectrumdata.dita b/dita/RTC-NG/API/class_audiospectrumdata.dita index 021420a3e66..126297193f2 100644 --- a/dita/RTC-NG/API/class_audiospectrumdata.dita +++ b/dita/RTC-NG/API/class_audiospectrumdata.dita @@ -10,10 +10,7 @@ private float[] audioSpectrumData; private int dataLength; } - export class AudioSpectrumInfo { - public uid:number = 0 ; - public audioSpectrumData = new AudioSpectrumData(); -} + struct AudioSpectrumData { const float *audioSpectrumData; @@ -72,7 +69,7 @@ struct FAudioSpectrumData {

                      音频频谱数据。声网将声音频率分为 256 个频域,通过该参数报告各频域的能量值,每个能量值的取值范围为 [-300,1],单位为 dBFS。

                      - + dataLength 音频频谱数据长度为 256。 diff --git a/dita/RTC-NG/API/class_audiotrackconfig.dita b/dita/RTC-NG/API/class_audiotrackconfig.dita index f436dd4ee1e..95e46f8b937 100644 --- a/dita/RTC-NG/API/class_audiotrackconfig.dita +++ b/dita/RTC-NG/API/class_audiotrackconfig.dita @@ -7,35 +7,27 @@

                      public class AudioTrackConfig { - public boolean enableLocalPlayback; - - public boolean enableAudioProcessing; + + public AudioTrackConfig() { this.enableLocalPlayback = true; - this.enableAudioProcessing = false; } - @Override - public String toString() { - return "AudioTrackConfig{" - + "enableLocalPlayback=" + enableLocalPlayback + "enableAudioProcessing" - + enableAudioProcessing + '}'; - } -} + } export class AudioTrackConfig { public enableLocalPlayback: boolean = true; } - NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject + NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject @property (assign, nonatomic) BOOL enableLocalPlayback NS_SWIFT_NAME(enableLocalPlayback); -@property (assign, nonatomic) BOOL enableAudioProcessing NS_SWIFT_NAME(enableAudioProcessing); + @end struct AudioTrackConfig { - bool enableLocalPlayback; - - bool enableAudioProcessing; - AudioTrackConfig() : enableLocalPlayback(true),enableAudioProcessing(false) {} + + + AudioTrackConfig() + : enableLocalPlayback(true) {} }; USTRUCT(BlueprintType) struct FAudioTrackConfig @@ -47,27 +39,32 @@ struct FAudioTrackConfig }; export class AudioTrackConfig { enableLocalPlayback?: boolean; - enableAudioProcessing?: boolean; } public class AudioTrackConfig -{ - public bool enableLocalPlayback; - public bool enableAudioProcessing; -} + { + public bool enableLocalPlayback; + + public AudioTrackConfig(bool enableLocalPlayback) + { + this.enableLocalPlayback = enableLocalPlayback; + } + + public AudioTrackConfig() + { + enableLocalPlayback = true; + } + + }; export class AudioTrackConfig { enableLocalPlayback?: boolean; - enableAudioProcessing?: boolean; } - class AudioTrackConfig { - const AudioTrackConfig( - {this.enableLocalPlayback, this.enableAudioProcessing}); + @JsonSerializable(explicitToJson: true, includeIfNull: false) +class AudioTrackConfig { + const AudioTrackConfig({this.enableLocalPlayback}); @JsonKey(name: 'enableLocalPlayback') final bool? enableLocalPlayback; - @JsonKey(name: 'enableAudioProcessing') - final bool? enableAudioProcessing; - factory AudioTrackConfig.fromJson(Map<String, dynamic> json) => _$AudioTrackConfigFromJson(json); @@ -87,16 +84,6 @@ struct FAudioTrackConfig

                    - - enableAudioProcessing - 是否启用音频处理模块: -
                      -
                    • :启用音频处理模块,应用回声消除 (AEC)、降噪 (ANS) 和自动增益控制 (AGC) 效果。
                    • -
                    • :(默认)不启用音频处理模块。
                    • -
                    - 该参数设置仅对 类型的自定义音频采集轨道生效。 -
                    -
                    \ No newline at end of file diff --git a/dita/RTC-NG/API/class_cachestatistics.dita b/dita/RTC-NG/API/class_cachestatistics.dita index 0102092600c..b4ac722879e 100644 --- a/dita/RTC-NG/API/class_cachestatistics.dita +++ b/dita/RTC-NG/API/class_cachestatistics.dita @@ -17,15 +17,7 @@ private long cacheSize; private long downloadSize; } - export class CacheStatistics -{ - - public fileSize:number = 0 - - public cacheSize:number = 0 - - public downloadSize:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject @property(assign, nonatomic) NSInteger fileSize; @property(assign, nonatomic) NSInteger cacheSize; diff --git a/dita/RTC-NG/API/class_cameracapturerconfiguration.dita b/dita/RTC-NG/API/class_cameracapturerconfiguration.dita index d9c1edaefcf..62176f2f978 100644 --- a/dita/RTC-NG/API/class_cameracapturerconfiguration.dita +++ b/dita/RTC-NG/API/class_cameracapturerconfiguration.dita @@ -341,7 +341,7 @@ class CameraCapturerConfiguration { <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - + cameraDirection (可选)摄像头方向。详见 该参数仅适用于 Android 和 iOS 平台。 @@ -393,7 +393,7 @@ class CameraCapturerConfiguration { followEncodeDimensionRatio (可选)是否跟随 中设置的视频宽高比:
                      -
                    • :(默认) 跟随。SDK 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、 中的视频画面
                    • +
                    • :(默认) 跟随。SDK 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、 中的视频画面
                    • :不跟随。SDK不改变采集到的视频帧宽高比。
                    diff --git a/dita/RTC-NG/API/class_canvas.dita b/dita/RTC-NG/API/class_canvas.dita deleted file mode 100644 index 1ef02614d78..00000000000 --- a/dita/RTC-NG/API/class_canvas.dita +++ /dev/null @@ -1,73 +0,0 @@ - - - - <ph keyref="Canvas"/> - 该类提供设置播放器视频渲染的方法。 - -
                    -

                    - public class Canvas { - public Canvas(Rte rte, CanvasInitialConfig config); - public void addView(View view, ViewConfig viewConfig) throws RteException; - public void removeView(View view, ViewConfig viewConfig) throws RteException; - public void getConfigs(CanvasConfig config) throws RteException; - public void setConfigs(CanvasConfig config) throws RteException; -} - - @interface AgoraRteCanvas : NSObject -- (instancetype _Nonnull)initWithRte:(AgoraRte* _Nonnull)rte initialConfig:(AgoraRteCanvasInitialConfig * _Nullable)config; -- (BOOL)getConfigs:(AgoraRteCanvasConfig* _Nonnull)config error:(AgoraRteError* _Nullable)error; -- (BOOL)setConfigs:(AgoraRteCanvasConfig* _Nonnull)config error:(AgoraRteError* _Nullable)error; -- (BOOL)addView:(AgoraRteView * _Nonnull)view config:(AgoraRteViewConfig* _Nullable)config error:(AgoraRteError* _Nullable)error; -- (BOOL)removeView:(AgoraRteView * _Nonnull)view config:(AgoraRteViewConfig* _Nullable)config error:(AgoraRteError* _Nullable)error; -@end - class Canvas { - public: - Canvas(Rte *rte, CanvasInitialConfig *initial_config); - bool GetConfigs(CanvasConfig *config, Error *err); - bool SetConfigs(CanvasConfig *config, Error *err); - bool AddView(View *view, ViewConfig *config, rte::Error *err) - bool RemoveView(View *view, ViewConfig *config, rte::Error *err); - -}; - - - - -

                    -
                    -
                    -
                    - -
                    自从
                    -
                    v4.5.0
                    -
                    -
                    -

                    -

                    -
                    - 方法 - - - - 构造一个 Canvas 对象。详见 - - - - 设置视频的渲染模式。详见 - - - - 获取当前设置的视频渲染模式。详见 - - - - 添加一个视图。详见 - - - - 移除一个视图。详见 - -
                    -
                    -
                    diff --git a/dita/RTC-NG/API/class_canvasconfig.dita b/dita/RTC-NG/API/class_canvasconfig.dita deleted file mode 100644 index 0b84067a26f..00000000000 --- a/dita/RTC-NG/API/class_canvasconfig.dita +++ /dev/null @@ -1,67 +0,0 @@ - - - - <ph keyref="CanvasConfig"/> - 该类提供设置播放器视频渲染的相关方法。 - -
                    -

                    - public class CanvasConfig { - public void setVideoRenderMode(Constants.VideoRenderMode mode) throws RteException ; - public Constants.VideoRenderMode getVideoRenderMode() throws RteException ; - public void setVideoMirrorMode(Constants.VideoMirrorMode mode) throws RteException ; - public Constants.VideoMirrorMode getVideoMirrorMode() throws RteException ; -} - - @interface AgoraRteCanvasConfig : NSObject -- (void)setVideoRenderMode:(AgoraRteVideoRenderMode)mode error:(AgoraRteError * _Nullable)error; -- (AgoraRteVideoRenderMode)videoRenderMode:(AgoraRteError * _Nullable)error; -- (void)setVideoMirrorMode:(AgoraRteVideoMirrorMode)mode error:(AgoraRteError* _Nullable)error; -- (AgoraRteVideoMirrorMode)videoMirrorMode:(AgoraRteError * _Nullable)error; -@end - class CanvasConfig { - public: - CanvasConfig() {RteCanvasConfigInit(&c_canvas_config, nullptr);} - void SetRenderMode(VideoRenderMode mode, Error *err = nullptr); - VideoRenderMode GetRenderMode(Error *err = nullptr); - void SetMirrorMode(VideoMirrorMode mode, Error *err = nullptr); - VideoMirrorMode GetMirrorMode(Error *err = nullptr); -}; - - - - - -

                    -
                    -
                    -
                    - -
                    自从
                    -
                    v4.5.0
                    -
                    -
                    -

                    -

                    -
                    - 方法 - - - - 设置视频的渲染模式。详见 - - - - 获取当前设置视频的渲染模式。详见 - - - - 设置视频的镜像模式。详见 - - - - 获取当前设置的视频镜像模式。详见 - -
                    -
                    -
                    diff --git a/dita/RTC-NG/API/class_channelmediaoptions.dita b/dita/RTC-NG/API/class_channelmediaoptions.dita index 7a971fa5cd9..7ed11cf98eb 100644 --- a/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -21,7 +21,6 @@ public Boolean publishMediaPlayerAudioTrack; public Boolean publishMediaPlayerVideoTrack; public Boolean publishTranscodedVideoTrack; - public Boolean publishMixedAudioTrack; public Boolean autoSubscribeAudio; public Boolean autoSubscribeVideo; public Boolean enableAudioRecordingOrPlayout; @@ -39,65 +38,63 @@ 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 token?:string; - + public mediaPlayerAudioDelayMs?:number; + public enableBuiltInMediaEncryption?:boolean; - + public publishRhythmPlayerTrack?:boolean; - + public isInteractiveAudience?:boolean; - + public customVideoTrackId?:number; - + public isAudioFilterable?:boolean; - + public startPreview?:boolean; public constructor() { } @@ -125,7 +122,6 @@ @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack; @property(assign, nonatomic) BOOL publishTranscodedVideoTrack; -@property(assign, nonatomic) BOOL publishMixedAudioTrack; @property(assign, nonatomic) BOOL autoSubscribeAudio; @property(assign, nonatomic) BOOL autoSubscribeVideo; @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout; @@ -169,7 +165,6 @@ Optional<bool> publishMediaPlayerAudioTrack; Optional<bool> publishMediaPlayerVideoTrack; Optional<bool> publishTranscodedVideoTrack; - Optional<bool> publishMixedAudioTrack; Optional<bool> autoSubscribeAudio; Optional<bool> autoSubscribeVideo; Optional<bool> enableAudioRecordingOrPlayout; @@ -290,7 +285,7 @@ public: FChannelMediaOptions(){} FChannelMediaOptions(const agora::rtc::ChannelMediaOptions & AgoraData){ - + SET_UEBP_OPTIONAL_VAL_BOOL(this->publishCameraTrack, AgoraData.publishCameraTrack) SET_UEBP_OPTIONAL_VAL_BOOL(this->publishSecondaryCameraTrack, AgoraData.publishSecondaryCameraTrack) SET_UEBP_OPTIONAL_VAL_BOOL(this->publishThirdCameraTrack, AgoraData.publishThirdCameraTrack) @@ -319,15 +314,15 @@ public: SET_UEBP_OPTIONAL_VAL_BOOL(this->enableAudioRecordingOrPlayout, AgoraData.enableAudioRecordingOrPlayout) SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->publishMediaPlayerId, AgoraData.publishMediaPlayerId) SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->clientRoleType,AgoraData.clientRoleType,static_cast<ECLIENT_ROLE_TYPE>(AgoraData.clientRoleType.value())) - + SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->audienceLatencyLevel, AgoraData.audienceLatencyLevel, static_cast<EAUDIENCE_LATENCY_LEVEL_TYPE>(AgoraData.audienceLatencyLevel.value())) SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->defaultVideoStreamType, AgoraData.defaultVideoStreamType, static_cast<EVIDEO_STREAM_TYPE>(AgoraData.defaultVideoStreamType.value())) SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->channelProfile, AgoraData.channelProfile, static_cast<ECHANNEL_PROFILE_TYPE>(AgoraData.channelProfile.value())) SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->audioDelayMs, AgoraData.audioDelayMs) SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->mediaPlayerAudioDelayMs, AgoraData.mediaPlayerAudioDelayMs) - + SET_UEBP_OPTIONAL_VAL_FString(this->token,AgoraData.token) - + SET_UEBP_OPTIONAL_VAL_BOOL(this->enableBuiltInMediaEncryption, AgoraData.enableBuiltInMediaEncryption) SET_UEBP_OPTIONAL_VAL_BOOL(this->publishRhythmPlayerTrack, AgoraData.publishRhythmPlayerTrack) SET_UEBP_OPTIONAL_VAL_BOOL(this->isInteractiveAudience, AgoraData.isInteractiveAudience) @@ -718,7 +713,6 @@ class ChannelMediaOptions { public Boolean publishMediaPlayerAudioTrack; public Boolean publishMediaPlayerVideoTrack; public Boolean publishTranscodedVideoTrack; - public Boolean publishMixedAudioTrack; public Boolean publishLipSyncTrack; public Boolean autoSubscribeAudio; public Boolean autoSubscribeVideo; @@ -737,67 +731,67 @@ class ChannelMediaOptions { 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() { - } -} + 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; @@ -815,13 +809,12 @@ class ChannelMediaOptions { #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 publishMixedAudioTrack; @property(assign, nonatomic) BOOL publishLipSyncTrack; @property(assign, nonatomic) BOOL autoSubscribeAudio; @property(assign, nonatomic) BOOL autoSubscribeVideo; @@ -833,14 +826,14 @@ class ChannelMediaOptions { @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; @@ -848,7 +841,7 @@ class ChannelMediaOptions { 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; @@ -858,7 +851,7 @@ class ChannelMediaOptions { Optional<bool> publishThirdScreenTrack; Optional<bool> publishFourthScreenTrack; #endif - + Optional<bool> publishCustomAudioTrack; Optional<int> publishCustomAudioTrackId; Optional<bool> publishCustomVideoTrack; @@ -866,7 +859,6 @@ class ChannelMediaOptions { Optional<bool> publishMediaPlayerAudioTrack; Optional<bool> publishMediaPlayerVideoTrack; Optional<bool> publishTranscodedVideoTrack; - Optional<bool> publishMixedAudioTrack; Optional<bool> publishLipSyncTrack; Optional<bool> autoSubscribeAudio; Optional<bool> autoSubscribeVideo; @@ -880,11 +872,11 @@ class ChannelMediaOptions { Optional<bool> enableBuiltInMediaEncryption; Optional<bool> publishRhythmPlayerTrack; Optional<bool> isInteractiveAudience; - + Optional<video_track_id_t> customVideoTrackId; - + Optional<bool> isAudioFilterable; - + ChannelMediaOptions() {} ~ChannelMediaOptions() {} USTRUCT(BlueprintType) @@ -987,7 +979,7 @@ public: FChannelMediaOptions(){} FChannelMediaOptions(const agora::rtc::ChannelMediaOptions & AgoraData){ - + SET_UEBP_OPTIONAL_VAL_BOOL(this->publishCameraTrack, AgoraData.publishCameraTrack) SET_UEBP_OPTIONAL_VAL_BOOL(this->publishSecondaryCameraTrack, AgoraData.publishSecondaryCameraTrack) SET_UEBP_OPTIONAL_VAL_BOOL(this->publishThirdCameraTrack, AgoraData.publishThirdCameraTrack) @@ -1016,15 +1008,15 @@ public: SET_UEBP_OPTIONAL_VAL_BOOL(this->enableAudioRecordingOrPlayout, AgoraData.enableAudioRecordingOrPlayout) SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->publishMediaPlayerId, AgoraData.publishMediaPlayerId) SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->clientRoleType,AgoraData.clientRoleType,static_cast<ECLIENT_ROLE_TYPE>(AgoraData.clientRoleType.value())) - + SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->audienceLatencyLevel, AgoraData.audienceLatencyLevel, static_cast<EAUDIENCE_LATENCY_LEVEL_TYPE>(AgoraData.audienceLatencyLevel.value())) SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->defaultVideoStreamType, AgoraData.defaultVideoStreamType, static_cast<EVIDEO_STREAM_TYPE>(AgoraData.defaultVideoStreamType.value())) SET_UEBP_OPTIONAL_VAL_ASSIGN_VAL(this->channelProfile, AgoraData.channelProfile, static_cast<ECHANNEL_PROFILE_TYPE>(AgoraData.channelProfile.value())) SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->audioDelayMs, AgoraData.audioDelayMs) SET_UEBP_OPTIONAL_VAL_DIR_ASSIGN(this->mediaPlayerAudioDelayMs, AgoraData.mediaPlayerAudioDelayMs) - + SET_UEBP_OPTIONAL_VAL_FString(this->token,AgoraData.token) - + SET_UEBP_OPTIONAL_VAL_BOOL(this->enableBuiltInMediaEncryption, AgoraData.enableBuiltInMediaEncryption) SET_UEBP_OPTIONAL_VAL_BOOL(this->publishRhythmPlayerTrack, AgoraData.publishRhythmPlayerTrack) SET_UEBP_OPTIONAL_VAL_BOOL(this->isInteractiveAudience, AgoraData.isInteractiveAudience) @@ -1082,7 +1074,7 @@ public: 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; @@ -1090,7 +1082,7 @@ public: Optional<bool> publishScreenTrack; Optional<bool> publishSecondaryScreenTrack; #endif - + Optional<bool> publishCustomAudioTrack; Optional<int> publishCustomAudioTrackId; Optional<bool> publishCustomVideoTrack; @@ -1110,75 +1102,75 @@ public: 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 @@ -1215,72 +1207,72 @@ public: 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) @@ -1323,121 +1315,121 @@ public: 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); }

                    @@ -1509,7 +1501,7 @@ public: 该参数仅适用于 Windows 和 macOS 平台。
                    - + publishScreenCaptureVideo

                    设置是否发布屏幕采集的视频: @@ -1520,7 +1512,7 @@ public: 该参数仅适用于 Android 和 iOS 平台。 自 v4.0.0 起,该参数名称由 publishScreenTrack 改为 publishScreenCaptureVideo - + publishScreenCaptureAudio

                    设置是否发布屏幕采集的音频: @@ -1575,7 +1567,7 @@ public: 自 v4.2.0 起,该参数名称由 publishTrancodedVideoTrack 更正为 publishTranscodedVideoTrack - + publishMixedAudioTrack 设置是否发布本地混音音频:

                      @@ -1604,7 +1596,10 @@ public: publishCustomAudioTrackId - 待发布的自定义音频轨道的 ID,默认值为 0。你可以通过 方法来获取自定义音频轨道 ID。 + 待发布的自定义音频轨道的 ID。默认值为 0。 + +

                      如果你已在 中设置了 sourceNumber 大于 1,SDK 会创建对应数量的自采集音频轨道,并从 0 开始为每一个音频轨道分配一个 ID。

                      +
                      publishCustomVideoTrack @@ -1764,7 +1759,7 @@ public:
                    • :参与音强选流。如未开启音强选流功能,该参数不会生效。
                    • :不参与音强选流。
                    - 如需启用该功能,请
                    + 如需启用该功能,请联系
                  diff --git a/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita b/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita index 9f9d9537df9..5a60c85ae1b 100644 --- a/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita +++ b/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita @@ -8,31 +8,34 @@

                  public class ChannelMediaRelayConfiguration { private ChannelMediaInfo srcInfo = null; - private Map<String, ChannelMediaInfo> destInfos = null; - + private Map<String, ChannelMediaInfo> destInfos = null; + public ChannelMediaRelayConfiguration() { - destInfos = new HashMap<String, ChannelMediaInfo>(); + destInfos = new HashMap<String, ChannelMediaInfo>(); srcInfo = new ChannelMediaInfo(null, null, 0); } - + public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { this.srcInfo = srcInfo; } - + public void setDestChannelInfo(String channelName, ChannelMediaInfo destInfo) { destInfos.put(channelName, destInfo); } - + public void removeDestChannelInfo(String channelName) { destInfos.remove(channelName); } + public ChannelMediaInfo getSrcChannelMediaInfo() { return srcInfo; } - public Map<String, ChannelMediaInfo> getDestChannelMediaInfos() { + + public Map<String, ChannelMediaInfo> getDestChannelMediaInfos() { return destInfos; } -} +} + export class ChannelMediaRelayConfiguration { public srcInfo:ChannelMediaInfo = new ChannelMediaInfo(null,null,0); public destInfos:Map<string, ChannelMediaInfo> = new Map<string, ChannelMediaInfo>(); @@ -40,21 +43,25 @@ public setSrcChannelInfo(srcInfo: ChannelMediaInfo) { this.srcInfo = srcInfo; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos; @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo; -- (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(setDestinationInfo(_:forChannelName:)); -- (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(removeDestinationInfo(forChannelName:)); + +- (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; +- (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; @end struct ChannelMediaRelayConfiguration { - - ChannelMediaInfo* srcInfo; - - ChannelMediaInfo* destInfos; - - int destCount; - ChannelMediaRelayConfiguration() : srcInfo(OPTIONAL_NULLPTR), destInfos(OPTIONAL_NULLPTR), destCount(0) {} -}; + ChannelMediaInfo *srcInfo; + ChannelMediaInfo *destInfos; + int destCount; + + ChannelMediaRelayConfiguration() + : srcInfo(nullptr) + , destInfos(nullptr) + , destCount(0) + {} + }; USTRUCT(BlueprintType) struct FChannelMediaRelayConfiguration { @@ -146,21 +153,20 @@ public: setSrcChannelInfo 设置源频道信息。详见 - - setDestChannelInfo - setDestinationInfo + + setDestChannelInfo 设置目标频道信息。详见 - - removeDestChannelInfo + + removeDestChannelInfo removeDestinationInfoForChannelName 删除目标频道信息。详见 - + getSrcChannelMediaInfo 获取源频道信息。详见 - + getDestChannelMediaInfos 获取目标频道信息。详见 @@ -170,7 +176,7 @@ public: <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - srcInfo + srcInfo sourceInfo

                  源频道信息 ,包含如下成员: @@ -186,7 +192,7 @@ public: - destInfos + destInfos destinationInfos

                  目标频道信息 ,包含如下成员: @@ -199,7 +205,7 @@ public:

                • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token

                由于目标频道中任意频道的 token 过期会导致所有跨频道推流停止,因此建议你将目标频道的 token 设置为相同的过期时长。

              • - uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到 (2 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。
              • + uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到(2 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。

              diff --git a/dita/RTC-NG/API/class_clientroleoptions.dita b/dita/RTC-NG/API/class_clientroleoptions.dita index 04b90c7613a..4cbae7da5c2 100644 --- a/dita/RTC-NG/API/class_clientroleoptions.dita +++ b/dita/RTC-NG/API/class_clientroleoptions.dita @@ -80,8 +80,8 @@ public: audienceLatencyLevel - 观众端延时级别。详见 -
                + 观众端延时级别。详见 +
                • (1): 低延时。
                • (2): (默认)超低延时。
                diff --git a/dita/RTC-NG/API/class_climaxsegment.dita b/dita/RTC-NG/API/class_climaxsegment.dita index 3ca0be03bb4..08a52e953d7 100644 --- a/dita/RTC-NG/API/class_climaxsegment.dita +++ b/dita/RTC-NG/API/class_climaxsegment.dita @@ -26,11 +26,7 @@ return endTimeMs; } } - export class ClimaxSegment -{ - public startTimeMs:number = 0 - public endTimeMs:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraClimaxSegment : NSObject @property(nonatomic, assign) NSInteger startTimeMs; @property(nonatomic, assign) NSInteger endTimeMs; diff --git a/dita/RTC-NG/API/class_config.dita b/dita/RTC-NG/API/class_config.dita deleted file mode 100644 index 2f86160193e..00000000000 --- a/dita/RTC-NG/API/class_config.dita +++ /dev/null @@ -1,68 +0,0 @@ - - - - <ph keyref="Config"/> - RTE 配置类,用于配置 RTE 对象。 - -
                -

                - public class Config { - public void setAppId(String appId) throws RteException; - public String getAppId() throws RteException; - public void setJsonParameter(String jsonParameter) throws RteException; - public String getJsonParameter() throws RteException; -} - - @interface AgoraRteConfig : NSObject - -- (void)setAppId:(NSString * _Nullable)appId error:(AgoraRteError * _Nullable)error; -- (NSString* _Nullable)appId:( AgoraRteError * _Nullable)error; -- (void)setJsonParameter:(NSString * _Nullable)jsonParameter error:(AgoraRteError * _Nullable)error; -- (NSString * _Nullable)jsonParameter:(AgoraRteError * _Nullable)error; - -@end - class Config { - public: - - void SetAppId(const char *app_id, Error *err); - const char* GetAppId(Error *err); - void SetJsonParameter(const char *json_parameter, Error *err = nullptr); - std::string GetJsonParameter(Error *err = nullptr) -}; - - - - -

                -
                -
                -
                - -
                自从
                -
                v4.5.0
                -
                -
                -

                -

                -
                - 方法 - - - - 设置 App ID。详见 - - - - 获取设置的 App ID。详见 - - - - 设置 SDK 的 JSON 配置信息。详见 - - - - 获取设置 SDK 的 JSON 配置信息。详见 - -
                -
                -
                diff --git a/dita/RTC-NG/API/class_contentinspectconfig.dita b/dita/RTC-NG/API/class_contentinspectconfig.dita index 9b697c79f8f..b1a9634ab28 100644 --- a/dita/RTC-NG/API/class_contentinspectconfig.dita +++ b/dita/RTC-NG/API/class_contentinspectconfig.dita @@ -34,17 +34,7 @@ moduleCount = 0; } }
                - export class ContentInspectConfig { - public static readonly MAX_CONTENT_INSPECT_MODULE_COUNT:number = 32; - - public extraInfo?:string; - - public serverConfig?:string; - - public modules? :Array<ContentInspectModule>; - - public moduleCount:number = 0; -} + __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject @property (nonatomic, copy) NSString* _Nullable extraInfo; @property (nonatomic, copy) NSString* _Nullable serverConfig; @@ -169,7 +159,7 @@ class ContentInspectConfig {
                参数 - + CONTENT_INSPECT_TYPE_INVALID 0:(默认)无实际功能。请不要将 type 设为该值。 @@ -177,11 +167,11 @@ class ContentInspectConfig { CONTENT_INSPECT_TYPE_MODERATION 1:视频鉴黄。SDK 会对本地用户发送的视频进行截图、鉴黄,并将截图和审核结果上传。 - + CONTENT_INSPECT_TYPE_SUPERVISE 2:使用声网自研插件截图上传。SDK 会对本地用户发送的视频进行截图并上传。 - + CONTENT_INSPECT_TYPE_IMAGE_MODERATION 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 diff --git a/dita/RTC-NG/API/class_contentinspectmodule.dita b/dita/RTC-NG/API/class_contentinspectmodule.dita index a79c6ff18fd..f1adda91da4 100644 --- a/dita/RTC-NG/API/class_contentinspectmodule.dita +++ b/dita/RTC-NG/API/class_contentinspectmodule.dita @@ -13,12 +13,7 @@ type = CONTENT_INSPECT_TYPE_INVALID; interval = 0; } - export class ContentInspectModule { - - public type:Constants.ContentInspectType = Constants.ContentInspectType.INVALID; - - public interval:number = 0; -} + __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject @property (assign, nonatomic) AgoraContentInspectType type; @@ -96,8 +91,8 @@ public: type - 功能模块的类型。详见 - + 功能模块的类型。详见 +

                功能模块的类型:

                • (0):(默认)该功能模块无实际功能。请不要设为该值。
                • diff --git a/dita/RTC-NG/API/class_encryptionconfig.dita b/dita/RTC-NG/API/class_encryptionconfig.dita index a789b307b24..3f507ce2e8c 100644 --- a/dita/RTC-NG/API/class_encryptionconfig.dita +++ b/dita/RTC-NG/API/class_encryptionconfig.dita @@ -169,7 +169,7 @@ class EncryptionConfig { 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0 - + datastreamEncryptionEnabled 是否开启数据流加密:
                    diff --git a/dita/RTC-NG/API/class_error.dita b/dita/RTC-NG/API/class_error.dita deleted file mode 100644 index 81900306e04..00000000000 --- a/dita/RTC-NG/API/class_error.dita +++ /dev/null @@ -1,55 +0,0 @@ - - - - <ph keyref="Error"/> - 该类提供了获取错误码和错误信息的方法。 - -
                    -

                    - public class Error { - public Constants.ErrorCode code(); - public String message(); -} - - - __attribute__((visibility("default"))) @interface AgoraRteError : NSObject -- (AgoraRteErrorCode)code; -- (NSString * _Nullable)message; - -@end - - class Error { - public: - ErrorCode Code(); - const char *Message(); -}; - - - - -

                    -
                    -
                    -
                    - -
                    自从
                    -
                    v4.5.0
                    -
                    -
                    -
                    -
                    - 方法 - - - - 获取 API 调用返回的错误码,详见 - 获取 API 调用返回的错误码。详见 - - - - 获取 API 调用返回的具体错误信息,详见 - 获取 API 调用返回的具体错误信息。 - -
                    -
                    -
                    diff --git a/dita/RTC-NG/API/class_externalvideoframe.dita b/dita/RTC-NG/API/class_externalvideoframe.dita index 5e3892c5a98..251aafc664a 100644 --- a/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/dita/RTC-NG/API/class_externalvideoframe.dita @@ -37,7 +37,6 @@ rotation = 0; alphaStitchMode = 0; } - public int format; public long timeStamp; public int stride; @@ -47,6 +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; @@ -56,43 +56,34 @@ public int alphaStitchMode; @Override public String toString() { - return "AgoraVideoFrame{" - + "format=" + format + ", timeStamp=" + timeStamp + ", stride=" + stride - + ", height=" + height + ", textureID=" + textureID - + ", buf.length=" + (buf != null ? buf.length : 0) + ", cropLeft=" + cropLeft - + ", cropTop=" + cropTop + ", cropRight=" + cropRight + ", cropBottom=" + cropBottom - + ", rotation=" + rotation + ", alphaStitchMode=" + alphaStitchMode + '}'; + return "AgoraVideoFrame{" + + "format=" + format + ", timeStamp=" + timeStamp + ", stride=" + stride + + ", height=" + height + ", textureID=" + textureID + + ", buf.length=" + (buf != null ? buf.length : 0) + ", cropLeft=" + cropLeft + + ", cropTop=" + cropTop + ", cropRight=" + cropRight + ", cropBottom=" + cropBottom + + ", rotation=" + rotation + ", alphaStitchMode=" + alphaStitchMode + '}'; } } - -__attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; - -@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) 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) 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(strong, nonatomic) AgoraColorSpace *_Nullable colorSpace; - +@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 { + struct ExternalVideoFrame { ExternalVideoFrame() : type(VIDEO_BUFFER_RAW_DATA), format(VIDEO_PIXEL_DEFAULT), @@ -108,26 +99,22 @@ struct ExternalVideoFrame { eglContext(NULL), eglType(EGL_CONTEXT10), textureId(0), - fenceObject(0), metadataBuffer(NULL), metadataSize(0), alphaBuffer(NULL), fillAlphaBuffer(false), - alphaStitchMode(NO_ALPHA_STITCH), + alphaStitchMode(0), d3d11Texture2d(NULL), textureSliceIndex(0){} - enum EGL_CONTEXT_TYPE { EGL_CONTEXT10 = 0, EGL_CONTEXT14 = 1, }; - enum VIDEO_BUFFER_TYPE { VIDEO_BUFFER_RAW_DATA = 1, VIDEO_BUFFER_ARRAY = 2, VIDEO_BUFFER_TEXTURE = 3, }; - VIDEO_BUFFER_TYPE type; VIDEO_PIXEL_FORMAT format; void* buffer; @@ -139,19 +126,17 @@ struct ExternalVideoFrame { int cropBottom; int rotation; long long timestamp; - void* eglContext; + void *eglContext; EGL_CONTEXT_TYPE eglType; int textureId; - long long fenceObject; float matrix[16]; uint8_t* metadataBuffer; int metadataSize; uint8_t* alphaBuffer; bool fillAlphaBuffer; - ALPHA_STITCH_MODE alphaStitchMode; + int alphaStitchMode; void *d3d11Texture2d; int textureSliceIndex; - ColorSpace colorSpace; }; export class ExternalVideoFrame { type?: VideoBufferType; @@ -175,7 +160,6 @@ struct ExternalVideoFrame { alphaStitchMode?: AlphaStitchMode; d3d11Texture2d?: any; textureSliceIndex?: number; - colorSpace?: ColorSpace; } public class ExternalVideoFrame { @@ -198,9 +182,8 @@ struct ExternalVideoFrame { public byte[] alphaBuffer; public bool fillAlphaBuffer; public ALPHA_STITCH_MODE alphaStitchMode; - public IntPtr d3d11Texture2d; - public int textureSliceIndex; - public ColorSpace colorSpace; + public IntPtr d3d11_texture_2d; + public int texture_slice_index; }; export class ExternalVideoFrame { type?: VideoBufferType; @@ -222,7 +205,6 @@ struct ExternalVideoFrame { alphaBuffer?: Uint8Array; fillAlphaBuffer?: boolean; alphaStitchMode?: AlphaStitchMode; - colorSpace?: ColorSpace; } @JsonSerializable(explicitToJson: true, includeIfNull: false) class ExternalVideoFrame { @@ -247,8 +229,7 @@ class ExternalVideoFrame { this.fillAlphaBuffer, this.alphaStitchMode, this.d3d11Texture2d, - this.textureSliceIndex, - this.colorSpace}); + this.textureSliceIndex}); @JsonKey(name: 'type') final VideoBufferType? type; @@ -313,9 +294,6 @@ class ExternalVideoFrame { @JsonKey(name: 'textureSliceIndex') final int? textureSliceIndex; - @JsonKey(name: 'colorSpace') - final ColorSpace? colorSpace; - factory ExternalVideoFrame.fromJson(Map<String, dynamic> json) => _$ExternalVideoFrameFromJson(json); @@ -424,9 +402,9 @@ class ExternalVideoFrame { transform Texture 帧额外的转换。该参数仅适用于 Texture 格式的视频数据。 - - eglContext10 - EGLContext10。该参数仅适用于 Texture 格式的视频数据。 + + eglContext11 + EGLContext11。该参数仅适用于 Texture 格式的视频数据。 eglContext14 @@ -436,8 +414,8 @@ class ExternalVideoFrame { eglContext 该参数仅适用于 Texture 格式的视频数据。
                      -
                    • 当使用 Khronos 定义的 OpenGL 接口 (javax.microedition.khronos.egl.*) 时,需要将 eglContext 设置给这个字段。
                    • -
                    • 当使用 Android 定义的 OpenGL 接口 (android.opengl.*) 时,需要将 eglContext 设置给这个字段。
                    • +
                    • 当使用 Khronos 定义的 OpenGL 接口 (javax.microedition.khronos.egl.*)时,需要将 eglContext 设置给这个字段。
                    • +
                    • 当使用 Android 定义的 OpenGL 接口 (android.opengl.*)时,需要将 eglContext 设置给这个字段。
                    @@ -492,7 +470,8 @@ class ExternalVideoFrame { - textureSliceIndex + texture_slice_index + textureSliceIndex 该参数仅适用于 Windows Texture 格式的视频数据。表示在 ID3D11Texture2D 数组中,被视频帧使用的某一个 ID3D11Texture2D 纹理对象的索引。 @@ -528,10 +507,6 @@ class ExternalVideoFrame { time 传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。 - - - -
                diff --git a/dita/RTC-NG/API/class_faceshapeareaoptions.dita b/dita/RTC-NG/API/class_faceshapeareaoptions.dita deleted file mode 100644 index 3e32dd93fbf..00000000000 --- a/dita/RTC-NG/API/class_faceshapeareaoptions.dita +++ /dev/null @@ -1,117 +0,0 @@ - - - - <ph keyref="FaceShapeAreaOptions" /> - 滤镜效果选项。 - -
                -

                - public class FaceShapeAreaOptions { - public static final int FACE_SHAPE_AREA_NONE = -1; - public static final int FACE_SHAPE_AREA_HEADSCALE = 0; - public static final int FACE_SHAPE_AREA_FOREHEAD = 1; - public static final int FACE_SHAPE_AREA_FACECONTOUR = 2; - public static final int FACE_SHAPE_AREA_FACELENGTH = 3; - public static final int FACE_SHAPE_AREA_FACEWIDTH = 4; - public static final int FACE_SHAPE_AREA_CHEEKBONE = 5; - public static final int FACE_SHAPE_AREA_CHEEK = 6; - public static final int FACE_SHAPE_AREA_CHIN = 7; - public static final int FACE_SHAPE_AREA_EYESCALE = 8; - public static final int FACE_SHAPE_AREA_NOSELENGTH = 9; - public static final int FACE_SHAPE_AREA_NOSEWIDTH = 10; - public static final int FACE_SHAPE_AREA_MOUTHSCALE = 11; - - public int shapeArea; - public int shapeIntensity; - -} - - __attribute__((visibility("default"))) @interface AgoraFaceShapeAreaOptions : NSObject -@property(nonatomic, assign) AgoraFaceShapeArea shapeArea; -@property(nonatomic, assign) int shapeIntensity; -@end - struct FaceShapeAreaOptions { - enum FACE_SHAPE_AREA { - FACE_SHAPE_AREA_NONE = -1, - FACE_SHAPE_AREA_HEADSCALE = 0, - FACE_SHAPE_AREA_FOREHEAD = 1, - FACE_SHAPE_AREA_FACECONTOUR = 2, - FACE_SHAPE_AREA_FACELENGTH = 3, - FACE_SHAPE_AREA_FACEWIDTH = 4, - FACE_SHAPE_AREA_CHEEKBONE = 5, - FACE_SHAPE_AREA_CHEEK = 6, - FACE_SHAPE_AREA_CHIN = 7, - FACE_SHAPE_AREA_EYESCALE = 8, - FACE_SHAPE_AREA_NOSELENGTH = 9, - FACE_SHAPE_AREA_NOSEWIDTH = 10, - FACE_SHAPE_AREA_MOUTHSCALE = 11, - }; - - FACE_SHAPE_AREA shapeArea; - int shapeIntensity; - - FaceShapeAreaOptions(FACE_SHAPE_AREA shapeArea, int areaIntensity) : shapeArea(shapeArea), shapeIntensity(areaIntensity) {} - - FaceShapeAreaOptions() : shapeArea(FACE_SHAPE_AREA_NONE), shapeIntensity(0) {} -}; - - USTRUCT(BlueprintType) -struct FUABT_FaceShapeAreaOptions { - - GENERATED_BODY() - -public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_FACE_SHAPE_AREA shapeArea = EUABT_FACE_SHAPE_AREA::FACE_SHAPE_AREA_NONE; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - int shapeIntensity = 0; - -}; - export class FaceShapeAreaOptions { - shapeArea?: FaceShapeArea; - shapeIntensity?: number; -} - - export class FaceShapeAreaOptions { - shapeArea?: FaceShapeArea; - shapeIntensity?: number; -} - -

                -
                -
                - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - - shapeArea - -

                美型部位,详见

                -

                美型部位: -

                  -
                • (-1):(默认)无效部位,美型效果不生效。
                • -
                • (0):头部,用于实现小头效果。对应修饰力度范围为 [0,100],值越大头越小,预设值为 100。
                • -
                • (1):额头,修饰发际线高度。对应修饰力度范围为 [-100,100],正值为调高,负值为调低,绝对值越大修饰效果越强,预设值为 50。
                • -
                • (2):脸部轮廓,用于实现瘦脸效果。对应修饰力度范围为 [0,100],值越大瘦脸效果越强,预设值为 10。
                • -
                • (3):脸部长度,用于实现长脸效果。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 0。
                • -
                • (4):脸部宽度,用于实现窄脸效果。对应修饰力度范围为 [0,100],值越大窄脸效果越强,预设值为 10。
                • -
                • (5):颧骨,修饰颧骨宽度。对应修饰力度范围为 [0,100],值越大颧骨越窄,预设值为 43。
                • -
                • (6):脸颊,修饰脸颊宽度。对应修饰力度范围为 [0,100],值越大脸颊越窄,预设值为 50。
                • -
                • (7):下巴,修饰下巴长度。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 -20。
                • -
                • (8):眼睛,用于实现大眼效果。对应修饰力度范围为 [0,100],值越大,眼睛尺寸越大,预设值为 53,。
                • -
                • (9):鼻子长度,用于实现长鼻效果。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 -10。
                • -
                • (10):鼻子宽度,用于实现瘦鼻效果。对应修饰力度范围为 [-100,100],正值为变胖/变宽,负值为变瘦/变窄,绝对值越大修饰效果越强,预设值为 72。
                • -
                • (11):嘴巴,修饰嘴巴尺寸。对应修饰力度范围为 [-100,100],正值为变大,负值为变小,绝对值越大修饰效果越强,预设值为 20。
                • -
                -

                -
                -
                - - shapeIntensity - 修饰力度。各部位的修饰力度定义(包括修饰的方向、范围、预设值等)有所不同,详见 shapeArea 中的描述。详见 - -
                -
                -
                diff --git a/dita/RTC-NG/API/class_faceshapebeautyoptions.dita b/dita/RTC-NG/API/class_faceshapebeautyoptions.dita deleted file mode 100644 index 02c9774d47a..00000000000 --- a/dita/RTC-NG/API/class_faceshapebeautyoptions.dita +++ /dev/null @@ -1,102 +0,0 @@ - - - - <ph keyref="FaceShapeBeautyOptions" /> - 美型风格选项。 - -
                -

                - public class FaceShapeBeautyOptions { - public static final int FACE_SHAPE_BEAUTY_STYLE_FEMALE = 0; - public static final int FACE_SHAPE_BEAUTY_STYLE_MALE = 1; - - public int shapeStyle; - public int styleIntensity; -} - - __attribute__((visibility("default"))) @interface AgoraFaceShapeBeautyOptions: NSObject -@property(nonatomic, assign) AgoraFaceShapeStyle shapeStyle; -@property(nonatomic, assign) int styleIntensity; -@end - struct FaceShapeBeautyOptions { - enum FACE_SHAPE_BEAUTY_STYLE { - FACE_SHAPE_BEAUTY_STYLE_FEMALE = 0, - FACE_SHAPE_BEAUTY_STYLE_MALE = 1, - }; - - FACE_SHAPE_BEAUTY_STYLE shapeStyle; - - int styleIntensity; - - FaceShapeBeautyOptions(FACE_SHAPE_BEAUTY_STYLE shapeStyle, int styleIntensity) : shapeStyle(shapeStyle), styleIntensity(styleIntensity) {} - - FaceShapeBeautyOptions() : shapeStyle(FACE_SHAPE_BEAUTY_STYLE_FEMALE), styleIntensity(50) {} -}; - USTRUCT(BlueprintType) -struct FUABT_FaceShapeBeautyOptions { - GENERATED_BODY() - -public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_FACE_SHAPE_BEAUTY_STYLE shapeStyle = EUABT_FACE_SHAPE_BEAUTY_STYLE::FACE_SHAPE_BEAUTY_STYLE_FEMALE; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - int styleIntensity = 50; -}; - export class FaceShapeBeautyOptions { - shapeStyle?: FaceShapeBeautyStyle; - styleIntensity?: number; -} - public class FaceShapeBeautyOptions - { - public FACE_SHAPE_BEAUTY_STYLE shapeStyle; - - public int styleIntensity; - } - export class FaceShapeBeautyOptions { - shapeStyle?: FaceShapeBeautyStyle; - styleIntensity?: number; -} - -class FaceShapeBeautyOptions { - - const FaceShapeBeautyOptions({this.shapeStyle, this.styleIntensity}); - - @JsonKey(name: 'shapeStyle') - final FaceShapeBeautyStyle? shapeStyle; - - @JsonKey(name: 'styleIntensity') - final int? styleIntensity; - - factory FaceShapeBeautyOptions.fromJson(Map<String, dynamic> json) => - _$FaceShapeBeautyOptionsFromJson(json); - - Map<String, dynamic> toJson() => _$FaceShapeBeautyOptionsToJson(this); -} - -

                -
                -
                - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - - shapeStyle - -

                美型风格,详见

                -

                美型风格: -

                  -
                • (0):(默认)女性风格。
                • -
                • (1):男性风格。
                • -
                -

                -
                -
                - - styleIntensity - 美型风格强度,取值范围为 [0.0,1.0],其中默认值为 0.0,表示无美型效果。取值越大,修饰部位的改变越明显。 - -
                -
                -
                diff --git a/dita/RTC-NG/API/class_filtereffectoptions.dita b/dita/RTC-NG/API/class_filtereffectoptions.dita deleted file mode 100644 index c83bb8de808..00000000000 --- a/dita/RTC-NG/API/class_filtereffectoptions.dita +++ /dev/null @@ -1,81 +0,0 @@ - - - - <ph keyref="FilterEffectOptions" /> - 滤镜效果选项。 - -
                -

                - public class FilterEffectOptions { - public String path = null; - public float strength; -} - - __attribute__((visibility("default"))) @interface AgoraFilterEffectOptions: NSObject -@property(nonatomic, copy) NSString* _Nullable path NS_SWIFT_NAME(path); -@property(nonatomic, assign) float strength; -@end - - struct FilterEffectOptions { - const char * path; - float strength; - - FilterEffectOptions(const char * lut3dPath, float filterStrength) : path(lut3dPath), strength(filterStrength) {} - FilterEffectOptions() : path(OPTIONAL_NULLPTR), strength(0.5) {} -}; - USTRUCT(BlueprintType) -struct FUABT_FilterEffectOptions { - GENERATED_BODY() - -public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - FString path; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - float strength = 0.5; -}; - - export class FilterEffectOptions { - path?: string; - strength?: number; -} - - export class FilterEffectOptions { - path?: string; - strength?: number; -} - -

                -
                -
                - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - - path - -

                3D 立方体贴图文件的本地绝对路径,该文件用于实现自定义滤镜效果。引用的 .cube 文件必须严格遵循立方体查找表(Cube LUT)规范,否则滤镜效果无法生效。以下为 .cube 文件的示例: - -LUT_3D_SIZE 32 -0.0039215689 0 0.0039215682 -0.0086021447 0.0037950677 0 -... -0.0728652592 0.0039215689 0 - - -

                  -
                • 立方体贴图文件首行的 LUT_3D_SIZE 标识符表示三维查找表的尺寸,滤镜效果的 LUT 尺寸目前仅支持设为 32。
                • -
                • SDK 提供了一个内置的 built_in_whiten_filter.cube 文件,传入该文件的绝对路径可实现美白滤镜效果。
                • -
                - -

                -
                -
                - - strength - 滤镜效果强度,取值范围为 [0.0,1.0],其中 0.0 表示无滤镜效果,默认值为 0.5。取值越大,滤镜效果越强。 - -
                -
                -
                diff --git a/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita b/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita index 9de358b8a61..8ee650b0645 100644 --- a/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita +++ b/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita @@ -9,7 +9,7 @@ @protocol AgoraMediaFilterExtensionDelegate <NSObject> -- (NSString * _Nonnull)vendor; +- (NSString * __nonnull)vendor; @end diff --git a/dita/RTC-NG/API/class_lastmileproberesult.dita b/dita/RTC-NG/API/class_lastmileproberesult.dita index 6859df0f4b3..df0eb83b0d9 100644 --- a/dita/RTC-NG/API/class_lastmileproberesult.dita +++ b/dita/RTC-NG/API/class_lastmileproberesult.dita @@ -144,13 +144,13 @@ public: state

                Last mile 质量探测结果的状态。详见:

                -

                Last mile 质量探测结果的状态,有如下几种: +

                Last-mile 质量探测结果的状态,有如下几种:

                  -
                • (1):表示本次 Last mile 质量探测是完整的。
                • -
                • (2):表示本次 Last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。
                • -
                • (3):未进行 Last mile 质量探测。一个可能的原因是网络连接中断。
                • +
                • (1):表示本次 Last-mile 质量探测是完整的。
                • +
                • (2):表示本次 Last-mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。
                • +
                • (3):未进行 Last-mile 质量探测。一个可能的原因是网络连接中断。

                diff --git a/dita/RTC-NG/API/class_livestreamadvancedfeature.dita b/dita/RTC-NG/API/class_livestreamadvancedfeature.dita index 9891652f2fd..796e35350c9 100644 --- a/dita/RTC-NG/API/class_livestreamadvancedfeature.dita +++ b/dita/RTC-NG/API/class_livestreamadvancedfeature.dita @@ -85,7 +85,7 @@ public:

        -

        如需使用转码推流高级功能,请

        +

        如需使用转码推流高级功能,请联系

        <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> diff --git a/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita b/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita deleted file mode 100644 index 5952ff288e4..00000000000 --- a/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita +++ /dev/null @@ -1,118 +0,0 @@ - - - - <ph keyref="LocalAudioMixerConfiguration"/> - 本地音频合流配置。 - -
        -

        - public class LocalAudioMixerConfiguration { - public ArrayList<MixedAudioStream> audioInputStreams; - public boolean syncWithLocalMic; - public LocalAudioMixerConfiguration() { - audioInputStreams = new ArrayList<MixedAudioStream>(); - syncWithLocalMic = true; - } - public static class MixedAudioStream { - public int remoteUserUid; - public String channelId; - public Constants.AudioSourceType sourceType; - public int trackId; - public MixedAudioStream() { - this.sourceType = Constants.AudioSourceType.AUDIO_SOURCE_UNKNOWN; - this.remoteUserUid = 0; - this.channelId = ""; - this.trackId = 0; - } - }; -} - - __attribute__((visibility("default"))) @interface AgoraLocalAudioMixerConfiguration: NSObject -@property(copy, nonatomic) NSArray<AgoraMixedAudioStream *> *_Nullable audioInputStreams; -@property(assign, nonatomic) BOOL syncWithLocalMic; -@end - struct LocalAudioMixerConfiguration { - unsigned int streamCount; - MixedAudioStream* audioInputStreams; - bool syncWithLocalMic; - LocalAudioMixerConfiguration() : streamCount(0), syncWithLocalMic(true) {} -}; - USTRUCT(BlueprintType) -struct FUABT_LocalAudioMixerConfiguration { - - GENERATED_BODY() - -public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - TArray<FUABT_MixedAudioStream> sourceStreams; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - bool syncWithLocalMic; -}; - export class LocalAudioMixerConfiguration { - streamCount?: number; - audioInputStreams?: MixedAudioStream[]; - syncWithLocalMic?: boolean; -} - public class LocalAudioMixerConfiguration -{ - public uint streamCount; - public MixedAudioStream[] audioInputStreams; - public bool syncWithLocalMic -} - export class LocalAudioMixerConfiguration { - streamCount?: number; - audioInputStreams?: MixedAudioStream[]; - syncWithLocalMic?: boolean; -} - class LocalAudioMixerConfiguration { - const LocalAudioMixerConfiguration( - {this.streamCount, this.audioInputStreams, this.syncWithLocalMic}); - - @JsonKey(name: 'streamCount') - final int? streamCount; - - @JsonKey(name: 'audioInputStreams') - final List<MixedAudioStream>? audioInputStreams; - - @JsonKey(name: 'syncWithLocalMic') - final bool? syncWithLocalMic; - - factory LocalAudioMixerConfiguration.fromJson(Map<String, dynamic> json) => - _$LocalAudioMixerConfigurationFromJson(json); - - Map<String, dynamic> toJson() => _$LocalAudioMixerConfigurationToJson(this); -}

        -
        -
        -
        - -
        自从
        -
        v4.5.0
        -
        -
        -

        -

        -
        - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - streamCount - 在本地进行合流的音频流数量。 - - - audioInputStreams - 在本地进行合流的音频源。详见 - - - syncWithLocalMic - 合流后的音频流是否使用本地麦克风采集的音频帧时间戳: -
          -
        • :(默认)使用本地麦克风采集的音频帧时间戳。如果要所有本地采集的音频流保持同步,你可以将参数设置为该值。
        • -
        • :不使用本地麦克风采集的音频帧时间戳,SDK 会采用合流的音频帧被构建时的时间戳。
        • -
        -
        -
        -
        -
        diff --git a/dita/RTC-NG/API/class_localvideostats.dita b/dita/RTC-NG/API/class_localvideostats.dita index b0a276bbe30..cf2d330c67f 100644 --- a/dita/RTC-NG/API/class_localvideostats.dita +++ b/dita/RTC-NG/API/class_localvideostats.dita @@ -549,7 +549,7 @@ public: codecType - 视频的编码类型。详见 + 视频的编码类型。详见

        • (1):VP8。
        • diff --git a/dita/RTC-NG/API/class_logconfig.dita b/dita/RTC-NG/API/class_logconfig.dita index 25786510791..23656fc95ac 100644 --- a/dita/RTC-NG/API/class_logconfig.dita +++ b/dita/RTC-NG/API/class_logconfig.dita @@ -11,14 +11,7 @@ public int fileSizeInKB; public int level = Constants.LogLevel.getValue(Constants.LogLevel.LOG_LEVEL_INFO); } - export class LogConfig { - - public filePath:string = ''; - - public fileSizeInKB:number = 2048; - - public level: Constants.LogLevel = Constants.LogLevel.INFO; -} + __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSInteger fileSizeInKB; @@ -127,7 +120,7 @@ public:
      • Windows:C:\Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log

      -

      默认路径为 /storage/emulated/0/Android/data/<packagename>/files/agorasdk.log

      +

      默认路径为 /storage/emulated/0/Android/data/<packagename>/files/agorasdk.log

      默认路径为 AppSandbox/Library/caches/agorasdk.log

      默认路径为: diff --git a/dita/RTC-NG/API/class_lowlightenhanceoptions.dita b/dita/RTC-NG/API/class_lowlightenhanceoptions.dita index 2ba954f9884..90074b48bd5 100644 --- a/dita/RTC-NG/API/class_lowlightenhanceoptions.dita +++ b/dita/RTC-NG/API/class_lowlightenhanceoptions.dita @@ -49,16 +49,27 @@ }; USTRUCT(BlueprintType) -struct FUABT_LowlightEnhanceOptions +struct FLowlightEnhanceOptions { GENERATED_BODY() - public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_LOW_LIGHT_ENHANCE_MODE mode = EUABT_LOW_LIGHT_ENHANCE_MODE::LOW_LIGHT_ENHANCE_AUTO; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_LOW_LIGHT_ENHANCE_LEVEL level = EUABT_LOW_LIGHT_ENHANCE_LEVEL::LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LowlightEnhanceOptions") + ELOW_LIGHT_ENHANCE_MODE mode = ELOW_LIGHT_ENHANCE_MODE::LOW_LIGHT_ENHANCE_AUTO; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LowlightEnhanceOptions") + ELOW_LIGHT_ENHANCE_LEVEL level = ELOW_LIGHT_ENHANCE_LEVEL::LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY; + FLowlightEnhanceOptions(){} + FLowlightEnhanceOptions(const agora::rtc::LowlightEnhanceOptions & AgoraData){ + mode = static_cast<ELOW_LIGHT_ENHANCE_MODE>(AgoraData.mode); + level = static_cast<ELOW_LIGHT_ENHANCE_LEVEL>(AgoraData.level); + } + agora::rtc::LowlightEnhanceOptions CreateAgoraData() const { + agora::rtc::LowlightEnhanceOptions AgoraData; + AgoraData.mode = static_cast<agora::rtc::LowlightEnhanceOptions::LOW_LIGHT_ENHANCE_MODE>(mode); + AgoraData.level = static_cast<agora::rtc::LowlightEnhanceOptions::LOW_LIGHT_ENHANCE_LEVEL>(level); + return AgoraData; + } + void FreeAgoraData(agora::rtc::LowlightEnhanceOptions& AgoraData) const { + } }; public class LowlightEnhanceOptions { @@ -78,15 +89,15 @@ public: } }; export class LowlightEnhanceOptions { - + mode?: LowLightEnhanceMode; - + level?: LowLightEnhanceLevel; } export class LowlightEnhanceOptions { - + mode?: LowLightEnhanceMode; - + level?: LowLightEnhanceLevel; } class LowlightEnhanceOptions { @@ -103,7 +114,7 @@ public: _$LowlightEnhanceOptionsFromJson(json); Map<String, dynamic> toJson() => _$LowlightEnhanceOptionsToJson(this); -} +}

      diff --git a/dita/RTC-NG/API/class_mediarecorderconfiguration.dita b/dita/RTC-NG/API/class_mediarecorderconfiguration.dita index 1b26d637cfb..035ff4be6cb 100644 --- a/dita/RTC-NG/API/class_mediarecorderconfiguration.dita +++ b/dita/RTC-NG/API/class_mediarecorderconfiguration.dita @@ -12,12 +12,6 @@ public int streamType = STREAM_TYPE_BOTH; public int maxDurationMs = 120000; public int recorderInfoUpdateInterval = 0; - public int width; - public int height; - public int fps; - public int sample_rate; - public int channel_num; - public int videoSourceType; public MediaRecorderConfiguration(String storagePath, int containerFormat, int streamType, int maxDurationMs, int recorderInfoUpdateInterval) { @@ -26,40 +20,18 @@ this.streamType = streamType; this.maxDurationMs = maxDurationMs; this.recorderInfoUpdateInterval = recorderInfoUpdateInterval; - this.width = 1280; - this.height = 720; - this.fps = 30; - this.sample_rate = 48000; - this.channel_num = 1; - this.videoSourceType = 0; - } - - public MediaRecorderConfiguration(String storagePath, int containerFormat, int streamType, - int maxDurationMs, int recorderInfoUpdateInterval, int width, int height, int fps, - int sample_rate, int channel_num, int videoSourceType) { - this.storagePath = storagePath; - this.containerFormat = containerFormat; - this.streamType = streamType; - this.maxDurationMs = maxDurationMs; - this.recorderInfoUpdateInterval = recorderInfoUpdateInterval; - this.width = width; - this.height = height; - this.fps = fps; - this.sample_rate = sample_rate; - this.channel_num = channel_num; - this.videoSourceType = videoSourceType; } } export class MediaRecorderConfiguration { - + public storagePath: string; - + public containerFormat: number = AgoraMediaRecorder.CONTAINER_MP4; - + public streamType: number = AgoraMediaRecorder.STREAM_TYPE_BOTH; - + public maxDurationMs: number = 120000; - + public recorderInfoUpdateInterval: number = 0; public constructor(storagePath: string, containerFormat: number, streamType: number, maxDurationMs: number, recorderInfoUpdateInterval: number) { @@ -75,52 +47,17 @@ @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat; @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType; @property(assign, nonatomic) NSUInteger maxDurationMs; -@property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval; -@property(assign, nonatomic) NSUInteger width; -@property(assign, nonatomic) NSUInteger height; -@property(assign, nonatomic) NSUInteger fps; -@property(assign, nonatomic) NSUInteger sample_rate; -@property(assign, nonatomic) NSUInteger channel_num; -@property(assign, nonatomic) AgoraVideoSourceType videoSourceType; -@end +@property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval; struct MediaRecorderConfiguration { const char* storagePath; MediaRecorderContainerFormat containerFormat; MediaRecorderStreamType streamType; int maxDurationMs; int recorderInfoUpdateInterval; - int width; - int height; - int fps; - int sample_rate; - int channel_num; - agora::rtc::VIDEO_SOURCE_TYPE videoSourceType; - MediaRecorderConfiguration() - : storagePath(NULL), - containerFormat(FORMAT_MP4), - streamType(STREAM_TYPE_BOTH), - maxDurationMs(120000), - recorderInfoUpdateInterval(0), - width(1280), - height(720), - fps(30), - sample_rate(48000), - channel_num(1), - videoSourceType(rtc::VIDEO_SOURCE_CAMERA_PRIMARY) {} - MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, - MediaRecorderStreamType type, int duration, int interval) - : storagePath(path), - containerFormat(format), - streamType(type), - maxDurationMs(duration), - recorderInfoUpdateInterval(interval), - width(1280), - height(720), - fps(30), - sample_rate(48000), - channel_num(1), - videoSourceType(rtc::VIDEO_SOURCE_CAMERA_PRIMARY) {}}; + MediaRecorderConfiguration() : storagePath(NULL), containerFormat(FORMAT_MP4), streamType(STREAM_TYPE_BOTH), maxDurationMs(120000), recorderInfoUpdateInterval(0) {} + MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {} +}; USTRUCT(BlueprintType) struct FMediaRecorderConfiguration { @@ -138,17 +75,16 @@ struct FMediaRecorderConfiguration int recorderInfoUpdateInterval; }; export class MediaRecorderConfiguration { + storagePath?: string; + containerFormat?: MediaRecorderContainerFormat; + streamType?: MediaRecorderStreamType; + maxDurationMs?: number; + recorderInfoUpdateInterval?: number; - width?: number; - height?: number; - fps?: number; - sample_rate?: number; - channel_num?: number; - videoSourceType?: VideoSourceType; } public struct MediaRecorderConfiguration { public string storagePath; @@ -156,41 +92,27 @@ struct FMediaRecorderConfiguration public MediaRecorderStreamType streamType; public int maxDurationMs; public int recorderInfoUpdateInterval; - public int width; - public int height; - public int fps; - public int sample_rate; - public int channel_num; - public VIDEO_SOURCE_TYPE videoSourceType; }; export class MediaRecorderConfiguration { + storagePath?: string; + containerFormat?: MediaRecorderContainerFormat; + streamType?: MediaRecorderStreamType; + maxDurationMs?: number; + recorderInfoUpdateInterval?: number; - width?: number; - height?: number; - fps?: number; - sample_rate?: number; - channel_num?: number; - videoSourceType?: VideoSourceType; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) -class MediaRecorderConfiguration { + class MediaRecorderConfiguration { const MediaRecorderConfiguration( {this.storagePath, this.containerFormat, this.streamType, this.maxDurationMs, - this.recorderInfoUpdateInterval, - this.width, - this.height, - this.fps, - this.sampleRate, - this.channelNum, - this.videoSourceType}); + this.recorderInfoUpdateInterval}); @JsonKey(name: 'storagePath') final String? storagePath; @@ -207,24 +129,6 @@ class MediaRecorderConfiguration { @JsonKey(name: 'recorderInfoUpdateInterval') final int? recorderInfoUpdateInterval; - @JsonKey(name: 'width') - final int? width; - - @JsonKey(name: 'height') - final int? height; - - @JsonKey(name: 'fps') - final int? fps; - - @JsonKey(name: 'sample_rate') - final int? sampleRate; - - @JsonKey(name: 'channel_num') - final int? channelNum; - - @JsonKey(name: 'videoSourceType') - final VideoSourceType? videoSourceType; - factory MediaRecorderConfiguration.fromJson(Map<String, dynamic> json) => _$MediaRecorderConfigurationFromJson(json); @@ -240,7 +144,7 @@ class MediaRecorderConfiguration { storagePath - 录制文件在本地保存的绝对路径,需精确到文件名及格式。例如: + 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:
      • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
      • iOS: /App Sandbox/Library/Caches/example.mp4
      • @@ -272,54 +176,6 @@ class MediaRecorderConfiguration { recorderInfoUpdateInterval 录制信息更新间隔,单位为毫秒,取值范围为 [1000,10000]。SDK 会根据该值的设置触发 回调,报告更新后的录制信息。 - - width - 录制视频的宽度 (px),宽 × 高的最大值不应超过 3840 × 2160。 - 该参数仅在 调用 且将 中的 type设置为 时需要传入。 - 该参数仅在 调用 且将 recorderStreamType 为 0 时需要传入。 - - - - height - 录制视频的高度 (px),宽 × 高的最大值不超过 3840 × 2160。 - 该参数仅在 调用 且将 中的 type设置为 时需要传入。 - 该参数仅在 调用 且将 recorderStreamType 为 0 时需要传入。 - - - - fps - 录制视频的帧率,最高值不超过 30,如: 5、10、15、24、30 等。 - 该参数仅在 调用 且将 中的 type设置为 时需要传入。 - 该参数仅在 调用 且将 recorderStreamType 为 0 时需要传入。 - - - - sample_rate - sampleRate - 录制音频的采样率 (Hz),可设置为 16000,32000,44100 或 48000。 - 该参数仅在 调用 且将 中的 type设置为 时需要传入。 - 该参数仅在调用 且将 recorderStreamType 为 0 时需要传入。 - - - - channel_num - channelNum - 录制音频的声道数: -
          -
        • 1: 单声道
        • -
        • 2: 双声道
        • -
        - 该参数仅在 调用 且将 中的 type设置为 时需要传入。 - 该参数仅在 调用 且将 recorderStreamType 为 0 时需要传入。 -
        -
        - - videoSourceType - 录制视频源的类型。详见 。 - 该参数仅在 调用 且将 中的 type设置为 时需要传入。 - 该参数仅在 调用 且将 recorderStreamType 为 0 时需要传入。 - -
      diff --git a/dita/RTC-NG/API/class_mediasource.dita b/dita/RTC-NG/API/class_mediasource.dita index 4ef17912603..3f74daf6ecd 100644 --- a/dita/RTC-NG/API/class_mediasource.dita +++ b/dita/RTC-NG/API/class_mediasource.dita @@ -17,25 +17,7 @@ boolean enableMultiAudioTrack; IMediaPlayerCustomDataProvider provider; } - export class MediaPlayerSource -{ - - public url:string = "" - - public uri:string = "" - - public startPos:number = 0 - - public autoPlay:boolean = true ; - - public enableCache:boolean = false ; - - public enableMultiAudioTrack:boolean = false ; - - public isAgoraSource?:Boolean - - public isLiveSource?:Boolean -} + __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject @property(copy, nonatomic) NSString *_Nullable url; @property(copy, nonatomic) NSString *_Nullable uri; @@ -212,7 +194,7 @@ public: url

      需要播放的媒体资源的 URL。

      - +

      如果你打开的为普通媒体资源,请向 url 传值;如果你打开媒体资源为自定义媒体资源,请向 playerOnReadCallbackplayerOnSeekCallback 传值,同时传值会导致方法调用失败。

      如果你打开的为普通媒体资源,请向 url 传值;如果你打开媒体资源为自定义媒体资源,请向 provider 传值,同时传值会导致方法调用失败。

      diff --git a/dita/RTC-NG/API/class_mixedaudiostream.dita b/dita/RTC-NG/API/class_mixedaudiostream.dita deleted file mode 100644 index 86e51d272c2..00000000000 --- a/dita/RTC-NG/API/class_mixedaudiostream.dita +++ /dev/null @@ -1,149 +0,0 @@ - - - - <ph keyref="MixedAudioStream"/> - 在本地进行合流的音频源。 - -
      -

      - public static class MixedAudioStream { - public int remoteUserUid; - public String channelId; - public Constants.AudioSourceType sourceType; - public int trackId; - public MixedAudioStream() { - this.sourceType = Constants.AudioSourceType.AUDIO_SOURCE_UNKNOWN; - this.remoteUserUid = 0; - this.channelId = ""; - this.trackId = 0; - } - }; - - __attribute__((visibility("default"))) @interface AgoraMixedAudioStream: NSObject -@property (assign, nonatomic) AgoraAudioSourceType sourceType; -@property (assign, nonatomic) NSUInteger remoteUserUid; -@property (copy, nonatomic) NSString * _Nullable channelId; -@property (assign, nonatomic) NSUInteger trackId; -@end - struct MixedAudioStream { - AUDIO_SOURCE_TYPE sourceType; - uid_t remoteUserUid; - const char* channelId; - track_id_t trackId; - MixedAudioStream(AUDIO_SOURCE_TYPE source) - : sourceType(source), - remoteUserUid(0), - channelId(NULL), - trackId(-1) {} - MixedAudioStream(AUDIO_SOURCE_TYPE source, track_id_t track) - : sourceType(source), - trackId(track) {} - MixedAudioStream(AUDIO_SOURCE_TYPE source, uid_t uid, const char* channel) - : sourceType(source), - remoteUserUid(uid), - channelId(channel) {} - MixedAudioStream(AUDIO_SOURCE_TYPE source, uid_t uid, const char* channel, track_id_t track) - : sourceType(source), - remoteUserUid(uid), - channelId(channel), - trackId(track) {} -}; - USTRUCT(BlueprintType) -struct FUABT_MixedAudioStream { - - GENERATED_BODY() - -public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_AUDIO_SOURCE_TYPE sourceType = EUABT_AUDIO_SOURCE_TYPE::AUDIO_SOURCE_MICROPHONE; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - int64 remoteUserUid; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - FString channelName; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - int64 trackId; -}; - export class MixedAudioStream { - sourceType?: AudioSourceType; - remoteUserUid?: number; - channelId?: string; - trackId?: number; -} - public class MixedAudioStream -{ - public AUDIO_SOURCE_TYPE sourceType; - public uint remoteUserUid; - public string channelId; - public uint trackId; - } - export class MixedAudioStream { - sourceType?: AudioSourceType; - remoteUserUid?: number; - channelId?: string; - trackId?: number; -} - class MixedAudioStream { - - const MixedAudioStream( - {this.sourceType, this.remoteUserUid, this.channelId, this.trackId}); - - @JsonKey(name: 'sourceType') - final AudioSourceType? sourceType; - - @JsonKey(name: 'remoteUserUid') - final int? remoteUserUid; - - @JsonKey(name: 'channelId') - final String? channelId; - - @JsonKey(name: 'trackId') - final int? trackId; - - factory MixedAudioStream.fromJson(Map<String, dynamic> json) => - _$MixedAudioStreamFromJson(json); - - Map<String, dynamic> toJson() => _$MixedAudioStreamToJson(this); -}

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - sourceType - 音频源的类型。详见 - - - remoteUserUid - -

      远端用户 ID。

      - 当参与本地音频合流的音频源类型为 时,需要设置该参数。
      -
      - - channelId - -

      - 当参与本地音频合流的音频源类型为 时,需要设置该参数。 - - - trackId - -

      音频轨道 ID。将该参数设置为调用 方法返回的自定义音频轨道 ID。

      - 当参与本地本地音频合流的音频源类型为 时,需要设置该参数。 -
      -
      -
      -
      -
      diff --git a/dita/RTC-NG/API/class_music.dita b/dita/RTC-NG/API/class_music.dita index 3e447a36a68..22f4156aadc 100644 --- a/dita/RTC-NG/API/class_music.dita +++ b/dita/RTC-NG/API/class_music.dita @@ -86,31 +86,7 @@ return climaxSegments; } }
      - export class Music -{ - - public songCode:bigint = BigInt(0) - - public name:string = "" - - public singer:string = "" - - public poster:string = "" - - public releaseTime:string = "" - - public type:number = 0 - - public pitchType:number = 0 - - public durationS:number = 0 - - public lyricTypes?:number[] - - public mvProperties?:MvProperty[] - - public climaxSegments?:ClimaxSegment[] -} + __attribute__((visibility("default"))) @interface AgoraMusic : NSObject @property(nonatomic, assign) NSInteger songCode; @property(nonatomic, assign) NSInteger type; diff --git a/dita/RTC-NG/API/class_musiccacheinfo.dita b/dita/RTC-NG/API/class_musiccacheinfo.dita index 7aef845148b..befb62f0778 100644 --- a/dita/RTC-NG/API/class_musiccacheinfo.dita +++ b/dita/RTC-NG/API/class_musiccacheinfo.dita @@ -12,13 +12,7 @@ public MusicCacheInfo() {} } - export class MusicCacheInfo -{ - - public songCode:bigint = BigInt(0) - - public status:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraMusicCacheInfo : NSObject @property(nonatomic, assign) NSInteger songCode; diff --git a/dita/RTC-NG/API/class_musicchartinfo.dita b/dita/RTC-NG/API/class_musicchartinfo.dita index e426d55648e..f3b7ed1a10f 100644 --- a/dita/RTC-NG/API/class_musicchartinfo.dita +++ b/dita/RTC-NG/API/class_musicchartinfo.dita @@ -26,13 +26,7 @@ return type; } } - export class MusicChartInfo -{ - - public name:string = "" - - public type:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraMusicChartInfo : NSObject @property (nonatomic, copy) NSString *chartName; @property (nonatomic, assign) NSInteger identify; diff --git a/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita b/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita index 3fbc4c0aeed..7629d765d9e 100644 --- a/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita +++ b/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita @@ -22,21 +22,7 @@ eventHandler = null; } } - export class MusicContentCenterConfiguration -{ - - public appId:string = "" - - public token:string = "" - - public mccUid:number = 0 - - public maxCacheSize:number = 10 - - public eventHandler?:IMusicContentCenterEventHandler - - public mccDomain?:string -} + __attribute__((visibility("default"))) @interface AgoraMusicContentCenterConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property (nonatomic, copy) NSString *appId; diff --git a/dita/RTC-NG/API/class_player.dita b/dita/RTC-NG/API/class_player.dita deleted file mode 100644 index 5b9ab5355a2..00000000000 --- a/dita/RTC-NG/API/class_player.dita +++ /dev/null @@ -1,6 +0,0 @@ - - - - <ph keyref="Player"/> - RTE 播放器的基础接口类,实现媒体播放的主要功能。 - diff --git a/dita/RTC-NG/API/class_playerconfig.dita b/dita/RTC-NG/API/class_playerconfig.dita deleted file mode 100644 index 4fefd242147..00000000000 --- a/dita/RTC-NG/API/class_playerconfig.dita +++ /dev/null @@ -1,79 +0,0 @@ - - - - <ph keyref="PlayerConfig"/> - 该类提供播放器设置的相关方法。 - -
      -

      - public class PlayerConfig { - public void setAutoPlay(boolean autoPlay) throws RteException; - public boolean getAutoPlay() throws RteException; - public void setAbrSubscriptionLayer(Constants.AbrSubscriptionLayer subscriptionLayer) throws RteException; - public Constants.AbrSubscriptionLayer getAbrSubscriptionLayer() throws RteException; - public void setAbrFallbackLayer(Constants.AbrFallbackLayer fallbackLayer) throws RteException; - public Constants.AbrFallbackLayer getAbrFallbackLayer() throws RteException; -} - - @interface AgoraRtePlayerConfig : NSObject -- (void)setAutoPlay:(BOOL)autoPlay error:(AgoraRteError * _Nullable)error; -- (BOOL)autoPlay:(AgoraRteError * _Nullable)error; -- (void)setAbrSubscriptionLayer:(AgoraRteAbrSubscriptionLayer)layer error:(AgoraRteError * _Nullable)error; -- (AgoraRteAbrSubscriptionLayer)abrSubscriptionLayer:(AgoraRteError * _Nullable)error; -- (void)setAbrFallbackLayer:(AgoraRteAbrFallbackLayer)layer error:(AgoraRteError * _Nullable)error; -- (AgoraRteAbrFallbackLayer)abrFallbackLayer:(AgoraRteError * _Nullable)error; -@end - class PlayerConfig { - public: - void SetAutoPlay(bool auto_play, Error *err = nullptr); - bool GetAutoPlay(Error *err = nullptr); - void SetAbrSubscriptionLayer(AbrSubscriptionLayer abr_subscription_layer, Error *err = nullptr); - AbrSubscriptionLayer GetAbrSubscriptionLayer(Error *err = nullptr); - void SetAbrFallbackLayer(AbrFallbackLayer abr_fallback_layer, Error *err = nullptr); - AbrFallbackLayer GetAbrFallbackLayer(Error *err = nullptr); -}; - - - - -

      -
      -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -

      -

      -
      - 方法 - - - - 设置是否自动播放。详见 - - - - 获取自动播放设置。详见 - - - - 设置订阅的媒体流的质量层级。详见 - - - - 获取所订阅的视频流的质量层级。详见 - - - - 设置订阅的视频流的回退选项。详见 - - - - 获取设置的视频流回退选项。详见 - -
      -
      -
      diff --git a/dita/RTC-NG/API/class_playergetstatscallback.dita b/dita/RTC-NG/API/class_playergetstatscallback.dita deleted file mode 100644 index 51b02c7b662..00000000000 --- a/dita/RTC-NG/API/class_playergetstatscallback.dita +++ /dev/null @@ -1,6 +0,0 @@ - - - - <ph keyref="PlayerGetStatsCallback"/> - 该类提供的回调用于获取媒体资源统计信息的异步操作结果。 - diff --git a/dita/RTC-NG/API/class_playerobserver.dita b/dita/RTC-NG/API/class_playerobserver.dita deleted file mode 100644 index 93d13f32ea4..00000000000 --- a/dita/RTC-NG/API/class_playerobserver.dita +++ /dev/null @@ -1,6 +0,0 @@ - - - - <ph keyref="PlayerObserver"/> - 提供播放器回调的接口类。 - diff --git a/dita/RTC-NG/API/class_playerplaybackstats.dita b/dita/RTC-NG/API/class_playerplaybackstats.dita index 162502b875b..65ebef71d59 100644 --- a/dita/RTC-NG/API/class_playerplaybackstats.dita +++ b/dita/RTC-NG/API/class_playerplaybackstats.dita @@ -12,17 +12,7 @@ private long audioBitrateInKbps; private long totalBitrateInKbps; }
      - export class PlayerPlaybackStats -{ - - public videoFps:number = 0 - - public videoBitrateInKbps:number = 0 - - public audioBitrateInKbps:number = 0 - - public totalBitrateInKbps:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject @property(assign, nonatomic) NSInteger videoFps; @property(assign, nonatomic) NSInteger videoBitrateInKbps; diff --git a/dita/RTC-NG/API/class_playerstreaminfo.dita b/dita/RTC-NG/API/class_playerstreaminfo.dita index b8e9c8ccd19..1f29b4789c2 100644 --- a/dita/RTC-NG/API/class_playerstreaminfo.dita +++ b/dita/RTC-NG/API/class_playerstreaminfo.dita @@ -23,22 +23,7 @@ public MediaStreamInfo() {} } - export class MediaStreamInfo -{ - public streamIndex:number = 0 - public mediaStreamType:number = 0 - public codecName:string = "" - public language:string = "" - public videoFrameRate:number = 0 - public videoBitRate:number = 0 - public videoWidth:number = 0 - public videoHeight:number = 0 - public videoRotation:number = 0 - public audioSampleRate:number = 0 - public audioChannels:number = 0 - public audioBytesPerSample:number = 0 - public duration:bigint = BigInt(0) -} + __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject @property(nonatomic, assign) NSInteger streamIndex; diff --git a/dita/RTC-NG/API/class_playerupdatedinfo.dita b/dita/RTC-NG/API/class_playerupdatedinfo.dita index e90e563370d..b7d42ff35e2 100644 --- a/dita/RTC-NG/API/class_playerupdatedinfo.dita +++ b/dita/RTC-NG/API/class_playerupdatedinfo.dita @@ -14,23 +14,7 @@ private long audioChannels; private long audioBitsPerSample; } - export class PlayerUpdatedInfo -{ - - public internalPlayerUuid:string = "" - - public deviceId:string = "" - - public videoHeight:number = 0 - - public videoWidth:number = 0 - - public audioSampleRate:number = 0 - - public audioChannels:number = 0 - - public audioBitsPerSample:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject @property(copy, nonatomic) NSString *_Nullable deviceId; @property(assign, nonatomic) NSInteger videoHeight; diff --git a/dita/RTC-NG/API/class_recorderinfo.dita b/dita/RTC-NG/API/class_recorderinfo.dita index 7d49913948f..ad61164843b 100644 --- a/dita/RTC-NG/API/class_recorderinfo.dita +++ b/dita/RTC-NG/API/class_recorderinfo.dita @@ -96,7 +96,7 @@ struct FRecorderInfo { <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - fileName + fileName recorderFileName 录制文件的绝对存储路径。 @@ -110,4 +110,4 @@ struct FRecorderInfo {
      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/class_recorderstreaminfo.dita b/dita/RTC-NG/API/class_recorderstreaminfo.dita index cd7bade353e..f20cb5e199c 100644 --- a/dita/RTC-NG/API/class_recorderstreaminfo.dita +++ b/dita/RTC-NG/API/class_recorderstreaminfo.dita @@ -7,14 +7,13 @@

      public class RecorderStreamInfo { - public int uid; public String channelId; - public int recorderStreamType; + public int uid; } export class RecorderStreamInfo { - + public uid: number = 0; - + public channelId: string; public constructor() { this.uid = 0; @@ -25,19 +24,15 @@ } } __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject -@property (nonatomic, nonatomic) NSUInteger uid; + @property (nonatomic, copy) NSString *_Nonnull channelId; -@property (assign, nonatomic) AgoraRecorderStreamType type; +@property (nonatomic, nonatomic) NSUInteger uid; + @end struct RecorderStreamInfo { - const char* channelId; - uid_t uid; - RecorderStreamType type; - RecorderStreamInfo() : channelId(NULL), uid(0), type(RTC) {} - RecorderStreamInfo(const char* channelId, uid_t uid) - : channelId(channelId), uid(uid), type(RTC) {} - RecorderStreamInfo(const char* channelId, uid_t uid, RecorderStreamType) - : channelId(channelId), uid(uid), type(RTC) {} + const char* channelId; + uid_t uid; + RecorderStreamInfo() : channelId(NULL), uid(0) {} }; USTRUCT(BlueprintType) struct FRecorderStreamInfo { @@ -50,23 +45,20 @@ struct FRecorderStreamInfo { int64 uid; }; - RecorderStreamInfo { - channelId?: string; - uid?: number; - type?: RecorderStreamType; - } + export class RecorderStreamInfo { + channelId?: string; + uid?: number; +} public class RecorderStreamInfo { public string channelId; public uint uid; - public RecorderStreamType type; }; - RecorderStreamInfo { - channelId?: string; - uid?: number; - type?: RecorderStreamType; - } + export class RecorderStreamInfo { + channelId?: string; + uid?: number; +} @JsonSerializable(explicitToJson: true, includeIfNull: false) class RecorderStreamInfo { const RecorderStreamInfo({this.channelId, this.uid}); @@ -77,9 +69,6 @@ class RecorderStreamInfo { @JsonKey(name: 'uid') final int? uid; - @JsonKey(name: 'type') - final RecorderStreamType? type; - factory RecorderStreamInfo.fromJson(Map<String, dynamic> json) => _$RecorderStreamInfoFromJson(json); @@ -105,18 +94,6 @@ class RecorderStreamInfo { uid 需录制的用户 ID。 - - type - 需录制的视频流类型,详见 - - - recorderStreamType - 需要录制的视频流类型: -

        -
      • 0: 频道内的视频流。
      • -
      • 1: 加入频道前,在本地预览的视频流。
      • -
      -
      diff --git a/dita/RTC-NG/API/class_remoteaudiostats.dita b/dita/RTC-NG/API/class_remoteaudiostats.dita index b2f8bf2c5bc..20f04519889 100644 --- a/dita/RTC-NG/API/class_remoteaudiostats.dita +++ b/dita/RTC-NG/API/class_remoteaudiostats.dita @@ -61,8 +61,6 @@ public qualityChangedReason:number = 0; public rxAudioBytes:number = 0; - - public e2eDelay:number = 0; } __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @@ -433,7 +431,6 @@ class RemoteAudioStats {
    • (4):勉强能沟通但不顺畅。
    • (5):网络质量非常差,基本不能沟通。
    • (6):网络连接断开,完全无法沟通。
    • -
    • (8):网络质量检测进行中。

    diff --git a/dita/RTC-NG/API/class_rtcengineconfig.dita b/dita/RTC-NG/API/class_rtcengineconfig.dita index ab411ecf5cd..896b7f18d3b 100644 --- a/dita/RTC-NG/API/class_rtcengineconfig.dita +++ b/dita/RTC-NG/API/class_rtcengineconfig.dita @@ -18,7 +18,7 @@ public IMediaExtensionObserver mExtensionObserver; public LogConfig mLogConfig; public String mNativeLibPath; - public boolean mDomainLimit; + public boolean mDomainLimit; public void addExtension(String providerName) { mExtensionList.add(providerName); @@ -26,12 +26,10 @@ } export class RtcEngineConfig{ - public mContext:Context; - public mAppId:string; - public mEventHandler: IRtcEngineEventHandler ; - public mLogConfig?:LogConfig; - public areaCode: Constants.AreaCode = Constants.AreaCode.GLOB; - } + public mContext:Context | null = null; + public mAppId:string | null = null; + public mEventHandler: IRtcEngineEventHandler | null = null; +} __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject @property (copy, nonatomic) NSString * _Nullable appId; @@ -71,19 +69,19 @@ struct FRtcEngineContext EAgoraBPuEventHandlerType EventHandlerCreationType = EAgoraBPuEventHandlerType::EventHandler; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") FString appId = ""; - - + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") ECHANNEL_PROFILE_TYPE channelProfile = ECHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") FString license = ""; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") EAUDIO_SCENARIO_TYPE audioScenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT; - - + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") FENUMWRAP_AREA_CODE areaCode = EENUMCUSTOM_AREA_CODE::AREA_CODE_GLOB; - + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") FLogConfig logConfig; @@ -101,11 +99,11 @@ struct FRtcEngineContext FRtcEngineContext() {} agora::rtc::RtcEngineContext CreateAgoraData() const { agora::rtc::RtcEngineContext AgoraData; - + SET_UABT_FSTRING_TO_CONST_CHAR___MEMALLOC(AgoraData.appId, this->appId) - + AgoraData.channelProfile = (agora::CHANNEL_PROFILE_TYPE)channelProfile; - + SET_UABT_FSTRING_TO_CONST_CHAR___MEMALLOC(AgoraData.license, this->license) AgoraData.audioScenario = (agora::rtc::AUDIO_SCENARIO_TYPE)audioScenario; AgoraData.areaCode = areaCode.GetRawValue(); @@ -114,7 +112,7 @@ struct FRtcEngineContext AgoraData.useExternalEglContext = useExternalEglContext; AgoraData.domainLimit = domainLimit; AgoraData.autoRegisterAgoraExtensions = autoRegisterAgoraExtensions; - + return AgoraData; } @@ -246,7 +244,7 @@ class RtcEngineContext {

    上下文。

    - + mNativeLibPath

    指定 .so 文件的存储目录。存储目录必须为有效的 App 的私有目录,可以通过 Context.getDir() 获取。

    @@ -260,17 +258,17 @@ class RtcEngineContext {
  • 务必确保你设置的路径为有效路径,否则会导致 创建失败。
  • - + channelProfile mChannelProfile - + audioScenario mAudioScenario - + areaCode mAreaCode 服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见 。区域码支持位操作。 @@ -286,12 +284,12 @@ class RtcEngineContext {
  • - + mExtensionList 插件列表。 - - mExtensionObserver + + mExtensionObserver eventDelegate 实例。 @@ -299,7 +297,7 @@ class RtcEngineContext { mediaFilterExtensions 实例。 - + mDomainLimit domainLimit @@ -310,7 +308,7 @@ class RtcEngineContext {

    - + mAutoRegisterAgoraExtensions autoRegisterAgoraExtensions @@ -322,7 +320,7 @@ class RtcEngineContext {
  • -
    +
    方法 diff --git a/dita/RTC-NG/API/class_rtcimage.dita b/dita/RTC-NG/API/class_rtcimage.dita index fb03befc63b..f59403ca47a 100644 --- a/dita/RTC-NG/API/class_rtcimage.dita +++ b/dita/RTC-NG/API/class_rtcimage.dita @@ -109,7 +109,7 @@ struct FRtcImage char* URLCharPtr = new char[url.Len() + 1]; FMemory::Memcpy(URLCharPtr, TCHAR_TO_UTF8(*url), url.Len()); - URLCharPtr[url.Len()] = '\0'; + URLCharPtr[url.Len()] = '\0'; AgoraData.url = URLCharPtr; AgoraData.x = x; AgoraData.y = y; @@ -229,19 +229,19 @@ struct FRtcImage url 直播视频上图片的 HTTP/HTTPS 地址。字符长度不得超过 1024 字节。 - + x 图片在视频画面上的 x 坐标 (px),以输出视频画面的左上角为原点。 - + y 图片在视频画面上的 y 坐标 (px),以输出视频画面的左上角为原点。 - + width 图片在视频画面上的宽度 (px)。 - + height 图片在视频画面上的高度 (px)。 @@ -264,4 +264,4 @@ struct FRtcImage
    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/class_rtcsurfaceview.dita b/dita/RTC-NG/API/class_rtcsurfaceview.dita index a1342be15fe..22cf014a186 100644 --- a/dita/RTC-NG/API/class_rtcsurfaceview.dita +++ b/dita/RTC-NG/API/class_rtcsurfaceview.dita @@ -16,8 +16,8 @@

    为保证渲染出图,调用该组件前,根据当前是否加入频道进行对应操作:

      -
    • 不加入频道时:先调用 ,然后调用
    • -
    • 加入频道时:先开启采集,然后调用
    • +
    • 不加入频道时:先调用 ,然后调用
    • +
    • 加入频道时:先开启采集,然后调用
    diff --git a/dita/RTC-NG/API/class_rte.dita b/dita/RTC-NG/API/class_rte.dita deleted file mode 100644 index 9ffc1b25e4b..00000000000 --- a/dita/RTC-NG/API/class_rte.dita +++ /dev/null @@ -1,6 +0,0 @@ - - - - <ph keyref="Rte"/> - RTE API 的基础接口类,提供了实现实时音视频的主要方法。 - diff --git a/dita/RTC-NG/API/class_rteexception.dita b/dita/RTC-NG/API/class_rteexception.dita deleted file mode 100644 index cc9a62d210e..00000000000 --- a/dita/RTC-NG/API/class_rteexception.dita +++ /dev/null @@ -1,41 +0,0 @@ - - - - <ph keyref="RteException"/> - Rte 异常信息。 - -
    -

    - public class RteException extends Exception { - public Constants.ErrorCode errorCode() { - return Constants.ErrorCode.fromInt(mErrorCode); - } -} - - - - - - - -

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -
    -
    - 方法 - - - - 错误码。详见 - - -
    -
    -
    diff --git a/dita/RTC-NG/API/class_rteplayerinfo.dita b/dita/RTC-NG/API/class_rteplayerinfo.dita deleted file mode 100644 index 2cd9a5d2fe2..00000000000 --- a/dita/RTC-NG/API/class_rteplayerinfo.dita +++ /dev/null @@ -1,145 +0,0 @@ - - - - <ph keyref="RtePlayerInfo"/> - 播放器及媒体流的相关信息。 - -
    -

    - public class PlayerInfo { - public int state(); - public long duration(); - public int streamCount(); - public boolean hasAudio(); - public boolean hasVideo(); - public boolean isAudioMuted(); - public boolean isVideoMuted(); - public int videoHeight(); - public int videoWidth(); - public Constants.AbrSubscriptionLayer abrSubscriptionLayer(); - public int audioSampleRate(); - public int audioChannels(); - public int audioBitsPerSample(); -} - - @interface AgoraRtePlayerInfo : NSObject -- (int)state; -- (long)duration; -- (int)streamCount; -- (BOOL)hasAudio; -- (BOOL)hasVideo; -- (BOOL)isAudioMuted; -- (BOOL)isVideoMuted; -- (int)videoHeight; -- (int)videoWidth; -- (AgoraRteAbrSubscriptionLayer)abrSubscriptionLayer; -- (int)audioSampleRate; -- (int)audioChannels; -- (int)audioBitsPerSample; -@end - typedef struct RtePlayerInfo { - RtePlayerState state; - size_t duration; - size_t stream_count; - bool has_audio; - bool has_video; - bool is_audio_muted; - bool is_video_muted; - int video_height; - int video_width; - RteAbrSubscriptionLayer abr_subscription_layer; - int audio_sample_rate; - int audio_channels; - int audio_bits_per_sample; -} RtePlayerInfo; - - - - -

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - state - 播放器当前的状态,详见 - - - duration - 预留参数。 - - - stream_count - streamCount - 预留参数。 - - - has_audio - hasAudio - URL 媒体流中是否存在音频流: -
    • :存在音频流。
    • -
    • :不存在音频流。
    -
    - - has_video - hasVideo - URL 媒体流中是否存在视频流: -
    • :存在视频流。
    • -
    • :不存在视频流。
    -
    - - is_audio_muted - isAudioMuted - 本地用户是否订阅了音频流: -
    • :未订阅音频流。
    • -
    • :订阅了音频流。
    -
    - - is_video_muted - isVideoMuted - 本地用户是否订阅了视频流: -
    • :未订阅视频流。
    • -
    • :订阅了视频流。
    -
    - - video_height - videoHeight - 视频帧的高度(px)。 - - - video_width - videoWidth - 视频帧的宽度(px)。 - - - abr_subscription_layer - abrSubscriptionLayer - 订阅的视频流的质量级别。在自适应码率(ABR)视频流中,不同的质量级别对应不同的分辨率和码率,详见 - - - audio_sample_rate - audioSampleRate - 音频采样率(Hz)。 - - - audio_channels - audioChannels - 音频声道数。 - - - audio_bits_per_sample - audioBitsPerSample - 预留参数。 - -
    -
    -
    diff --git a/dita/RTC-NG/API/class_rteplayerstats.dita b/dita/RTC-NG/API/class_rteplayerstats.dita deleted file mode 100644 index 6bf335986b4..00000000000 --- a/dita/RTC-NG/API/class_rteplayerstats.dita +++ /dev/null @@ -1,71 +0,0 @@ - - - - <ph keyref="RtePlayerStats"/> - 所播放的媒体资源的统计信息。 - -
    -

    - public class PlayerStats { - public int videoDecodeFrameRate() - public int videoRenderFrameRate() - public int videoBitrate() - public int audioBitrate() -} - - __attribute__((visibility("default"))) @interface AgoraRtePlayerStats : NSObject - -- (instancetype _Nonnull)init; -- (int)videoDecodeFrameRate; -- (int)videoRenderFrameRate; -- (int)videoBitrate; -- (int)audioBitrate; - -@end - typedef struct RtePlayerStats { - int video_decode_frame_rate; - int video_render_frame_rate; - int video_bitrate; - int audio_bitrate; -} RtePlayerStats; - - - - -

    -
    -
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -

    -

    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - videoDecodeFrameRate - video_decode_frame_rate - 视频解码帧率(fps)。 - - - videoRenderFrameRate - video_render_frame_rate - 视频渲染帧率(fps)。 - - - videoBitrate - video_bitrate - 视频码率(Kbps)。 - - - audioBitrate - audio_bitrate - 音频码率(Kbps)。 - -
    -
    -
    diff --git a/dita/RTC-NG/API/class_screenaudioparameters.dita b/dita/RTC-NG/API/class_screenaudioparameters.dita index f7830d5ef71..35c81583ca5 100644 --- a/dita/RTC-NG/API/class_screenaudioparameters.dita +++ b/dita/RTC-NG/API/class_screenaudioparameters.dita @@ -30,11 +30,6 @@ + captureSignalVolume + ", allowCaptureCurrentApp=" + allowCaptureCurrentApp + '}'; } } - export class ScreenAudioParameters { - public sampleRate: number = 16000; - public channels: number = 2; - public captureSignalVolume : number = 100; -} __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject @property(assign, nonatomic) NSInteger captureSignalVolume; @end @@ -128,11 +123,11 @@ public:
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - + sampleRate 音频采样率 (Hz)。默认值为 16000。 - + channels 声道数。默认值为 2,表示双声道。 @@ -140,7 +135,7 @@ public: captureSignalVolume 采集的系统音量。取值范围为 [0,100]。默认值为 100。 - + allowCaptureCurrentApp 是否采集当前 App 中的音频:
      diff --git a/dita/RTC-NG/API/class_screencaptureconfiguration.dita b/dita/RTC-NG/API/class_screencaptureconfiguration.dita index 9d6975fa4cf..a00b7899045 100644 --- a/dita/RTC-NG/API/class_screencaptureconfiguration.dita +++ b/dita/RTC-NG/API/class_screencaptureconfiguration.dita @@ -26,9 +26,9 @@ __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguratio #endif struct ScreenCaptureConfiguration { bool isCaptureWindow; - int64_t displayId; + uint32_t displayId; Rectangle screenRect; - int64_t windowId; + view_t windowId; ScreenCaptureParameters params; Rectangle regionRect; @@ -90,30 +90,18 @@ public: } public class ScreenCaptureConfiguration { - public bool isCaptureWindow; - public long displayId; - public Rectangle screenRect; - public long windowId; - - public ScreenCaptureParameters @params; - public Rectangle regionRect; - public ScreenCaptureConfiguration() { - this.isCaptureWindow = false; - this.displayId = 0; - this.windowId = 0; + isCaptureWindow = false; + displayId = 0; } - public ScreenCaptureConfiguration(bool isCaptureWindow, long displayId, Rectangle screenRect, long windowId, ScreenCaptureParameters @params, Rectangle regionRect) - { - this.isCaptureWindow = isCaptureWindow; - this.displayId = displayId; - this.screenRect = screenRect; - this.windowId = windowId; - this.@params = @params; - this.regionRect = regionRect; - } + public bool isCaptureWindow { set; get; } + public uint displayId { set; get; } + public Rectangle screenRect { set; get; } + public uint windowId { set; get; } + public ScreenCaptureParameters parameters { set; get; } + public Rectangle regionRect { set; get; } } export class ScreenCaptureConfiguration { diff --git a/dita/RTC-NG/API/class_screencaptureparameters2.dita b/dita/RTC-NG/API/class_screencaptureparameters2.dita index 9b4e45c8b98..4eef59c881f 100644 --- a/dita/RTC-NG/API/class_screencaptureparameters2.dita +++ b/dita/RTC-NG/API/class_screencaptureparameters2.dita @@ -92,13 +92,6 @@ + '}'; } } - - export class ScreenCaptureParameters { - public captureAudio: boolean = false; - public audioParams: ScreenAudioParameters = new ScreenAudioParameters(); - public captureVideo: boolean = true; - public videoParams: ScreenVideoParameters = new ScreenVideoParameters(); -} __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject @property(assign, nonatomic) BOOL captureAudio; @@ -221,7 +214,7 @@ public:
    • 受系统限制,采集系统音频仅适用于 Android API 级别为 29 及以上,即 Android 10 及以上。
    • 为提高屏幕共享时采集系统音频的成功率,请确保你已调用 方法并设置音频场景为
    - + audioParams 共享屏幕流的音频配置。详见 该参数仅在 captureAudio 时生效。 @@ -235,7 +228,7 @@ public: 受系统限制,采集屏幕仅适用于 Android API 级别为 21 及以上,即 Android 5 及以上。 - + videoParams 共享屏幕流的视频编码配置。详见 该参数仅在 captureVideo 时生效。 diff --git a/dita/RTC-NG/API/class_screencapturesourceinfo.dita b/dita/RTC-NG/API/class_screencapturesourceinfo.dita index f854b3dbcbf..78f0e8d5471 100644 --- a/dita/RTC-NG/API/class_screencapturesourceinfo.dita +++ b/dita/RTC-NG/API/class_screencapturesourceinfo.dita @@ -22,23 +22,22 @@ @end struct ScreenCaptureSourceInfo { - ScreenCaptureSourceType type; - int64_t sourceId; - const char* sourceName; - ThumbImageBuffer thumbImage; - ThumbImageBuffer iconImage; - const char* processPath; - const char* sourceTitle; - bool primaryMonitor; - bool isOccluded; - Rectangle position; + ScreenCaptureSourceType type; + view_t sourceId; + const char* sourceName; + ThumbImageBuffer thumbImage; + ThumbImageBuffer iconImage; + const char* processPath; + const char* sourceTitle; + bool primaryMonitor; #if defined(_WIN32) - bool minimizeWindow; - int64_t sourceDisplayId; - ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), - processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId(-2) {} + Rectangle position; + bool minimizeWindow; + view_t sourceDisplayId; + ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), + processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId((view_t)-2) {} #else - ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {} + ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {} #endif }; USTRUCT(BlueprintType) @@ -143,7 +142,7 @@ public: public class ScreenCaptureSourceInfo { public ScreenCaptureSourceType type; - public long sourceId; + public view_t sourceId; public string sourceName; public ThumbImageBuffer thumbImage; public ThumbImageBuffer iconImage; @@ -151,7 +150,7 @@ public: public string sourceTitle; public bool primaryMonitor; public Rectangle position; - public long sourceDisplayId; + public view_t sourceDisplayId; }; class ScreenCaptureSourceInfo { diff --git a/dita/RTC-NG/API/class_screenvideoparameters.dita b/dita/RTC-NG/API/class_screenvideoparameters.dita index c283a7a95c8..d12a2c06e44 100644 --- a/dita/RTC-NG/API/class_screenvideoparameters.dita +++ b/dita/RTC-NG/API/class_screenvideoparameters.dita @@ -46,11 +46,6 @@ } } - export class ScreenVideoParameters { - public dimensions: VideoDimensions = new VideoDimensions(1280, 720); - public frameRate: number = 15; - public bitrate: number = 0; -} __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject @property(assign, nonatomic) CGSize dimensions; @@ -162,7 +157,7 @@ public:
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - + dimensions 视频编码的分辨率。默认值为 1280 × 720。 如果 dimensions 宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 dimensions 是 1280 × 720 为例: @@ -176,7 +171,7 @@ public:
  • 该值不代表最终视频输出的方向。详见 了解设置视频方向。
  • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
  • - 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。 + 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。
    • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
    • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则: @@ -187,7 +182,7 @@ public:
    - + width 视频编码分辨率中的宽 (px)。默认值为 1280。如果 width 和 height 的宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率, 以 width × height 是 1280 × 720 为例:
      @@ -211,7 +206,7 @@ public:
    - + height 视频编码分辨率中的高 (px)。默认值为 720。如果 width 和 height 的宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 width × height 是 1280 × 720 为例:
      @@ -236,15 +231,15 @@ public: - framerate - frameRate + framerate + frameRate 视频编码帧率 (fps)。默认值为 15。 bitrate 视频编码码率 (Kbps)。 - + contentHint 屏幕共享视频的内容类型。详见
        diff --git a/dita/RTC-NG/API/class_segmentationproperty.dita b/dita/RTC-NG/API/class_segmentationproperty.dita index 4bfc8967518..35bc7c84699 100644 --- a/dita/RTC-NG/API/class_segmentationproperty.dita +++ b/dita/RTC-NG/API/class_segmentationproperty.dita @@ -22,10 +22,8 @@ } } export class SegmentationProperty { - public static readonly SEG_MODEL_AI:number = 1; - public static readonly SEG_MODEL_GREEN:number = 2; - public modelType:number = SegmentationProperty.SEG_MODEL_AI; + public modelType:Constants.SegModelType = Constants.SegModelType.AI; public greenCapacity:number = 0.5; } diff --git a/dita/RTC-NG/API/class_simulcaststreamconfig.dita b/dita/RTC-NG/API/class_simulcaststreamconfig.dita index f13d4bab7fc..cda236b0a3a 100644 --- a/dita/RTC-NG/API/class_simulcaststreamconfig.dita +++ b/dita/RTC-NG/API/class_simulcaststreamconfig.dita @@ -118,7 +118,7 @@ public: 视频尺寸。详见 默认值为视频大流的 50%。 - bitrate + bitrate kBitrate 视频码率 (Kbps)。该参数无需设置,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。 diff --git a/dita/RTC-NG/API/class_snapshotconfig.dita b/dita/RTC-NG/API/class_snapshotconfig.dita index 3b5139befca..832a6e24a43 100644 --- a/dita/RTC-NG/API/class_snapshotconfig.dita +++ b/dita/RTC-NG/API/class_snapshotconfig.dita @@ -1,81 +1,74 @@ - <ph keyref="SnapshotConfig" /> + <ph keyref="SnapShotConfig" /> 视频截图设置。

        - public class SnapshotConfig { - public String filePath = null; - public Constants.VideoModulePosition position = - Constants.VideoModulePosition.VIDEO_MODULE_POSITION_PRE_ENCODER; -} + - __attribute__((visibility("default"))) @interface AgoraSnapshotConfig: NSObject -@property (copy, nonatomic) NSString * _Nullable filePath; -@property(assign, nonatomic) AgoraVideoModulePosition position; -@end - struct SnapshotConfig { - const char* filePath; - - media::base::VIDEO_MODULE_POSITION position; - SnapshotConfig() :filePath(NULL), position(media::base::POSITION_PRE_ENCODER) {} -}; - USTRUCT(BlueprintType) -struct FUABT_SnapshotConfig { - - GENERATED_BODY() - -public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - FString filePath; - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_VIDEO_MODULE_POSITION position = EUABT_VIDEO_MODULE_POSITION::POSITION_PRE_ENCODER; -}; - export class SnapshotConfig { - filePath?: string; - position?: VideoModulePosition; -} - public class SnapshotConfig + + + + public class SnapShotConfig { - public string filePath; + public SnapShotConfig() + { + channel = null; + uid = 0; + filePath = null; + } - public VIDEO_MODULE_POSITION position; + public string channel; + public uint uid; + public string filePath; } - export class SnapshotConfig { + export class SnapShotConfig { + channel?: string; + uid?: number; filePath?: string; - position?: VideoModulePosition; } - class SnapshotConfig { - const SnapshotConfig({this.filePath, this.position}); + class SnapShotConfig { + const SnapShotConfig({this.channel, this.uid, this.filePath}); + @JsonKey(name: 'channel') + final String? channel; + @JsonKey(name: 'uid') + final int? uid; @JsonKey(name: 'filePath') final String? filePath; - - @JsonKey(name: 'position') - final VideoModulePosition? position; - - factory SnapshotConfig.fromJson(Map<String, dynamic> json) => - _$SnapshotConfigFromJson(json); - - Map<String, dynamic> toJson() => _$SnapshotConfigToJson(this); -} + factory SnapShotConfig.fromJson(Map<String, dynamic> json) => + _$SnapShotConfigFromJson(json); + Map<String, dynamic> toJson() => _$SnapShotConfigToJson(this); +}

        <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - + + channel + 频道名。 - position - 截图的视频帧在视频链路中的位置。详见 + uid + 用户 ID。如果要对本地用户的视频截图,uid 设为 0。 + + + filePath + +

        截图的本地保存路径,需精确到文件名及格式, 例如: + + +

          +
        • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
        • +
        • iOS: /App Sandbox/Library/Caches/example.jpg
        • +
        • macOS: ~/Library/Logs/example.jpg
        • +
        • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
        • +
        请确保目录存在且可写。

        +
        -
        + \ No newline at end of file diff --git a/dita/RTC-NG/API/class_srcinfo.dita b/dita/RTC-NG/API/class_srcinfo.dita index a894159f1c8..5ac92c431c6 100644 --- a/dita/RTC-NG/API/class_srcinfo.dita +++ b/dita/RTC-NG/API/class_srcinfo.dita @@ -12,13 +12,7 @@ public SrcInfo() {} } - export class SrcInfo -{ - - public bitrateInKbps:number = 0 - - public name:string = "" -} + __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject @property(assign, nonatomic) int bitrateInKbps; @property(copy, nonatomic) NSString *_Nullable name; diff --git a/dita/RTC-NG/API/class_transcodinguser.dita b/dita/RTC-NG/API/class_transcodinguser.dita index a3b58b42732..926cc5a718e 100644 --- a/dita/RTC-NG/API/class_transcodinguser.dita +++ b/dita/RTC-NG/API/class_transcodinguser.dita @@ -212,21 +212,21 @@ public:

        主播的用户 ID。

        - + x

        主播视频画面在输出视频画面的 x 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

        - + y 主播视频画面在输出视频画面的 y 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height - + width 主播视频画面的宽 (px)。 - + height

        主播视频画面的高 (px)。

        diff --git a/dita/RTC-NG/API/class_useraudiospectruminfo.dita b/dita/RTC-NG/API/class_useraudiospectruminfo.dita index d2318438266..cfda2556d3c 100644 --- a/dita/RTC-NG/API/class_useraudiospectruminfo.dita +++ b/dita/RTC-NG/API/class_useraudiospectruminfo.dita @@ -11,7 +11,7 @@ private AudioSpectrumInfo audioSpectrumInfo; }
        - + __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject @property(nonatomic, assign) NSInteger uid; @@ -77,9 +77,9 @@ struct FUserAudioSpectrumInfo { audioSpectrumData spectrumData -

        远端用户的音频频谱数据。详见

        +

        远端用户的音频频谱数据。详见

    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/class_videocanvas.dita b/dita/RTC-NG/API/class_videocanvas.dita index 8ac957f7c5f..626674e9f34 100644 --- a/dita/RTC-NG/API/class_videocanvas.dita +++ b/dita/RTC-NG/API/class_videocanvas.dita @@ -58,7 +58,6 @@ public uid:number = 0; public renderMode:number = VideoCanvas.RENDER_MODE_HIDDEN; public mirrorMode:number = 0; - public sourceType:Constants.VideoSourceType = Constants.VideoSourceType.CAMERA_PRIMARY; constructor(componentId:string) { this.xcomponentId = componentId; } @@ -287,7 +286,7 @@ class VideoCanvas { 当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。
    - + subviewUid 发布某一路合图子视频流的用户 ID。 预留参数。 @@ -335,7 +334,7 @@ class VideoCanvas { sourceType 视频源的类型,详见 - + setupMode 视图设置模式。详见 视图设置模式: @@ -350,7 +349,7 @@ class VideoCanvas { 媒体播放器 ID。可通过 获取。 sourceType 时,此参数为必填项。 - + rect (可选)视频帧的展示区域。详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 @@ -362,11 +361,11 @@ class VideoCanvas { cropArea (可选)视频帧的展示区域,详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - + backgroundColor 视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表完全透明的黑色。 - + enableAlphaMask (可选)是否开启 Alpha 遮罩渲染:
      @@ -382,7 +381,7 @@ class VideoCanvas { 预留。 - + position 视频帧在视频链路中的位置。详见 diff --git a/dita/RTC-NG/API/class_videodenoiseroptions.dita b/dita/RTC-NG/API/class_videodenoiseroptions.dita index fbf71090e43..8aa969e86d3 100644 --- a/dita/RTC-NG/API/class_videodenoiseroptions.dita +++ b/dita/RTC-NG/API/class_videodenoiseroptions.dita @@ -50,21 +50,32 @@ }; USTRUCT(BlueprintType) -struct FUABT_VideoDenoiserOptions +struct FVideoDenoiserOptions { GENERATED_BODY() - public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_VIDEO_DENOISER_MODE mode = EUABT_VIDEO_DENOISER_MODE::VIDEO_DENOISER_AUTO; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_VIDEO_DENOISER_LEVEL level = EUABT_VIDEO_DENOISER_LEVEL ::VIDEO_DENOISER_LEVEL_HIGH_QUALITY; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoDenoiserOptions") + EVIDEO_DENOISER_MODE mode = EVIDEO_DENOISER_MODE::VIDEO_DENOISER_AUTO; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoDenoiserOptions") + EVIDEO_DENOISER_LEVEL level = EVIDEO_DENOISER_LEVEL::VIDEO_DENOISER_LEVEL_HIGH_QUALITY; + FVideoDenoiserOptions(){} + FVideoDenoiserOptions(const agora::rtc::VideoDenoiserOptions & AgoraData){ + mode = static_cast<EVIDEO_DENOISER_MODE>(AgoraData.mode); + level = static_cast<EVIDEO_DENOISER_LEVEL>(AgoraData.level); + } + agora::rtc::VideoDenoiserOptions CreateAgoraData() const { + agora::rtc::VideoDenoiserOptions AgoraData; + AgoraData.mode = static_cast<agora::rtc::VideoDenoiserOptions::VIDEO_DENOISER_MODE>(mode); + AgoraData.level = static_cast<agora::rtc::VideoDenoiserOptions::VIDEO_DENOISER_LEVEL>(level); + return AgoraData; + } + void FreeAgoraData(agora::rtc::VideoDenoiserOptions& AgoraData) const { + } }; export class VideoDenoiserOptions { - + mode?: VideoDenoiserMode; - + level?: VideoDenoiserLevel; } public class VideoDenoiserOptions @@ -85,9 +96,9 @@ public: } }; export class VideoDenoiserOptions { - + mode?: VideoDenoiserMode; - + level?: VideoDenoiserLevel; } class VideoDenoiserOptions { @@ -103,7 +114,7 @@ public: _$VideoDenoiserOptionsFromJson(json); Map<String, dynamic> toJson() => _$VideoDenoiserOptionsToJson(this); -} +}

    @@ -115,6 +126,7 @@ public:
    • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
    • (1):优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。
    • +
    • (2):强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用该设置。
    @@ -129,4 +141,4 @@ public:
    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/class_videoencoderconfiguration.dita b/dita/RTC-NG/API/class_videoencoderconfiguration.dita index f659d2dee3a..c05e0a09590 100644 --- a/dita/RTC-NG/API/class_videoencoderconfiguration.dita +++ b/dita/RTC-NG/API/class_videoencoderconfiguration.dita @@ -80,7 +80,6 @@ } } public enum COMPRESSION_PREFERENCE { - PREFER_COMPRESSION_AUTO(-1), PREFER_LOW_LATENCY(0), PREFER_QUALITY(1); private int value; @@ -103,12 +102,11 @@ } public AdvanceOptions() { this.encodingPreference = ENCODING_PREFERENCE.PREFER_AUTO; - this.compressionPreference = COMPRESSION_PREFERENCE.PREFER_COMPRESSION_AUTO; + this.compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; this.encodeAlpha = false; } } public enum DEGRADATION_PREFERENCE { - MAINTAIN_AUTO(-1), MAINTAIN_QUALITY(0), MAINTAIN_FRAMERATE(1), MAINTAIN_BALANCED(2), @@ -155,6 +153,7 @@ VIDEO_CODEC_H264(2), VIDEO_CODEC_H265(3), VIDEO_CODEC_GENERIC(6), + VIDEO_CODEC_GENERIC_H264(7), VIDEO_CODEC_AV1(12), VIDEO_CODEC_VP9(13), VIDEO_CODEC_GENERIC_JPEG(20); @@ -188,10 +187,10 @@ this.bitrate = STANDARD_BITRATE; this.minBitrate = DEFAULT_MIN_BITRATE; this.orientationMode = ORIENTATION_MODE.ORIENTATION_MODE_ADAPTIVE; - this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_AUTO; + this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_QUALITY; this.mirrorMode = MIRROR_MODE_TYPE.MIRROR_MODE_DISABLED; this.advanceOptions = new AdvanceOptions( - ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_COMPRESSION_AUTO, false); + ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY, false); this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_NONE; } public VideoEncoderConfiguration(VideoDimensions dimensions, FRAME_RATE frameRate, int bitrate, @@ -202,10 +201,10 @@ this.bitrate = bitrate; this.minBitrate = DEFAULT_MIN_BITRATE; this.orientationMode = orientationMode; - this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_AUTO; + this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_QUALITY; this.mirrorMode = MIRROR_MODE_TYPE.MIRROR_MODE_DISABLED; this.advanceOptions = new AdvanceOptions( - ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_COMPRESSION_AUTO, false); + ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY, false); this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_NONE; } public VideoEncoderConfiguration(VideoDimensions dimensions, FRAME_RATE frameRate, int bitrate, @@ -216,10 +215,10 @@ this.bitrate = bitrate; this.minBitrate = DEFAULT_MIN_BITRATE; this.orientationMode = orientationMode; - this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_AUTO; + this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_QUALITY; this.mirrorMode = mirrorMode; this.advanceOptions = new AdvanceOptions( - ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_COMPRESSION_AUTO, false); + ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY, false); this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_NONE; } public VideoEncoderConfiguration( @@ -230,10 +229,10 @@ this.bitrate = bitrate; this.minBitrate = DEFAULT_MIN_BITRATE; this.orientationMode = orientationMode; - this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_AUTO; + this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_QUALITY; this.mirrorMode = MIRROR_MODE_TYPE.MIRROR_MODE_DISABLED; this.advanceOptions = new AdvanceOptions( - ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_COMPRESSION_AUTO, false); + ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY, false); this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_NONE; } public VideoEncoderConfiguration(int width, int height, FRAME_RATE frameRate, int bitrate, @@ -244,10 +243,10 @@ this.bitrate = bitrate; this.minBitrate = DEFAULT_MIN_BITRATE; this.orientationMode = orientationMode; - this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_AUTO; + this.degradationPrefer = DEGRADATION_PREFERENCE.MAINTAIN_QUALITY; this.mirrorMode = mirrorMode; this.advanceOptions = new AdvanceOptions( - ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_COMPRESSION_AUTO, false); + ENCODING_PREFERENCE.PREFER_AUTO, COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY, false); this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_NONE; } }
    @@ -302,9 +301,9 @@ bitrate(b), minBitrate(DEFAULT_MIN_BITRATE), orientationMode(m), - degradationPreference(MAINTAIN_AUTO), + degradationPreference(MAINTAIN_QUALITY), mirrorMode(mirror), - advanceOptions(PREFER_AUTO, PREFER_COMPRESSION_AUTO, false) {} + advanceOptions(PREFER_AUTO, PREFER_LOW_LATENCY, false) {} VideoEncoderConfiguration(int width, int height, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror = VIDEO_MIRROR_MODE_DISABLED) : codecType(VIDEO_CODEC_NONE), dimensions(width, height), @@ -312,19 +311,19 @@ bitrate(b), minBitrate(DEFAULT_MIN_BITRATE), orientationMode(m), - degradationPreference(MAINTAIN_AUTO), + degradationPreference(MAINTAIN_QUALITY), mirrorMode(mirror), - advanceOptions(PREFER_AUTO, PREFER_COMPRESSION_AUTO, false) {} + advanceOptions(PREFER_AUTO, PREFER_LOW_LATENCY, false) {} VideoEncoderConfiguration(const VideoEncoderConfiguration& config) - : codecType(config.codecType), - dimensions(config.dimensions), - frameRate(config.frameRate), - bitrate(config.bitrate), - minBitrate(config.minBitrate), - orientationMode(config.orientationMode), - degradationPreference(config.degradationPreference), - mirrorMode(config.mirrorMode), - advanceOptions(config.advanceOptions) {} + : codecType(config.codecType), + dimensions(config.dimensions), + frameRate(config.frameRate), + bitrate(config.bitrate), + minBitrate(config.minBitrate), + orientationMode(config.orientationMode), + degradationPreference(config.degradationPreference), + mirrorMode(config.mirrorMode), + advanceOptions(config.advanceOptions) {} VideoEncoderConfiguration() : codecType(VIDEO_CODEC_NONE), dimensions(FRAME_WIDTH_960, FRAME_HEIGHT_540), @@ -332,9 +331,9 @@ bitrate(STANDARD_BITRATE), minBitrate(DEFAULT_MIN_BITRATE), orientationMode(ORIENTATION_MODE_ADAPTIVE), - degradationPreference(MAINTAIN_AUTO), + degradationPreference(MAINTAIN_QUALITY), mirrorMode(VIDEO_MIRROR_MODE_DISABLED), - advanceOptions(PREFER_AUTO, PREFER_COMPRESSION_AUTO, false) {} + advanceOptions(PREFER_AUTO, PREFER_LOW_LATENCY, false) {} VideoEncoderConfiguration& operator=(const VideoEncoderConfiguration& rhs) { if (this == &rhs) return *this; codecType = rhs.codecType; @@ -350,47 +349,74 @@ } }; USTRUCT(BlueprintType) -struct FUABT_VideoEncoderConfiguration +struct FVideoEncoderConfiguration { GENERATED_BODY() - public: - - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_VIDEO_CODEC_TYPE codecType = EUABT_VIDEO_CODEC_TYPE::VIDEO_CODEC_NONE; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - FUABT_VideoDimensions dimensions = FUABT_VideoDimensions(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") + EVIDEO_CODEC_TYPE codecType = EVIDEO_CODEC_TYPE::VIDEO_CODEC_NONE; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") + FVideoDimensions dimensions = FVideoDimensions(); + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") int frameRate = 15; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") int bitrate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") int minBitrate = -1; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_ORIENTATION_MODE orientationMode = EUABT_ORIENTATION_MODE::ORIENTATION_MODE_ADAPTIVE; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_DEGRADATION_PREFERENCE degradationPreference = EUABT_DEGRADATION_PREFERENCE::MAINTAIN_QUALITY; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - EUABT_VIDEO_MIRROR_MODE_TYPE mirrorMode = EUABT_VIDEO_MIRROR_MODE_TYPE::VIDEO_MIRROR_MODE_DISABLED; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - FUABT_AdvanceOptions advanceOptions = FUABT_AdvanceOptions(); + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") + EORIENTATION_MODE orientationMode = EORIENTATION_MODE::ORIENTATION_MODE_ADAPTIVE; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") + EDEGRADATION_PREFERENCE degradationPreference = EDEGRADATION_PREFERENCE::MAINTAIN_QUALITY; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") + EVIDEO_MIRROR_MODE_TYPE mirrorMode = EVIDEO_MIRROR_MODE_TYPE::VIDEO_MIRROR_MODE_DISABLED; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") + FAdvanceOptions advanceOptions = FAdvanceOptions(); + FVideoEncoderConfiguration(){} + FVideoEncoderConfiguration(const agora::rtc::VideoEncoderConfiguration & AgoraData){ + codecType = static_cast<EVIDEO_CODEC_TYPE>(AgoraData.codecType); + dimensions = FVideoDimensions(AgoraData.dimensions); + frameRate = AgoraData.frameRate; + bitrate = AgoraData.bitrate; + minBitrate = AgoraData.minBitrate; + orientationMode = static_cast<EORIENTATION_MODE>(AgoraData.orientationMode); + degradationPreference = static_cast<EDEGRADATION_PREFERENCE>(AgoraData.degradationPreference); + mirrorMode = static_cast<EVIDEO_MIRROR_MODE_TYPE>(AgoraData.mirrorMode); + advanceOptions = FAdvanceOptions(AgoraData.advanceOptions); + } + agora::rtc::VideoEncoderConfiguration CreateAgoraData() const { + agora::rtc::VideoEncoderConfiguration AgoraData; + AgoraData.codecType = static_cast<agora::rtc::VIDEO_CODEC_TYPE>(codecType); + AgoraData.dimensions = dimensions.CreateAgoraData(); + AgoraData.frameRate = frameRate; + AgoraData.bitrate = bitrate; + AgoraData.minBitrate = minBitrate; + AgoraData.orientationMode = static_cast<agora::rtc::ORIENTATION_MODE>(orientationMode); + AgoraData.degradationPreference = static_cast<agora::rtc::DEGRADATION_PREFERENCE>(degradationPreference); + AgoraData.mirrorMode = static_cast<agora::rtc::VIDEO_MIRROR_MODE_TYPE>(mirrorMode); + AgoraData.advanceOptions = advanceOptions.CreateAgoraData(); + return AgoraData; + } + void FreeAgoraData(agora::rtc::VideoEncoderConfiguration& AgoraData) const { + dimensions.FreeAgoraData(AgoraData.dimensions); + advanceOptions.FreeAgoraData(AgoraData.advanceOptions); + } }; export class VideoEncoderConfiguration { - + codecType?: VideoCodecType; - + dimensions?: VideoDimensions; - + frameRate?: number; - + bitrate?: number; - + minBitrate?: number; - + orientationMode?: OrientationMode; - + degradationPreference?: DegradationPreference; - + mirrorMode?: VideoMirrorModeType; advanceOptions?: AdvanceOptions; @@ -473,21 +499,21 @@ public: } } export class VideoEncoderConfiguration { - + codecType?: VideoCodecType; - + dimensions?: VideoDimensions; - + frameRate?: number; - + bitrate?: number; - + minBitrate?: number; - + orientationMode?: OrientationMode; - + degradationPreference?: DegradationPreference; - + mirrorMode?: VideoMirrorModeType; advanceOptions?: AdvanceOptions; @@ -535,7 +561,7 @@ public: _$VideoEncoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); -} +}

    @@ -544,9 +570,9 @@ public: dimensions -

    视频编码的分辨率 (px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 960 × 540。用户可以自行设置分辨率。

    -

    用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率: - +

    视频编码的分辨率(px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 960 × 540。用户可以自行设置分辨率。

    +

    用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率: +

    • :视频分辨率为 120 × 120。
    • :视频分辨率为 160 × 120。
    • @@ -615,7 +641,7 @@ public: degradationPreference - 带宽受限时,视频编码降级偏好。详见 。 + 带宽受限时,视频编码降级偏好。详见 当该参数设置为 (1) 或者 (2) 时,需要同时将 orientationMode 设置为 (0),否则设置不生效。 diff --git a/dita/RTC-NG/API/class_videoframe.dita b/dita/RTC-NG/API/class_videoframe.dita index 41b754df902..d1cf26dfd1d 100644 --- a/dita/RTC-NG/API/class_videoframe.dita +++ b/dita/RTC-NG/API/class_videoframe.dita @@ -7,61 +7,42 @@

      public class VideoFrame implements RefCounted { - public interface Buffer extends RefCounted { - - @CalledByNative("Buffer") int getWidth(); - - @CalledByNative("Buffer") int getHeight(); - - @CalledByNative("Buffer") I420Buffer toI420(); - - @Override @CalledByNative("Buffer") void release(); - - @Override @CalledByNative("Buffer") void retain(); - - @CalledByNative("Buffer") + @CalledByNative("Buffer") int getWidth(); + @CalledByNative("Buffer") int getHeight(); + @CalledByNative("Buffer") I420Buffer toI420(); + @Override @CalledByNative("Buffer") void release(); + @Override @CalledByNative("Buffer") void retain(); + @CalledByNative("Buffer") Buffer cropAndScale( int cropX, int cropY, int cropWidth, int cropHeight, int scaleWidth, int scaleHeight); - - @CalledByNative("Buffer") @Nullable Buffer mirror(int frameRotation); - - @CalledByNative("Buffer") @Nullable Buffer rotate(int frameRotation); - - @CalledByNative("Buffer") + @CalledByNative("Buffer") @Nullable Buffer mirror(int frameRotation); + @CalledByNative("Buffer") @Nullable Buffer rotate(int frameRotation); + @CalledByNative("Buffer") @Nullable Buffer transform(int cropX, int cropY, int cropWidth, int cropHeight, int scaleWidth, int scaleHeight, int frameRotation); } - public interface I420Buffer extends Buffer { - - @CalledByNative("I420Buffer") ByteBuffer getDataY(); - - @CalledByNative("I420Buffer") ByteBuffer getDataU(); - - @CalledByNative("I420Buffer") ByteBuffer getDataV(); - @CalledByNative("I420Buffer") int getStrideY(); - @CalledByNative("I420Buffer") int getStrideU(); - @CalledByNative("I420Buffer") int getStrideV(); + @CalledByNative("I420Buffer") ByteBuffer getDataY(); + @CalledByNative("I420Buffer") ByteBuffer getDataU(); + @CalledByNative("I420Buffer") ByteBuffer getDataV(); + @CalledByNative("I420Buffer") int getStrideY(); + @CalledByNative("I420Buffer") int getStrideU(); + @CalledByNative("I420Buffer") int getStrideV(); } - public interface I422Buffer extends Buffer { - @CalledByNative("I422Buffer") ByteBuffer getDataY(); - @CalledByNative("I422Buffer") ByteBuffer getDataU(); - @CalledByNative("I422Buffer") ByteBuffer getDataV(); - @CalledByNative("I422Buffer") int getStrideY(); - @CalledByNative("I422Buffer") int getStrideU(); - @CalledByNative("I422Buffer") int getStrideV(); - } - public interface RgbaBuffer extends Buffer { @CalledByNative("RgbaBuffer") ByteBuffer getData(); } - + @CalledByNative("I422Buffer") ByteBuffer getDataY(); + @CalledByNative("I422Buffer") ByteBuffer getDataU(); + @CalledByNative("I422Buffer") ByteBuffer getDataV(); + @CalledByNative("I422Buffer") int getStrideY(); + @CalledByNative("I422Buffer") int getStrideU(); + @CalledByNative("I422Buffer") int getStrideV(); + } + public interface RgbaBuffer extends Buffer { @CalledByNative("RgbaBuffer") ByteBuffer getData(); } public interface TextureBuffer extends Buffer { - enum Type { - OES(GLES11Ext.GL_TEXTURE_EXTERNAL_OES), - RGB(GLES20.GL_TEXTURE_2D); private final int glTarget; private Type(final int glTarget) { @@ -76,26 +57,22 @@ EGL_CONTEXT_14; } Type getType(); - - @CalledByNative("TextureBuffer") int getTextureId(); - + @CalledByNative("TextureBuffer") int getTextureId(); Matrix getTransformMatrix(); - - @CalledByNative("TextureBuffer") EglBase.Context getEglBaseContext(); - @CalledByNative("TextureBuffer") Object getSourceTexturePool(); - @CalledByNative("TextureBuffer") long getNativeEglContext(); - @CalledByNative("TextureBuffer") int getEglContextType(); - @CalledByNative("TextureBuffer") float[] getTransformMatrixArray(); - - @CalledByNative("TextureBuffer") int getSequence(); - @CalledByNative("TextureBuffer") long getFenceObject(); - @CalledByNative("TextureBuffer") boolean is10BitTexture(); + @CalledByNative("TextureBuffer") EglBase.Context getEglBaseContext(); + @CalledByNative("TextureBuffer") Object getSourceTexturePool(); + @CalledByNative("TextureBuffer") long getNativeEglContext(); + @CalledByNative("TextureBuffer") int getEglContextType(); + @CalledByNative("TextureBuffer") float[] getTransformMatrixArray(); + @CalledByNative("TextureBuffer") int getSequence(); + @CalledByNative("TextureBuffer") boolean is10BitTexture(); } public interface ColorSpace { enum Range { Invalid(0), Limited(1), - Full(2); + Full(2), + Derived(3); private final int range; private Range(int range) { this.range = range; @@ -184,55 +161,32 @@ kBackCamera, kUnspecified, } - public enum AlphaStitchMode { - ALPHA_NO_STITCH(0), - ALPHA_STITCH_UP(1), - ALPHA_STITCH_BELOW(2), - ALPHA_STITCH_LEFT(3), - ALPHA_STITCH_RIGHT(4); - private final int stitchMode; - private AlphaStitchMode(int stitchMode) { - this.stitchMode = stitchMode; - } - public int value() { - return stitchMode; - } - } - private Buffer buffer; - private int rotation; - private long timestampNs; private ColorSpace colorSpace; private SourceType sourceType; private float sampleAspectRatio; - - private AlphaStitchMode alphaStitchMode = AlphaStitchMode.ALPHA_NO_STITCH; private VideoFrameMetaInfo metaInfo = new VideoFrameMetaInfo(); - private @Nullable ByteBuffer alphaBuffer; - private long nativeAlphaBuffer; - + private int alphaStitchMode; public VideoFrame(Buffer buffer, int rotation, long timestampNs) { - this(buffer, rotation, timestampNs, new WrappedNativeColorSpace(), null, 0L, 1.0f, - SourceType.kUnspecified.ordinal()); + this(buffer, rotation, timestampNs, new WrappedNativeColorSpace(), null, 0L, 1.0f, SourceType.kUnspecified.ordinal()); } @CalledByNative public VideoFrame(Buffer buffer, int rotation, long timestampNs, ColorSpace colorSpace, - ByteBuffer alphaBuffer, long nativeAlphaBuffer, float sampleAspectRatio, int sourceType) { + ByteBuffer alphaBuffer, float sampleAspectRatio, int sourceType) { if (buffer == null) { - throw new IllegalArgumentException("buffer not allowed to be null"); + throw new IllegalArgumentException("buffer not allowed to be null"); } if (rotation % 90 != 0) { - throw new IllegalArgumentException("rotation must be a multiple of 90"); + throw new IllegalArgumentException("rotation must be a multiple of 90"); } this.buffer = buffer; this.rotation = rotation; this.timestampNs = timestampNs; this.colorSpace = colorSpace; this.alphaBuffer = alphaBuffer; - this.nativeAlphaBuffer = nativeAlphaBuffer; this.sampleAspectRatio = sampleAspectRatio; this.sourceType = SourceType.values()[sourceType]; } @@ -243,25 +197,18 @@ public float getSampleAspectRatio() { return sampleAspectRatio; } - @CalledByNative public Buffer getBuffer() { return buffer; } - @CalledByNative public int getRotation() { return rotation; } @CalledByNative public int getAlphaStitchMode() { - return alphaStitchMode.value(); - } - @CalledByNative - public void setAlphaStitchMode(int stitchMode) { - alphaStitchMode = AlphaStitchMode.values()[stitchMode]; + return alphaStitchMode; } - @CalledByNative public long getTimestampNs() { return timestampNs; @@ -270,93 +217,41 @@ public VideoFrameMetaInfo getMetaInfo() { return metaInfo; } - public int getRotatedWidth() { if (rotation % 180 == 0) { - return (alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_LEFT - || alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_RIGHT) - ? buffer.getWidth() / 2 - : buffer.getWidth(); + return buffer.getWidth(); } - return (alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_UP - || alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_BELOW) - ? buffer.getHeight() / 2 - : buffer.getHeight(); + return buffer.getHeight(); } - public int getRotatedHeight() { if (rotation % 180 == 0) { - return (alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_UP - || alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_BELOW) - ? buffer.getHeight() / 2 - : buffer.getHeight(); + return buffer.getHeight(); } - return (alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_LEFT - || alphaStitchMode == AlphaStitchMode.ALPHA_STITCH_RIGHT) - ? buffer.getWidth() / 2 - : buffer.getWidth(); + return buffer.getWidth(); } - public void replaceBuffer(Buffer buffer, int rotation, long timestampNs) { release(); this.buffer = buffer; this.rotation = rotation; this.timestampNs = timestampNs; } - @CalledByNative public ColorSpace getColorSpace() { return colorSpace; } - public void setColorSpace(ColorSpace colorSpace) { - this.colorSpace = colorSpace; - } - @CalledByNative - private int getColorSpaceRange() { - if (colorSpace == null) { - return ColorSpace.Range.Invalid.getRange(); - } - return colorSpace.getRange().getRange(); - } - @CalledByNative - private int getColorSpaceMatrix() { - if (colorSpace == null) { - return ColorSpace.Matrix.Unspecified.getMatrix(); - } - return colorSpace.getMatrix().getMatrix(); - } - @CalledByNative - private int getColorSpaceTransfer() { - if (colorSpace == null) { - return ColorSpace.Transfer.Unspecified.getTransfer(); - } - return colorSpace.getTransfer().getTransfer(); - } - @CalledByNative - private int getColorSpacePrimary() { - if (colorSpace == null) { - return ColorSpace.Primary.Unspecified.getPrimary(); - } - return colorSpace.getPrimary().getPrimary(); - } @CalledByNative public ByteBuffer getAlphaBuffer() { return alphaBuffer; } - public void retainAlphaBuffer() { - JniCommon.nativeAddRef(nativeAlphaBuffer); - } - public void releaseAlphaBuffer() { - JniCommon.nativeReleaseRef(nativeAlphaBuffer); - } public void fillAlphaData(ByteBuffer buffer) { alphaBuffer = buffer; } - + public void setAlphaStitchMode(int mode) { + this.alphaStitchMode = mode; + } @Override public void retain() { buffer.retain(); } - @Override @CalledByNative public void release() { @@ -368,23 +263,22 @@ public yBuffer: ArrayBuffer | null = null; public uBuffer: ArrayBuffer | null = null; public vBuffer: ArrayBuffer | null = null; - public rotation:number = 0; public timestamp:number = 0; - public yStride:number = 0; + public stride:number = 0; public uStride:number = 0; public vStride:number = 0; public width:number = 0; public height:number = 0; - public type:VideoBufferType = VideoBufferType.RAW_DATA; + public type:VideoBufferType = VideoBufferType.VIDEO_BUFFER_RAW_DATA; public format:VideoPixelFormat = VideoPixelFormat.VIDEO_PIXEL_NV21; + public faceInfo:Array<FaceDetectionInfo> | undefined = undefined; constructor(type:VideoBufferType,format:VideoPixelFormat) { this.type = type; this.format = format; } } - __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject - + __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject @property (nonatomic, assign) NSInteger type; @property (nonatomic, assign) int width; @property (nonatomic, assign) int height; @@ -397,16 +291,12 @@ @property (nonatomic, assign) int rotation; @property (nonatomic, assign) int64_t renderTimeMs; @property (nonatomic, assign) int avSyncType; - @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer; @property (nonatomic, assign) uint8_t* _Nullable alphaBuffer; @property (nonatomic, assign) AgoraAlphaStitchMode alphaStitchMode; - @property(nonatomic, strong) NSDictionary *_Nonnull metaInfo; -@property(nonatomic, strong) AgoraColorSpace* _Nullable colorSpace; @end - -struct VideoFrame { + struct VideoFrame { VideoFrame(): type(VIDEO_PIXEL_DEFAULT), width(0), @@ -426,57 +316,33 @@ struct VideoFrame { textureId(0), d3d11Texture2d(NULL), alphaBuffer(NULL), - alphaStitchMode(NO_ALPHA_STITCH), + alphaStitchMode(0), pixelBuffer(NULL), metaInfo(NULL){ memset(matrix, 0, sizeof(matrix)); } - VIDEO_PIXEL_FORMAT type; - int width; - int height; - int yStride; - int uStride; - int vStride; - uint8_t* yBuffer; - uint8_t* uBuffer; - uint8_t* vBuffer; - int rotation; - int64_t renderTimeMs; - int avsync_type; - uint8_t* metadata_buffer; - int metadata_size; - void* sharedContext; - int textureId; - void* d3d11Texture2d; - float matrix[16]; - uint8_t* alphaBuffer; - - ALPHA_STITCH_MODE alphaStitchMode; - + int alphaStitchMode; void* pixelBuffer; - IVideoFrameMetaInfo* metaInfo; - - ColorSpace colorSpace; }; USTRUCT(BlueprintType) struct FVideoFrame { @@ -559,7 +425,6 @@ struct FVideoFrame { alphaStitchMode?: AlphaStitchMode; - colorSpace?: ColorSpace; } public class VideoFrame { @@ -608,10 +473,6 @@ struct FVideoFrame { public byte[] alphaBuffer; public ALPHA_STITCH_MODE alphaStitchMode; - - public IVideoFrameMetaInfo metaInfo; - - public ColorSpace colorSpace; }; export class VideoFrame { @@ -651,7 +512,6 @@ struct FVideoFrame { alphaStitchMode?: AlphaStitchMode; - colorSpace?: ColorSpace; } @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrame { @@ -675,8 +535,7 @@ class VideoFrame { this.alphaBuffer, this.alphaStitchMode, this.pixelBuffer, - this.metaInfo; - this.colorSpace}); + this.metaInfo}); @JsonKey(name: 'type') final VideoPixelFormat? type; @@ -739,9 +598,6 @@ class VideoFrame { @JsonKey(name: 'metaInfo') final VideoFrameMetaInfo? metaInfo; - @JsonKey(name: 'colorSpace') - final ColorSpace? colorSpace; - factory VideoFrame.fromJson(Map<String, dynamic> json) => _$VideoFrameFromJson(json); @@ -755,51 +611,46 @@ class VideoFrame {

      <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - type - 视频类型。详见 - - - format - type - 像素格式。详见 + + type + 像素格式。详见 - + width 视频像素宽度。 - + height 视频像素高度。 - + yStride 对 YUV 数据,表示 Y 缓冲区的行跨度;对 RGBA 数据,表示总的数据长度。 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 - + uStride 对 YUV 数据,表示 U 缓冲区的行跨度;对 RGBA 数据,值为 0。 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 - + vStride 对 YUV 数据,表示 V 缓冲区的行跨度;对 RGBA 数据,值为 0。 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 - + yBuffer 对 YUV 数据,表示 Y 缓冲区的指针;对 RGBA 数据,表示数据缓冲区。 - + uBuffer 对 YUV 数据,表示 U 缓冲区的指针;对 RGBA 数据,值为空。 - + vBuffer 对 YUV 数据,表示 V 缓冲区的指针;对 RGBA 数据,值为空。 @@ -876,16 +727,9 @@ class VideoFrame { pixelBuffer 将数据填充到 CVPixelBuffer。 - - colorSpace - 视频帧的色彩空间属性,默认情况下会应用 Full Range 和 BT.709 标准配置。你可以根据自定义采集、自定义渲染的业务需求进行自定义设置,详见 - 视频帧的色彩空间属性,默认情况下会应用 Full Range 和 BT.709 标准配置。你可以根据自定义采集、自定义渲染的业务需求进行自定义设置,详见 。与该参数相关的方法如下所示: -
        -
      • getColorSpace:获取视频帧的色彩空间属性。
      • -
      • setColorSpace:设置视频帧的色彩空间属性。
      • -
      + + colorSpace + 表示视频帧的色彩空间。详见 sourceType @@ -906,8 +750,7 @@ class VideoFrame {

      采用人像分割算法输出的 Alpha 通道数据。该数据跟视频帧的尺寸一致,每个像素点的取值范围为 [0,255],其中 0 代表背景;255 代表前景(人像)。

      你可以通过设置该参数,实现将视频背景自渲染为各种效果,例如:透明、纯色、图片、视频等。

      -
      • 在自定义视频渲染场景下,需确保传入的视频帧和 alphaBuffer 均为 Full Range 类型;其他类型可能导致 Alpha 数据渲染不正常。
      • -
      • 请务必确保 alphaBufferalphaBuf 跟视频帧的尺寸 (width × height) 完全一致,否则可能会导致 App 崩溃。
      + 在自定义视频渲染场景下,需确保传入的视频帧和 alphaBuffer 均为 Full Range 类型;其他类型可能导致 Alpha 数据渲染不正常。
      diff --git a/dita/RTC-NG/API/class_videosubscriptionoptions.dita b/dita/RTC-NG/API/class_videosubscriptionoptions.dita index 6b85ae01e36..02a8b7d2217 100644 --- a/dita/RTC-NG/API/class_videosubscriptionoptions.dita +++ b/dita/RTC-NG/API/class_videosubscriptionoptions.dita @@ -45,7 +45,7 @@ __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject @property (nonatomic, assign) AgoraVideoStreamType type; -@property (nonatomic, assign) BOOL encodedFrameOnly; +@property (nonatomic, assign) bool encodedFrameOnly; @end struct VideoSubscriptionOptions { @@ -119,7 +119,13 @@ public: streamType type - 订阅的视频流类型,默认值为 ,即订阅视频大流。详见 + 订阅的视频流类型,默认值为 ,即订阅视频大流。详见 + 订阅的视频流类型: +
        +
      • (0): (默认)视频大流,即高分辨率、高码率视频流。
      • +
      • (1): 视频小流,即低分辨率、低码率视频流。
      • +
      +
      encodedFrameOnly diff --git a/dita/RTC-NG/API/class_virtualbackgroundsource.dita b/dita/RTC-NG/API/class_virtualbackgroundsource.dita index d2b16d43304..d24a34605bc 100644 --- a/dita/RTC-NG/API/class_virtualbackgroundsource.dita +++ b/dita/RTC-NG/API/class_virtualbackgroundsource.dita @@ -36,29 +36,13 @@
      export class VirtualBackgroundSource { - public static readonly BACKGROUND_NONE:number = 0; - - public static readonly BACKGROUND_COLOR:number = 1; - - public static readonly BACKGROUND_IMG:number = 2; - - public static readonly BACKGROUND_BLUR:number = 3; - - public static readonly BACKGROUND_VIDEO:number = 4; - - public static readonly BLUR_DEGREE_LOW:number = 1; - - public static readonly BLUR_DEGREE_MEDIUM:number = 2; - - public static readonly BLUR_DEGREE_HIGH:number = 3; - - public backgroundSourceType:number = VirtualBackgroundSource.BACKGROUND_COLOR; + public backgroundSourceType: Constants.VirtualBackgroundType = Constants.VirtualBackgroundType.COLOR; public color:number = 0xffffff; - public source?:string; + public source:string | null = null; - public blurDegree:number = VirtualBackgroundSource.BLUR_DEGREE_HIGH; + public blurDegree:Constants.VirtualBackgroundBlurDegree = Constants.VirtualBackgroundBlurDegree.HIGH; } __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType); @@ -174,7 +158,7 @@ public: <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - backgroundSourceType + backgroundSourceType background_source_type 自定义的背景。详见
        @@ -201,7 +185,7 @@ public: 该参数仅在自定义背景图类型为 时生效。 - blurDegree + blurDegree blur_degree 自定义背景图的模糊程度。详见
          @@ -213,4 +197,4 @@ public:
      - + \ No newline at end of file diff --git a/dita/RTC-NG/API/enum_audioscenariotype.dita b/dita/RTC-NG/API/enum_audioscenariotype.dita index 965578f3cae..5746fa3ad95 100644 --- a/dita/RTC-NG/API/enum_audioscenariotype.dita +++ b/dita/RTC-NG/API/enum_audioscenariotype.dita @@ -22,7 +22,7 @@ 7: 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 - 使用该枚举前,你需要调用 获取音频设备是否支持极低延时采集和播放。只有在支持极低延时(isLowLatencyAudioSupported = )的音频设备上,才能够体验到极低延时。 + 使用该枚举前,你需要调用 获取音频设备是否支持极低延时采集和播放。只有在支持极低延时(isLowLatencyAudioSupported = )的音频设备上,才能够体验到极低延时。 diff --git a/dita/RTC-NG/API/enum_audiosourcetype.dita b/dita/RTC-NG/API/enum_audiosourcetype.dita deleted file mode 100644 index 4ea3a50f5ce..00000000000 --- a/dita/RTC-NG/API/enum_audiosourcetype.dita +++ /dev/null @@ -1,53 +0,0 @@ - - - - <ph keyref="AUDIO_SOURCE_TYPE"/> - 音频源类型。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0:(默认)麦克风。 - - - - 1:自定义采集到的音频流。 - - - - 2:媒体播放器。 - - - - 3:在屏幕共享时采集的系统音频流。 - - - - - 4:已进行过合流的音频流。 - - - - 5:指定远端用户的音频流。 - - - - 6:当前频道内所有音频流的合流。 - - - - 100:未知的音频源。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita index c83bd84fe61..6ae3992dfe4 100644 --- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita +++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita @@ -7,7 +7,7 @@
      枚举值 - + 0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。 diff --git a/dita/RTC-NG/API/enum_compressionpreference.dita b/dita/RTC-NG/API/enum_compressionpreference.dita index c3796805adf..8dc8df4cdaf 100644 --- a/dita/RTC-NG/API/enum_compressionpreference.dita +++ b/dita/RTC-NG/API/enum_compressionpreference.dita @@ -15,17 +15,17 @@
      枚举值 - - - -1:(默认)自动模式。SDK 会根据你设置的视频场景,自动选择 ,以获得最佳的用户体验。 - - + 0: 低延时偏好。SDK 会对视频帧进行压缩处理,以降低延时。该偏好适用于流畅性优先且允许画质降低的场景。 + + - 1:高质量偏好。SDK 会对视频帧进行压缩处理,同时保持视频质量。该偏好适用于画质优先的场景。 + 1:(默认)高质量偏好。SDK 会对视频帧进行压缩处理,同时保持视频质量。该偏好适用于画质优先的场景。 + +
      diff --git a/dita/RTC-NG/API/enum_connectionstatetype.dita b/dita/RTC-NG/API/enum_connectionstatetype.dita index 5096cbbb726..8374c4ed44f 100644 --- a/dita/RTC-NG/API/enum_connectionstatetype.dita +++ b/dita/RTC-NG/API/enum_connectionstatetype.dita @@ -50,7 +50,7 @@ -

      5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。 +

      5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。

      • 如果用户还想重新加入频道,则需要再次调用
      • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 App 会收到
      • diff --git a/dita/RTC-NG/API/enum_degradationpreference.dita b/dita/RTC-NG/API/enum_degradationpreference.dita index ed04dfa2cfd..cb831445af9 100644 --- a/dita/RTC-NG/API/enum_degradationpreference.dita +++ b/dita/RTC-NG/API/enum_degradationpreference.dita @@ -7,19 +7,11 @@
        枚举值 - - - -1:(默认)自动模式。SDK 会根据你设置的视频场景,自动选择 ,以获得最优的综合质量体验 (QoE)。 - - 0:带宽受限时,视频编码时优先降低视频帧率,维持分辨率不变。该降级偏好适用于画质优先的场景。 -
        - -
        弃用:
        -
        该枚举已废弃。请改用其他枚举。
        -
        -
        + +

        0:(默认)带宽受限时,视频编码时优先降低视频帧率,维持分辨率不变。该降级偏好适用于画质优先的场景。

        +
        diff --git a/dita/RTC-NG/API/enum_errorcodetype.dita b/dita/RTC-NG/API/enum_errorcodetype.dita index 340e5e4b06e..29547c8d468 100644 --- a/dita/RTC-NG/API/enum_errorcodetype.dita +++ b/dita/RTC-NG/API/enum_errorcodetype.dita @@ -30,7 +30,7 @@
        • 初始化失败。请重新初始化
        • 调用方法时用户尚未加入频道。请检查方法的调用逻辑。
        • -
        • 调用 方法时用户尚未离开频道。请检查方法的调用逻辑。
        • +
        • 调用 方法时用户尚未离开频道。请检查方法的调用逻辑。
        • 音频模块未开启。
        • 程序集不完整。
        @@ -41,7 +41,7 @@
          -
        • Android 平台调用 方法时,如果设备版本低于 Android 5.0,会上报该错误码。请确认 Android 设备版本。
        • +
        • Android 平台调用 方法时,如果设备版本低于 Android 5.0,会上报该错误码。请确认 Android 设备版本。
        • 使用内置加密时,设置的加密模式不正确,或加载外部加密库失败。请检查加密的枚举值是否正确,或重新加载外部加密库。
        @@ -83,7 +83,7 @@
        • 用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) 状态外,不要再次调用该方法加入频道。
        • -
        • 用户在调用 进行通话测试后,未调用 结束当前测试就尝试加入频道。开始通话测试后,需要先调用 结束当前测试,再加入频道。
        • +
        • 用户在调用 进行通话测试后,未调用 结束当前测试就尝试加入频道。开始通话测试后,需要先调用 结束当前测试,再加入频道。
        @@ -142,7 +142,7 @@
      • 在控制台中启用了 App 证书,但未使用 App ID + Token 鉴权。当项目启用了 App 证书,就必须使用 Token 鉴权。
      • 生成 Token 时填入的 uid 字段,和用户加入频道时填入的 uid 不匹配。
      -
      +
      弃用:
      该枚举已废弃。请改用 回调中的 (8)。
      diff --git a/dita/RTC-NG/API/enum_faceshapearea.dita b/dita/RTC-NG/API/enum_faceshapearea.dita deleted file mode 100644 index 25bdc7194e9..00000000000 --- a/dita/RTC-NG/API/enum_faceshapearea.dita +++ /dev/null @@ -1,72 +0,0 @@ - - - - <ph keyref="FACE_SHAPE_AREA" /> - 美型部位。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - -1: (默认)无效部位,美型效果不生效。 - - - - 0: 头部,用于实现小头效果。对应修饰力度范围为 [0,100],值越大头越小,预设值为 100。 - - - - 1: 额头,修饰发际线高度。对应修饰力度范围为 [-100,100],正值为调高发际线(额头更窄),负值为调低发际线(额头更宽),绝对值越大修饰效果越强,预设值为 50。 - - - - 2: 脸部轮廓,用于实现瘦脸效果。对应修饰力度范围为 [0,100],值越大瘦脸效果越强,预设值为 10。 - - - - 3: 脸部长度,用于实现长脸效果。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 0。 - - - - 4: 脸部宽度,用于实现窄脸效果。对应修饰力度范围为 [0,100],值越大窄脸效果越强,预设值为 10。 - - - - 5: 颧骨,修饰颧骨宽度。对应修饰力度范围为 [0,100],值越大颧骨越窄,预设值为 43。 - - - - 6: 脸颊,修饰脸颊宽度。对应修饰力度范围为 [0,100],值越大脸颊越窄,预设值为 50。 - - - - 7: 下巴,修饰下巴长度。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 -20。 - - - - 8: 眼睛,用于实现大眼效果。对应修饰力度范围为 [0,100],值越大,眼睛尺寸越大,预设值为 53。 - - - - 9: 鼻子长度,用于实现长鼻效果。对应修饰力度范围为 [-100,100],正值为拉长,负值为变短,绝对值越大修饰效果越强,预设值为 -10。 - - - - 10: 鼻子宽度,用于实现瘦鼻效果。对应修饰力度范围为 [-100,100],正值为变胖/变宽,负值为变瘦/变窄,绝对值越大修饰效果越强,预设值为 72。 - - - - 11: 嘴巴,修饰嘴巴尺寸。对应修饰力度范围为 [-100,100],正值为变大,负值为变小,绝对值越大修饰效果越强,预设值为 20。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_faceshapebeautystyle.dita b/dita/RTC-NG/API/enum_faceshapebeautystyle.dita deleted file mode 100644 index 1eb5229b747..00000000000 --- a/dita/RTC-NG/API/enum_faceshapebeautystyle.dita +++ /dev/null @@ -1,28 +0,0 @@ - - - - <ph keyref="FACE_SHAPE_BEAUTY_STYLE" /> - 美型风格。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0: (默认)女性风格。 - - - - 1: 男性风格。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_localvideostreamreason.dita b/dita/RTC-NG/API/enum_localvideostreamreason.dita index ceb0b1bad53..a7cf6dd036d 100644 --- a/dita/RTC-NG/API/enum_localvideostreamreason.dita +++ b/dita/RTC-NG/API/enum_localvideostreamreason.dita @@ -47,28 +47,28 @@ 7:(仅适用于 iOS)当前 App 窗口处于侧拉、分屏、画中画模式,且其他 App 正占用摄像头。请提示用户当 App 窗口处于侧拉、分屏、画中画模式,且其他 App 正占用摄像头时,无法正常进行视频采集。 7:预留。 - + 8:找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。 - 9:(仅适用于 macOS 和 Windows)当前正在使用的视频采集设备已经断开连接(例如,被拔出)。 + 9:(仅适用于 macOS)当前正在使用的视频采集设备已经断开连接(例如,被拔出)。 9:预留。 - 10:(仅适用于 macOS 和 Windows)SDK 无法在视频设备列表中找到该视频设备。请检查视频设备 ID 是否有效。 + 10:(仅适用于 macOS 和 Windows)SDK 无法在视频设备列表中找到该视频设备。请检查视频设备 ID 是否有效。 - 11:(仅适用于 macOS 和 Windows)调用 方法共享窗口时,共享窗口处于最小化的状态。SDK 无法共享被最小化的窗口。请提示用户将共享窗口取消最小化。 + 11:(仅适用于 macOS 和 Windows)调用 方法共享窗口时,共享窗口处于最小化的状态。SDK 无法共享被最小化的窗口。请提示用户将共享窗口取消最小化。 11:预留。 -

      12:(仅适用于 macOS 和 Windows)通过窗口 ID 共享的窗口已关闭,或通过窗口 ID 共享的全屏窗口已退出全屏。退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,建议你立即结束本次共享。

      +

      12:(仅适用于 macOS 和 Windows)通过窗口 ID 共享的窗口已关闭,或通过窗口 ID 共享的全屏窗口已退出全屏。退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,建议你立即结束本次共享。

      报告该错误码的常见场景:

      • 本地用户关闭共享的窗口。
      • @@ -98,7 +98,7 @@ - 21:(仅适用于 Windows 和 Android)当前采集的窗口无数据。 + 21:(仅适用于 Windows)当前采集的窗口无数据。 @@ -132,18 +132,6 @@ 30:(仅适用于 Windows 和 macOS)进行屏幕采集的显示器已断开连接。 - - - 31:用户已停止屏幕共享。 - - - - 32:屏幕共享进程已被其他屏幕共享进程打断。 - - - - 33:屏幕共享进程被系统来电打断。 - 101:由于系统压力过大,导致当前视频采集设备不可用。 diff --git a/dita/RTC-NG/API/enum_mediadevicestatetype.dita b/dita/RTC-NG/API/enum_mediadevicestatetype.dita index a19ee4cab45..f2d2538adc1 100644 --- a/dita/RTC-NG/API/enum_mediadevicestatetype.dita +++ b/dita/RTC-NG/API/enum_mediadevicestatetype.dita @@ -19,7 +19,7 @@ 2: 设备被禁用。 - + 3: 设备已插入。 diff --git a/dita/RTC-NG/API/enum_qualitytype.dita b/dita/RTC-NG/API/enum_qualitytype.dita index 49b94312fb9..a63c2528926 100644 --- a/dita/RTC-NG/API/enum_qualitytype.dita +++ b/dita/RTC-NG/API/enum_qualitytype.dita @@ -41,7 +41,7 @@ - 8: 网络质量检测进行中。 + 8: 网络质量检测已开始还没完成。
      diff --git a/dita/RTC-NG/API/enum_recorderstreamtype.dita b/dita/RTC-NG/API/enum_recorderstreamtype.dita deleted file mode 100644 index b8ab625b22b..00000000000 --- a/dita/RTC-NG/API/enum_recorderstreamtype.dita +++ /dev/null @@ -1,20 +0,0 @@ - - - - <ph keyref="RecorderStreamType"/> - 需录制的视频流类型。 - -
      - 枚举值 - - - - 0: (默认)频道内的视频流。 - - - - 1: 加入频道前,在本地预览的视频流。 - -
      -
      -
      diff --git a/dita/RTC-NG/API/enum_rteabrfallbacklayer.dita b/dita/RTC-NG/API/enum_rteabrfallbacklayer.dita deleted file mode 100644 index e88de4c75df..00000000000 --- a/dita/RTC-NG/API/enum_rteabrfallbacklayer.dita +++ /dev/null @@ -1,63 +0,0 @@ - - - - <ph keyref="RteAbrFallbackLayer"/> - 视频流回退的质量层级。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
        -
      • 使用 开通 ABR 功能。开通后,你可以自定义每一个层级的分辨率,然后选择其中任意一个层级作为视频流回退的最低分辨率。在网络情况差时,SDK 会以此为下限,在此范围内根据网络状况动态调整分辨率。
      • -
      • 自定义分辨率时请务必将视频质量层级(Layer)按分辨率从大到小进行排序,分辨率相同时需按帧率从大到小进行排序。
      • -
      -
      -
      -
      - 枚举值 - - - - 0:0: 不对音视频流作回退处理,但不能保证音视频流的质量。 - - - - 1:(默认)回退至最低质量的视频流。该层级的分辨率最低。 - - - - - 2:先尝试只接收最低质量的视频流;如果因网络环境太差无法显示视频,则再回退到只接收订阅的音频流。 - - - - 3:回退到视频质量层级 1。该层级的分辨率和码率仅低于所订阅的最高质量的视频流。 - - - - - 4:回退到视频质量层级 2。该层级的分辨率仅低于层级 1。 - - - - 5:回退到视频质量层级 3。该层级的分辨率仅低于层级 2。 - - - - 5:回退到视频质量层级 4。该层级的分辨率仅低于层级 3。 - - - - 5:回退到视频质量层级 5。该层级的分辨率仅低于层级 4。 - - - - 5:回退到视频质量层级 6。该层级的分辨率仅低于层级 5。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_rteabrsubscriptionlayer.dita b/dita/RTC-NG/API/enum_rteabrsubscriptionlayer.dita deleted file mode 100644 index d27e239d8bf..00000000000 --- a/dita/RTC-NG/API/enum_rteabrsubscriptionlayer.dita +++ /dev/null @@ -1,54 +0,0 @@ - - - - <ph keyref="RteAbrSubscriptionLayer"/> - 订阅的视频流的质量层级。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      - 如果需要自定义 层级的视频分辨率并进行订阅,请开通 ABR 功能。 -
      -
      - 枚举值 - - - - 0:最高质量的视频流。该质量层级的分辨率最高。 - - - - 1:(默认)最低质量的视频流。该质量层级的分辨率最低。 - - - - 2:视频质量层级 1。该质量层级的分辨率仅低于 。 - - - - - 3:视频质量层级 2。该质量层级的分辨率低于 - - - - 4:视频质量层级 3。该质量层级的分辨率低于 - - - - 5:视频质量层级 4。该质量层级的分辨率低于 - - - - 6:视频质量层级 5。该质量层级的分辨率低于 - - - - 7:视频质量层级 6。该质量层级的分辨率低于 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_rteerrorcode.dita b/dita/RTC-NG/API/enum_rteerrorcode.dita deleted file mode 100644 index cf42127f3f3..00000000000 --- a/dita/RTC-NG/API/enum_rteerrorcode.dita +++ /dev/null @@ -1,48 +0,0 @@ - - - - <ph keyref="RteErrorCode"/> - 状态及错误码。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0:操作成功。 - - - - 1:一般性的错误(没有明确归类的错误原因)。 - - - - 2:方法中设置了无效的参数。例如参数中含有非法字符,或是传入的对象为空。请重新设置参数。 - - - - 3:当前状态不支持该操作,例如对象已经销毁或者无效。 - - - - 4:网络错误。请检查你的网络。 - - - - 5:Token 鉴权失败。可能的原因有 Token 无效或 Token 过期。请检查你的 Token。 - - - - 6:未找到该媒体流。例如,进入频道后,超过 10s 没有收到主播推送的媒体流。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_rteplayerevent.dita b/dita/RTC-NG/API/enum_rteplayerevent.dita deleted file mode 100644 index 57e6910e28d..00000000000 --- a/dita/RTC-NG/API/enum_rteplayerevent.dita +++ /dev/null @@ -1,40 +0,0 @@ - - - - <ph keyref="RtePlayerEvent"/> - 播放器事件类型。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 5:音频或视频出现卡顿。 - - - - 6:音频和视频均停止卡顿。 - - - - 8:Token 即将过期。在收到此事件后你需要重新生成一个新的 Token 并通过 更新 URL。 - - - - 9:由于网络问题,从接收音视频流回退为仅接收音频流。 - - - - 10:网络状态恢复后,从仅接收音频流恢复到接收音视频流。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_rteplayermetadatatype.dita b/dita/RTC-NG/API/enum_rteplayermetadatatype.dita deleted file mode 100644 index ec55df7b243..00000000000 --- a/dita/RTC-NG/API/enum_rteplayermetadatatype.dita +++ /dev/null @@ -1,24 +0,0 @@ - - - - <ph keyref="RtePlayerMetadataType"/> - 媒体流附属信息的类型。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0:SEI (补充增强信息)类型。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_rteplayerstate.dita b/dita/RTC-NG/API/enum_rteplayerstate.dita deleted file mode 100644 index cee5d2ea572..00000000000 --- a/dita/RTC-NG/API/enum_rteplayerstate.dita +++ /dev/null @@ -1,52 +0,0 @@ - - - - <ph keyref="RtePlayerState"/> - 播放器的状态。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0:空闲状态。 - - - - 1:正在打开 URL 资源。当调用 后会报告该状态码。 - - - - 2:成功打开 URL 资源。当调用 成功打开 URL 资源后会报告该状态码。 - - - - 3:播放中。 - - - - 4:暂停播放。当成功调用 后会报告该状态码。 - - - - 5:播放完成。当主播结束推流退出房间后,会报告该状态码。 - - - - 6:停止播放。当成功调用 后会报告该状态码。 - - - - 7:失败状态。当内部发生错误时会报告该状态码。如果你收到该状态,需要先调用 然后再调用 重新打开该资源。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_rtevideomirrormode.dita b/dita/RTC-NG/API/enum_rtevideomirrormode.dita deleted file mode 100644 index 8fa549a6ccb..00000000000 --- a/dita/RTC-NG/API/enum_rtevideomirrormode.dita +++ /dev/null @@ -1,36 +0,0 @@ - - - - <ph keyref="RteVideoMirrorMode"/> - 视频镜像模式。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0:由 SDK 决定镜像模式。 -
        -
      • 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
      • -
      • 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
      -
      - - - 1:启用镜像模式。 - - - - 2:关闭镜像模式。 - - -
      -
      -
      diff --git a/dita/RTC-NG/API/enum_rtevideorendermode.dita b/dita/RTC-NG/API/enum_rtevideorendermode.dita deleted file mode 100644 index a01a432e67f..00000000000 --- a/dita/RTC-NG/API/enum_rtevideorendermode.dita +++ /dev/null @@ -1,28 +0,0 @@ - - - - <ph keyref="RteVideoRenderMode"/> - 视频渲染模式。 - -
      -
      - -
      自从
      -
      v4.5.0
      -
      -
      -
      -
      - 枚举值 - - - - 0:视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 - - - - 1:视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - - -
      -
      diff --git a/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita b/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita index fb880ecc23f..a2092fd8af5 100644 --- a/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita +++ b/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita @@ -19,27 +19,20 @@ 0: (默认) 通用场景。
      - +

      1: 会议场景。

      - +

      2: 1v1 视频通话

      - - - -

      3: 秀场直播

      -

      - -

      diff --git a/dita/RTC-NG/API/enum_videocodectype.dita b/dita/RTC-NG/API/enum_videocodectype.dita index 3896a62be3b..b49a248a3e8 100644 --- a/dita/RTC-NG/API/enum_videocodectype.dita +++ b/dita/RTC-NG/API/enum_videocodectype.dita @@ -25,7 +25,10 @@
      - 6:Generic。本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。 + +

      6:Generic。

      +

      本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。

      +
      @@ -33,7 +36,9 @@ - 20:Generic JPEG。本类型所需的算力较小,可用于算力有限的 IoT 设备。 + 20:Generic JPEG。 +

      本类型所需的算力较小,可用于算力有限的 IoT 设备。

      +
      diff --git a/dita/RTC-NG/API/enum_videodenoiserlevel.dita b/dita/RTC-NG/API/enum_videodenoiserlevel.dita index f6e565773b8..2e53900c19a 100644 --- a/dita/RTC-NG/API/enum_videodenoiserlevel.dita +++ b/dita/RTC-NG/API/enum_videodenoiserlevel.dita @@ -15,7 +15,7 @@ 1:优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。 - + 2:强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用该设置。 diff --git a/dita/RTC-NG/API/enum_videomoduleposition.dita b/dita/RTC-NG/API/enum_videomoduleposition.dita index 25af3b4f98b..8c8579ed1ec 100644 --- a/dita/RTC-NG/API/enum_videomoduleposition.dita +++ b/dita/RTC-NG/API/enum_videomoduleposition.dita @@ -10,15 +10,15 @@ - 1: 本地采集视频数据并且经过前处理之后的位置,对应 回调。此处观测到的视频具备视频前处理的效果,可通过开启美颜、虚拟背景或水印等方式验证。 + 1: 本地采集视频数据并且经过前处理之后的位置,对应 回调。此处观测到的视频具备视频前处理的效果,可通过开启美颜、虚拟背景或水印等方式验证。 - 2: 接收远端发送的视频在渲染前的位置,对应 回调 + 2: 接收远端发送的视频在渲染前的位置,对应 回调 - 4: 本地视频编码前的位置,对应 回调。此处观测到的视频具备视频前处理和编码前处理的效果:
        + 4: 本地视频编码前的位置,对应 回调。此处观测到的视频具备视频前处理和编码前处理的效果:
        • 对于视频前处理效果,可通过开启美颜、虚拟背景或水印等方式验证。
        • 对于编码前处理效果,可通过设置一个较低的帧率(例如 5 fps)验证。
        diff --git a/dita/RTC-NG/API/rtc_api_data_type.dita b/dita/RTC-NG/API/rtc_api_data_type.dita index 74be6f71bab..d52c798d28e 100644 --- a/dita/RTC-NG/API/rtc_api_data_type.dita +++ b/dita/RTC-NG/API/rtc_api_data_type.dita @@ -22,7 +22,6 @@
      • -
      • @@ -31,7 +30,6 @@
      • -
      • @@ -42,12 +40,8 @@
      • -
      • -
      • -
      • -
      • @@ -59,7 +53,6 @@
      • -
      • @@ -70,7 +63,6 @@
      • -
      • @@ -104,8 +96,6 @@
      • -
      • -
      • @@ -115,7 +105,6 @@
      • -
      • @@ -154,7 +143,6 @@
      • -
      • @@ -173,11 +161,9 @@
      • -
      • -
      • @@ -185,12 +171,8 @@
      • -
      • -
      • -
      • -
      • @@ -224,7 +206,6 @@
    • -
    • @@ -235,7 +216,6 @@
    • -
    • @@ -253,16 +233,11 @@
    • -
    • -
    • -
    • -
    • -
    • @@ -284,51 +259,51 @@
    • -
    • -
    • +
    • +
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • -
    • +
      • -
      • -
      • -
      • -
      • +
      • +
      • +
      • +
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • -
    • -
    • -
    • +
    • +
    • +
    • @@ -341,16 +316,16 @@
    • -
    • +
    • -
    • +
    • -
    • +
    • @@ -368,18 +343,18 @@
    • -
    • -
    • -
    • +
    • +
    • +
    • -
    • +
    • -
    • +
    • -
    • +
    @@ -399,20 +374,14 @@
  • -
  • -
  • -
      -
    • -
    • -
  • +
  • -
  • @@ -422,12 +391,8 @@
  • -
  • -
  • -
  • -
  • @@ -443,7 +408,6 @@
  • -
  • @@ -452,7 +416,6 @@
  • -
  • @@ -473,14 +436,11 @@
  • -
  • -
  • -
  • @@ -518,19 +478,13 @@
  • -
  • -
  • -
      -
    • -
    • -
  • +
  • -
  • @@ -540,12 +494,8 @@
  • -
  • -
  • -
  • -
  • @@ -562,7 +512,6 @@
  • -
  • @@ -571,7 +520,6 @@
  • -
  • @@ -586,14 +534,11 @@
  • -
  • -
  • -
  • @@ -653,10 +598,7 @@
  • -
  • -
  • -
  • @@ -668,7 +610,6 @@
  • -
  • @@ -705,7 +646,6 @@
  • -
  • @@ -863,9 +803,6 @@
  • -
  • -
  • -
  • @@ -879,7 +816,6 @@
  • -
  • @@ -889,7 +825,6 @@
  • -
  • @@ -924,10 +859,9 @@
  • -
  • -
  • +
  • @@ -988,9 +922,6 @@
  • -
  • -
  • -
  • @@ -1004,7 +935,6 @@
  • -
  • @@ -1014,7 +944,6 @@
  • -
  • @@ -1051,10 +980,9 @@
  • -
  • -
  • +
  • @@ -1115,9 +1043,6 @@
  • -
  • -
  • -
  • @@ -1127,7 +1052,6 @@
  • -
  • @@ -1177,7 +1101,6 @@
  • -
  • @@ -1226,12 +1149,11 @@
  • +
  • -
  • -
  • @@ -1262,8 +1184,6 @@
  • -
  • -
  • @@ -1310,22 +1230,14 @@
  • -
  • +
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • @@ -1356,7 +1268,6 @@
  • -
  • @@ -1365,7 +1276,6 @@
    • -
    • @@ -1402,13 +1312,6 @@
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • @@ -1453,7 +1356,6 @@
    • -
    • @@ -1485,12 +1387,11 @@
    • +
    • -
    • -
    • @@ -1519,8 +1420,6 @@
    • -
    • -
    • @@ -1560,7 +1459,6 @@
    • -
    • @@ -1569,14 +1467,6 @@
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • @@ -1629,10 +1519,9 @@
    • +
    • -
    • -
    • @@ -1661,8 +1550,6 @@
    • -
    • -
    • @@ -1700,7 +1587,6 @@
    • -
    • @@ -1709,14 +1595,6 @@
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • @@ -1773,7 +1651,6 @@
    • -
    • @@ -1805,8 +1682,6 @@
    • -
    • -
    • @@ -1855,7 +1730,6 @@
    • -
    • @@ -2060,7 +1934,6 @@
    • -
    • @@ -2089,8 +1962,6 @@
    • -
    • -
    • @@ -2134,11 +2005,11 @@
    • -
    • +
    • @@ -2172,7 +2043,6 @@
    • -
    • @@ -2203,7 +2073,6 @@
    • -
    • @@ -2234,8 +2103,6 @@
    • -
    • -
    • @@ -2278,11 +2145,11 @@
    • -
    • +
    • @@ -2316,7 +2183,6 @@
    • -
    • @@ -2347,7 +2213,6 @@
    • -
    • @@ -2378,8 +2243,6 @@
    • -
    • -
    • @@ -2423,7 +2286,6 @@
    • -
    • diff --git a/dita/RTC-NG/API/rtc_api_data_type_unreal.dita b/dita/RTC-NG/API/rtc_api_data_type_unreal.dita index 3df97a7d0c9..0e4158644e6 100644 --- a/dita/RTC-NG/API/rtc_api_data_type_unreal.dita +++ b/dita/RTC-NG/API/rtc_api_data_type_unreal.dita @@ -42,9 +42,6 @@
    • -
    • -
    • -
    • @@ -55,7 +52,6 @@
    • -
    • @@ -66,7 +62,6 @@
    • -
    • @@ -109,7 +104,6 @@
    • -
    • @@ -168,9 +162,6 @@
    • -
    • -
    • -
    • @@ -233,7 +224,6 @@
    • -
    • @@ -285,7 +275,6 @@
    • -
    • @@ -316,8 +305,6 @@
    • -
    • -
    • @@ -363,7 +350,6 @@
    • -
    • @@ -434,7 +420,6 @@
    • -
    • @@ -465,8 +450,6 @@
    • -
    • -
    • @@ -559,4 +542,4 @@
    - + \ No newline at end of file diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita index 59e422fd47e..05d2755a4c8 100644 --- a/dita/RTC-NG/API/rtc_api_overview.dita +++ b/dita/RTC-NG/API/rtc_api_overview.dita @@ -269,42 +269,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -326,7 +290,7 @@ 方法/回调 描述 - + @@ -584,28 +548,16 @@ - - - - - - - - - - - -
    -
    +
    原始音频数据 方法/回调 描述 - + @@ -897,7 +849,7 @@ - + @@ -959,10 +911,6 @@ (仅适用于 Android 和 iOS) - - - (仅适用于 Android) - (仅适用于 Android 和 iOS) @@ -1003,9 +951,9 @@ - + - + (仅适用于 Windows 和 macOS)
    @@ -1020,26 +968,14 @@ - - - - - - - - - - - - @@ -1048,22 +984,6 @@ - - - - - - - - - - - - - - - - @@ -1100,46 +1020,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1198,6 +1078,67 @@
    +
    + 视频编码功能 + + + 方法/回调 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    视频渲染 @@ -1229,14 +1170,6 @@ - - - - - - - - @@ -1376,15 +1309,11 @@ - - - (仅适用于 Android) - - + @@ -1495,34 +1424,34 @@
    -
    +
    音效文件播放 方法/回调 描述 - + - + - + - + - + - + @@ -1542,19 +1471,19 @@ - + - + - + - + @@ -1562,11 +1491,11 @@ - + - + @@ -1574,15 +1503,15 @@ - + - + - + @@ -1592,7 +1521,7 @@
    -
    +
    虚拟节拍器 @@ -1617,7 +1546,7 @@
    -
    +
    媒体播放器

    更多有关媒体播放器的方法,详见内置媒体播放器

    更多有关媒体播放器的方法,详见

    @@ -1626,9 +1555,9 @@ 方法/回调 描述 - + - + @@ -1642,11 +1571,11 @@ - + - + @@ -1725,7 +1654,7 @@
    -
    +
    <ph props="cn">版权音乐</ph>

    本组方法仅适用于 Android 和 iOS。

    @@ -1749,7 +1678,7 @@ - + @@ -1765,7 +1694,7 @@ - + @@ -1801,7 +1730,7 @@ - + @@ -1809,14 +1738,10 @@ - + - - - - @@ -1841,7 +1766,7 @@ - + @@ -1849,7 +1774,7 @@ - + @@ -1955,7 +1880,7 @@ - + @@ -1967,7 +1892,7 @@ - + @@ -1975,7 +1900,7 @@ - + @@ -2120,7 +2045,7 @@
    -
    +
    Metadata (SEI) @@ -2135,7 +2060,7 @@ - + @@ -2193,7 +2118,7 @@ - + @@ -2330,7 +2255,7 @@ (仅适用于 Android 和 iOS) - + (仅适用于 Android 和 iOS) @@ -2382,7 +2307,7 @@ (仅适用于 Android 和 iOS) - + (仅适用于 Android 和 iOS) @@ -2583,11 +2508,11 @@ (仅适用于 Windows) - + (仅适用于 Windows) - + (仅适用于 Windows) @@ -2660,7 +2585,7 @@ (仅适用于 Android)
    -
    +
    插件相关 @@ -2675,7 +2600,7 @@ - + @@ -2683,31 +2608,31 @@ - + - + - + - + - + - + - + diff --git a/dita/RTC-NG/API/rtc_api_sunset.dita b/dita/RTC-NG/API/rtc_api_sunset.dita index 109ae3350f7..d424e5be1c3 100644 --- a/dita/RTC-NG/API/rtc_api_sunset.dita +++ b/dita/RTC-NG/API/rtc_api_sunset.dita @@ -7,9 +7,8 @@ 已废弃 API

    废弃后的 API 预计会在 1 年左右正式下架。声网建议你尽快使用推荐的 API 进行替换,以免影响线上业务。

    -
    +
    - @@ -85,6 +84,12 @@ - v4.0.0 + + + + 使用 中的 logConfig 参数 + v4.0.0 + @@ -103,18 +108,6 @@ v4.0.0 - - - - - v4.0.0 - - - - - - v4.0.0 - @@ -133,34 +126,10 @@ v4.0.0 - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - + 使用 中的 logConfig 参数 v4.0.0 @@ -169,12 +138,6 @@ v4.0.0 - - - - - v4.0.0 - @@ -223,344 +186,181 @@ - v4.0.0 + + +
    +
    +
    + + + + + + + + + + API + 描述 + 替代 API + 废弃版本 + + + + + + + + v4.4.0 + + + + + + v4.4.0 + + + + + + v4.4.0 + + + + + + v4.4.0 + + + + + + v4.3.1 + + + + + + v4.2.0 + + + + + + v4.2.0 + - - - + + + + v4.2.0 + + + + + - v4.0.0 - - - + + + 使用 中的 logConfig 参数 v4.0.0 - - - - + + + + v4.0.0 - - - - + + + + v4.0.0 - - - - + + + + v4.0.0 - - - - + + + + v4.0.0 - - - - + + + + v4.0.0 - - - + + + v4.0.0 - - - + + + 使用 中的 logConfig 参数 v4.0.0 - - - + + + + v4.0.0 + + + + + + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - + v4.0.0 + + + + + - v4.0.0
    -
    - - - - - - - - - - - API - 描述 - 替代 API - 废弃版本 - - - - - - - - v4.4.0 - - - - - - v4.4.0 - - - - - - v4.4.0 - - - - - - v4.4.0 - - - - - - v4.3.1 - - - - - - v4.2.0 - - - - - - v4.2.0 - - - - - - v4.2.0 - - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - 使用 中的 contextconfig 参数 - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - - v4.0.0 - - - - - - - v4.0.0 - - - - - - - v4.0.0 - - - - - - - v4.0.0 - - - - - - - v4.0.0 - - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - - - - v4.0.0 - - - -
    -
    已删除 API @@ -664,7 +464,7 @@ 插件出错回调。 v4.4.0 - + diff --git a/dita/RTC-NG/API/toc_audiomixer.dita b/dita/RTC-NG/API/toc_audiomixer.dita deleted file mode 100644 index ee7a4fb2bc5..00000000000 --- a/dita/RTC-NG/API/toc_audiomixer.dita +++ /dev/null @@ -1,7 +0,0 @@ - - - - 本地音频合流 - - - diff --git a/dita/RTC-NG/API/toc_rte_player.dita b/dita/RTC-NG/API/toc_rte_player.dita deleted file mode 100644 index d831e303f6b..00000000000 --- a/dita/RTC-NG/API/toc_rte_player.dita +++ /dev/null @@ -1,6 +0,0 @@ - - - - URL 拉流播放 - - diff --git a/dita/RTC-NG/RTC_NG_API_Android.ditamap b/dita/RTC-NG/RTC_NG_API_Android.ditamap index 96b00956087..e9a29d7770e 100644 --- a/dita/RTC-NG/RTC_NG_API_Android.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Android.ditamap @@ -16,8 +16,6 @@ - - @@ -44,11 +42,6 @@ - - - - - @@ -98,10 +91,6 @@ - - - - @@ -114,15 +103,6 @@ - - - - - - - - - @@ -215,11 +195,6 @@ - - - - - @@ -303,7 +278,6 @@ - @@ -315,9 +289,7 @@ - - @@ -325,27 +297,11 @@ - - - - - - - - - - - - - - - - @@ -370,15 +326,36 @@ + + + + + + + + + + + + + + + + + + + + + + + - - @@ -415,7 +392,6 @@ - @@ -465,62 +441,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -561,6 +481,7 @@ + @@ -593,20 +514,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -632,7 +553,6 @@ - @@ -703,9 +623,9 @@ - + - + diff --git a/dita/RTC-NG/RTC_NG_API_Blueprint.ditamap b/dita/RTC-NG/RTC_NG_API_Blueprint.ditamap index d2403723bd1..562029c73fd 100644 --- a/dita/RTC-NG/RTC_NG_API_Blueprint.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Blueprint.ditamap @@ -53,10 +53,6 @@ - - - - @@ -97,10 +93,6 @@ - - - - @@ -113,12 +105,6 @@ - - - - - - @@ -320,29 +306,16 @@ - - - - - - - - - - - - - @@ -369,15 +342,33 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -517,13 +508,11 @@ - + - - @@ -536,20 +525,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -737,7 +726,7 @@ - + @@ -750,7 +739,7 @@ - + @@ -830,4 +819,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap index fbeb9c2d459..e7f27c551b8 100644 --- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap +++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap @@ -16,7 +16,6 @@ - @@ -48,10 +47,6 @@ - - - - @@ -97,10 +92,6 @@ - - - - @@ -113,12 +104,6 @@ - - - - - - @@ -213,11 +198,6 @@ - - - - - @@ -306,7 +286,6 @@ - @@ -326,29 +305,16 @@ - - - - - - - - - - - - - @@ -375,15 +341,33 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -415,7 +399,6 @@ - @@ -466,59 +449,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -793,7 +723,7 @@ - + @@ -806,7 +736,7 @@ - + diff --git a/dita/RTC-NG/RTC_NG_API_Electron.ditamap b/dita/RTC-NG/RTC_NG_API_Electron.ditamap index 4cd7e4c5ca8..715d31e56c6 100644 --- a/dita/RTC-NG/RTC_NG_API_Electron.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Electron.ditamap @@ -94,10 +94,6 @@ - - - - @@ -110,12 +106,6 @@ - - - - - - @@ -208,11 +198,6 @@ - - - - - @@ -306,28 +291,15 @@ - - - - - - - - - - - - - @@ -350,14 +322,32 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -512,6 +502,7 @@ + @@ -526,7 +517,6 @@ - @@ -657,7 +647,6 @@ - @@ -671,7 +660,6 @@ - diff --git a/dita/RTC-NG/RTC_NG_API_Flutter.ditamap b/dita/RTC-NG/RTC_NG_API_Flutter.ditamap index 6d79bbd2e3f..45aa0e30ca7 100644 --- a/dita/RTC-NG/RTC_NG_API_Flutter.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Flutter.ditamap @@ -97,10 +97,6 @@ - - - - @@ -113,12 +109,6 @@ - - - - - - @@ -303,35 +293,21 @@ - - + - - - - - - - - - - - - - @@ -358,6 +334,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -370,15 +366,8 @@ - - - - - - - @@ -398,8 +387,7 @@ - - + @@ -518,20 +506,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -691,7 +679,6 @@ - @@ -701,7 +688,6 @@ - diff --git a/dita/RTC-NG/RTC_NG_API_Harmony.ditamap b/dita/RTC-NG/RTC_NG_API_Harmony.ditamap index fee50b54fe3..89121d8e9b9 100644 --- a/dita/RTC-NG/RTC_NG_API_Harmony.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Harmony.ditamap @@ -21,34 +21,34 @@ - + - + - + - + - + - - - + + + - + - + @@ -63,17 +63,17 @@ - + - + - + @@ -82,26 +82,26 @@ - + - + - + - - - + + + - + - + - + @@ -112,26 +112,26 @@ - - - + + + - - + + - + - + - + @@ -139,21 +139,21 @@ - + - + - + - - + + @@ -171,33 +171,33 @@ - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - + - + @@ -230,7 +230,7 @@ - + @@ -250,26 +250,26 @@ - + - + - + - - + + - + @@ -281,14 +281,14 @@ - + - + - + @@ -297,14 +297,14 @@ - - - - - - - - + + + + + + + + @@ -312,47 +312,49 @@ - + - + - + - + - + - - - + + + - + - + - + + + - + @@ -386,7 +388,7 @@ - + @@ -400,42 +402,43 @@ - - + + - + - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + + @@ -443,20 +446,22 @@ - + - + - + + + - + @@ -466,7 +471,7 @@ - + @@ -476,9 +481,10 @@ + - + @@ -489,23 +495,23 @@ - + - - - + + + - - + + - - - - - - - - + + + + + + + + @@ -523,33 +529,30 @@ - + - - + - + - + - + - - - - + + @@ -571,21 +574,21 @@ - + - + - + - + - - + + @@ -603,10 +606,10 @@ - - - - + + + + @@ -617,16 +620,16 @@ - + - + - + @@ -638,31 +641,31 @@ - + - - - - + + + + - - + + - + - + - - + + @@ -673,7 +676,7 @@ - + @@ -681,7 +684,7 @@ - + @@ -696,11 +699,11 @@ - + - + @@ -708,10 +711,12 @@ + + - - - + + + diff --git a/dita/RTC-NG/RTC_NG_API_RN.ditamap b/dita/RTC-NG/RTC_NG_API_RN.ditamap index 6c6053eda2b..43b7a0febd2 100644 --- a/dita/RTC-NG/RTC_NG_API_RN.ditamap +++ b/dita/RTC-NG/RTC_NG_API_RN.ditamap @@ -93,10 +93,6 @@ - - - - @@ -109,12 +105,6 @@ - - - - - - @@ -205,11 +195,6 @@ - - - - - @@ -288,7 +273,6 @@ - @@ -303,28 +287,15 @@ - - - - - - - - - - - - - @@ -351,14 +322,32 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -385,7 +374,6 @@ - @@ -510,20 +498,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/dita/RTC-NG/RTC_NG_API_Unity.ditamap b/dita/RTC-NG/RTC_NG_API_Unity.ditamap index 405ea3f525f..d49f50f0632 100644 --- a/dita/RTC-NG/RTC_NG_API_Unity.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Unity.ditamap @@ -86,16 +86,6 @@ - - - - - - - - - - @@ -202,11 +192,6 @@ - - - - - @@ -285,7 +270,6 @@ - @@ -298,35 +282,22 @@ - + - - - - - - - - - - - - - @@ -354,13 +325,32 @@ + + + + + + + + + + + + + + + + + + + + - @@ -370,8 +360,6 @@ - - @@ -394,8 +382,7 @@ - - + @@ -518,20 +505,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -703,14 +690,14 @@ - + - + @@ -784,4 +771,4 @@ - \ No newline at end of file + diff --git a/dita/RTC-NG/RTC_NG_API_Unreal.ditamap b/dita/RTC-NG/RTC_NG_API_Unreal.ditamap index 8af7dd0df41..af24969b303 100644 --- a/dita/RTC-NG/RTC_NG_API_Unreal.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Unreal.ditamap @@ -93,10 +93,6 @@ - - - - @@ -109,12 +105,6 @@ - - - - - - @@ -210,11 +200,6 @@ - - - - - @@ -302,7 +287,6 @@ - @@ -322,29 +306,16 @@ - - - - - - - - - - - - - @@ -371,15 +342,33 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -411,7 +400,6 @@ - @@ -537,20 +525,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -736,7 +724,7 @@ - + @@ -749,7 +737,7 @@ - + diff --git a/dita/RTC-NG/RTC_NG_API_iOS.ditamap b/dita/RTC-NG/RTC_NG_API_iOS.ditamap index 4b5ccef98a7..07de44de4a0 100644 --- a/dita/RTC-NG/RTC_NG_API_iOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_iOS.ditamap @@ -19,7 +19,6 @@ - @@ -43,10 +42,6 @@ - - - - @@ -95,10 +90,6 @@ - - - - @@ -111,12 +102,6 @@ - - - - - - @@ -211,11 +196,6 @@ - - - - - @@ -316,9 +296,7 @@ - - @@ -326,27 +304,11 @@ - - - - - - - - - - - - - - - - @@ -375,15 +337,33 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -464,59 +444,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -589,21 +516,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/dita/RTC-NG/RTC_NG_API_macOS.ditamap b/dita/RTC-NG/RTC_NG_API_macOS.ditamap index 9f2737cca53..6177cb9c259 100644 --- a/dita/RTC-NG/RTC_NG_API_macOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_macOS.ditamap @@ -18,7 +18,6 @@ - @@ -39,10 +38,6 @@ - - - - @@ -90,10 +85,6 @@ - - - - @@ -106,12 +97,6 @@ - - - - - - @@ -207,11 +192,6 @@ - - - - - @@ -313,9 +293,7 @@ - - @@ -323,27 +301,11 @@ - - - - - - - - - - - - - - - - @@ -368,15 +330,33 @@ + + + + + + + + + + + + + + + + + + + + - - @@ -456,59 +436,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dita/RTC-NG/RTC_NG_Release_Blueprint.ditamap b/dita/RTC-NG/RTC_NG_Release_Blueprint.ditamap deleted file mode 100644 index 0d1f2b4f643..00000000000 --- a/dita/RTC-NG/RTC_NG_Release_Blueprint.ditamap +++ /dev/null @@ -1,17 +0,0 @@ - - - - Release Notes - - - - - - - - - - - - - diff --git a/dita/RTC-NG/archive/api_irtcengine_setremoterendermode.dita b/dita/RTC-NG/archive/api_irtcengine_setremoterendermode.dita index edcbb009bcf..622150c5845 100644 --- a/dita/RTC-NG/archive/api_irtcengine_setremoterendermode.dita +++ b/dita/RTC-NG/archive/api_irtcengine_setremoterendermode.dita @@ -14,7 +14,7 @@

    public abstract int setRemoteRenderMode(int userId, int renderMode); - + public abstract setRemoteRenderMode(uid: number, renderMode: number, mirrorMode: number): number; - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap index ff2b336b4bf..ebfb35e9545 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap @@ -318,34 +318,6 @@ - - - - GetEventHandler - - - - - - - AddBlueprintCallbackExecutor - - - - - - - AddBlueprintCallbackExecutorEx - - - - - - - ClearAllEventHandlerCBExecutors - - - @@ -747,27 +719,13 @@ - - - - registerPlayerSourceObserver - - - - + GetMediaPlayerSourceObserver - - - - AddBlueprintCallbackExecutor - - - @@ -1215,20 +1173,6 @@ - - - - SetLocalRenderTargetFps - - - - - - - SetRemoteRenderTargetFps - - - @@ -1324,20 +1268,6 @@ - - - - GetFaceShapeAreaOptions - - - - - - - GetFaceShapeBeautyOptions - - - @@ -1373,27 +1303,6 @@ - - - - SetFaceShapeAreaOptions - - - - - - - SetFaceShapeBeautyOptions - - - - - - - SetFilterEffectOptions - - - @@ -1641,13 +1550,6 @@ - - - - TakeSnapshotWithConfigEx - - - @@ -2782,29 +2684,6 @@ - - - - - StartLocalAudioMixer - - - - - - - StopLocalAudioMixer - - - - - - - UpdateLocalAudioMixerConfiguration - - - - @@ -4097,13 +3976,6 @@ - - - - TakeSnapshotWithConfig - - - @@ -5493,27 +5365,6 @@ - - - - FUABT_FaceShapeAreaOptions - - - - - - - FUABT_FaceShapeBeautyOptions - - - - - - - FUABT_FilterEffectOptions - - - @@ -5640,24 +5491,10 @@ - - - - FUABT_MixedAudioStream - - - - - - - FUABT_LocalAudioMixerConfiguration - - - - FUABT_LowlightEnhanceOptions + FLowlightEnhanceOptions @@ -5797,7 +5634,7 @@ - FUABT_RtcConnection + FRtcConnection @@ -5885,13 +5722,6 @@ - - - - FUABT_SnapshotConfig - - - @@ -5965,21 +5795,21 @@ - FUABT_VideoDenoiserOptions + FVideoDenoiserOptions - FUABT_VideoDimensions + FVideoDimensions - FUABT_VideoEncoderConfiguration + FVideoEncoderConfiguration @@ -6062,69 +5892,6 @@ - - - - EUABT_AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -6783,13 +6550,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8410,14 +8170,7 @@ - EUABT_DEGRADATION_PREFERENCE - - - - - - - MAINTAIN_AUTO + EDEGRADATION_PREFERENCE @@ -9051,125 +8804,6 @@ - - - - EUABT_FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - EUABT_FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_MALE - - - @@ -9880,7 +9514,7 @@ - EUABT_LOW_LIGHT_ENHANCE_LEVEL + ELOW_LIGHT_ENHANCE_LEVEL @@ -9961,7 +9595,7 @@ - + MEDIA_DEVICE_STATE_PLUGGED_IN @@ -10384,7 +10018,7 @@ - EUABT_MEDIA_SOURCE_TYPE + EMEDIA_SOURCE_TYPE @@ -10678,7 +10312,7 @@ - EUABT_ORIENTATION_MODE + EORIENTATION_MODE @@ -11224,7 +10858,7 @@ - FUABT_AdvanceOptions + FAdvanceOptions @@ -12040,13 +11674,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -12127,7 +11754,7 @@ - EUABT_VIDEO_DENOISER_LEVEL + EVIDEO_DENOISER_LEVEL @@ -12155,7 +11782,7 @@ - EUABT_VIDEO_SOURCE_TYPE + EVIDEO_SOURCE_TYPE @@ -12365,7 +11992,7 @@ - EUABT_VIDEO_CODEC_TYPE + EVIDEO_CODEC_TYPE @@ -12554,7 +12181,7 @@ - EUABT_VIDEO_MIRROR_MODE_TYPE + EVIDEO_MIRROR_MODE_TYPE @@ -12582,7 +12209,7 @@ - EUABT_VIDEO_MODULE_POSITION + EVIDEO_MODULE_POSITION @@ -13265,4 +12892,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index e508e48ccb3..bf4073b8d0e 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -301,41 +301,6 @@ - - - - Canvas - - - - - - - Rte - - - - - - - Player - - - - - - - PlayerConfig - - - - - - - PlayerObserver - - - @@ -986,375 +951,6 @@ - - - - - AddView - - - - - - - Canvas - - - - - - - Code - - - - - - - Destroy - - - - - - - Message - - - - - - - GetAutoPlay - - - - - - - GetFromBridge - - - - - - - Rte - - - - - - - InitMediaEngine - - - - - - - RegisterObserver [1/2] - - - - - - - UnregisterObserver [1/2] - - - - - - - SetAutoPlay - - - - - - - SetAppId - - - - - - - SetCanvas - - - - - - - SetRenderMode - - - - - - - SetAbrFallbackLayer - - - - - - - SetAbrSubscriptionLayer - - - - - - - GetAbrFallbackLayer - - - - - - - GetAbrSubscriptionLayer - - - - - - - GetAppId - - - - - - - GetStats - - - - - - - GetMirrorMode - - - - - - - GetRenderMode - - - - - - - MuteAudio - - - - - - - MuteVideo - - - - - - - SetConfigs [1/3] - - - - - - - SetConfigs [2/3] - - - - - - - SetConfigs [3/3] - - - - - - - SetMirrorMode - - - - - - - SetJsonParameter - - - - - - - SetJsonParameter [2/2] - - - - - - - GetConfigs [1/3] - - - - - - - GetConfigs [2/3] - - - - - - - GetConfigs [3/3] - - - - - - - GetInfo - - - - - - - GetJsonParameter - - - - - - - GetJsonParameter [2/2] - - - - - - - - Pause - - - - - - - Play - - - - - - - Player - - - - - - - PreloadWithUrl - - - - - - - RemoveView - - - - - - - RegisterObserver - - - - - - - Stop - - - - - - - OpenWithUrl - - - - - - - UnregisterObserver - - - - - - - - - onAudioVolumeIndication - - - - - - - onEvent - - - - - - - onMetadata [2/2] - - - - - - - onPlayerInfoUpdated [2/2] - - - - - - - onResolutionChanged - - - - - - - onStateChanged - - - - @@ -1570,20 +1166,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1666,33 +1248,19 @@ - setAdvancedAudioOptions - - - - - - - setAINSMode - - - - - - - - - getFaceShapeAreaOptions + setAdvancedAudioOptions - + - getFaceShapeBeautyOptions + setAINSMode + + @@ -1728,27 +1296,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1992,14 +1539,7 @@ - takeSnapshotEx [1/2] - - - - - - - takeSnapshotEx [2/2] + takeSnapshotEx @@ -2145,13 +1685,6 @@ - - - - setExternalMediaProjection - - - @@ -3078,13 +2611,6 @@ - - - - setExternalRemoteEglContext - - - @@ -3158,30 +2684,7 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - - + @@ -3971,17 +3474,21 @@ - + - setRecordingDeviceMute + href="../API/api_iaudiodevicemanager_setrecordingdevicemute.dita" + setRecordingDeviceMute + - + - getRecordingDeviceMute + href="../API/api_iaudiodevicemanager_getrecordingdevicemute.dita" + getRecordingDeviceMute + @@ -4444,14 +3951,7 @@ - takeSnapshot [1/2] - - - - - - - takeSnapshot [2/2] + takeSnapshot @@ -5011,7 +4511,7 @@ - onMetaData [1/2] + onMetaData @@ -5095,7 +4595,7 @@ - onPlayerInfoUpdated [1/2] + onPlayerInfoUpdated @@ -5697,13 +5197,6 @@ - - - - CanvasConfig - - - @@ -5774,13 +5267,6 @@ - - - - Config - - - @@ -5844,13 +5330,6 @@ - - - - Error - - - @@ -5865,27 +5344,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -6019,20 +5477,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -6194,20 +5638,6 @@ - - - - RtePlayerInfo - - - - - - - RtePlayerStats - - - @@ -6278,13 +5708,6 @@ - - - - SnapshotConfig - - - @@ -6819,69 +6242,6 @@ - - - - AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -7176,13 +6536,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8947,13 +8300,6 @@ - - - - MAINTAIN_AUTO - - - @@ -9573,133 +8919,14 @@ - EXPERIENCE_QUALITY_GOOD - - - - - - - EXPERIENCE_QUALITY_BAD - - - - - - - FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE + EXPERIENCE_QUALITY_GOOD - + - FACE_SHAPE_BEAUTY_STYLE_MALE + EXPERIENCE_QUALITY_BAD @@ -10501,7 +9728,7 @@ - + MEDIA_DEVICE_STATE_PLUGGED_IN @@ -11320,668 +10547,416 @@ - - - - PLAYER_PRELOAD_EVENT_COMPLETE - - - - - - - PLAYER_PRELOAD_EVENT_ERROR - - - - - - - PRIORITY_TYPE - - - - - - - PRIORITY_HIGH - - - - - - - PRIORITY_NORMAL - - - - - - - QUALITY_ADAPT_INDICATION - - - - - - - ADAPT_NONE - - - - - - - ADAPT_UP_BANDWIDTH - - - - - - - ADAPT_DOWN_BANDWIDTH - - - - - - - QUALITY_REPORT_FORMAT_TYPE - - - - - - - QUALITY_REPORT_JSON - - - - - - - QUALITY_REPORT_HTML - - - - - - - QUALITY_TYPE - - - - - - - QUALITY_UNKNOWN - - - - - - - QUALITY_EXCELLENT - - - - - - - QUALITY_GOOD - - - - - - - QUALITY_POOR - - - - - - - QUALITY_BAD - - - - - - - QUALITY_VBAD - - - - - - - QUALITY_DOWN - - - - - - - QUALITY_UNSUPPORTED - - - - - - - QUALITY_DETECTING - - - - - - - RAW_AUDIO_FRAME_OP_MODE_TYPE - - - - - - - RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - - - - - - - RAW_AUDIO_FRAME_OP_MODE_READ_WRITE - - - - - - - REMOTE_AUDIO_STATE - - - - - - - REMOTE_AUDIO_STATE_STOPPED - - - - - - - REMOTE_AUDIO_STATE_STARTING - - - - - - - REMOTE_AUDIO_STATE_DECODING - - - - - - - REMOTE_AUDIO_STATE_FROZEN - - - - - - - REMOTE_AUDIO_STATE_FAILED - - - - - - - REMOTE_VIDEO_STATE - - - - - - - REMOTE_VIDEO_STATE_STOPPED - - - - - - - REMOTE_VIDEO_STATE_STARTING - - - - - - - REMOTE_VIDEO_STATE_DECODING - - - - - - - REMOTE_VIDEO_STATE_FROZEN - - - - + - REMOTE_VIDEO_STATE_FAILED + PLAYER_PRELOAD_EVENT_COMPLETE - + - RteErrorCode + PLAYER_PRELOAD_EVENT_ERROR - + - kRteOk + PRIORITY_TYPE - + - kRteErrorDefault + PRIORITY_HIGH - + - kRteErrorInvalidArgument + PRIORITY_NORMAL - + - kRteErrorInvalidOperation + QUALITY_ADAPT_INDICATION - + - kRteErrorNetworkError + ADAPT_NONE - + - kRteErrorAuthenticationFailed + ADAPT_UP_BANDWIDTH - + - kRteErrorStreamNotFound + ADAPT_DOWN_BANDWIDTH - + - RteVideoMirrorMode + QUALITY_REPORT_FORMAT_TYPE - + - kRteVideoMirrorModeAuto + QUALITY_REPORT_JSON - + - kRteVideoMirrorModeEnabled + QUALITY_REPORT_HTML - + - kRteVideoMirrorModeDisabled + QUALITY_TYPE - + - REMOTE_AUDIO_STATE_REASON + QUALITY_UNKNOWN - + - REMOTE_AUDIO_REASON_INTERNAL + QUALITY_EXCELLENT - + - REMOTE_AUDIO_REASON_NETWORK_CONGESTION + QUALITY_GOOD - + - REMOTE_AUDIO_REASON_NETWORK_RECOVERY + QUALITY_POOR - + - REMOTE_AUDIO_REASON_LOCAL_MUTED + QUALITY_BAD - + - REMOTE_AUDIO_REASON_LOCAL_UNMUTED + QUALITY_VBAD - + - REMOTE_AUDIO_REASON_REMOTE_MUTED + QUALITY_DOWN - + - REMOTE_AUDIO_REASON_REMOTE_UNMUTED + QUALITY_UNSUPPORTED - + - REMOTE_AUDIO_REASON_REMOTE_OFFLINE + QUALITY_DETECTING - + - REMOTE_VIDEO_STATE_REASON + RAW_AUDIO_FRAME_OP_MODE_TYPE - + - REMOTE_VIDEO_STATE_REASON_INTERNAL + RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - + - REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION + RAW_AUDIO_FRAME_OP_MODE_READ_WRITE - + - REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY + REMOTE_AUDIO_STATE - + - REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED + REMOTE_AUDIO_STATE_STOPPED - + - REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED + REMOTE_AUDIO_STATE_STARTING - + - REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED + REMOTE_AUDIO_STATE_DECODING - + - REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED + REMOTE_AUDIO_STATE_FROZEN - + - REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE + REMOTE_AUDIO_STATE_FAILED - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK + REMOTE_VIDEO_STATE - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY + REMOTE_VIDEO_STATE_STOPPED - + - REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND + REMOTE_VIDEO_STATE_STARTING - + - REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT + REMOTE_VIDEO_STATE_DECODING - + - RteAbrFallbackLayer + REMOTE_VIDEO_STATE_FROZEN - + - kRteAbrFallbackDisabled + REMOTE_VIDEO_STATE_FAILED - + - kRteAbrFallbackLow + REMOTE_AUDIO_STATE_REASON - + - kRteAbrFallbackAudioOnly + REMOTE_AUDIO_REASON_INTERNAL - + - kRteAbrFallbackLayer1 + REMOTE_AUDIO_REASON_NETWORK_CONGESTION - + - kRteAbrFallbackLayer2 + REMOTE_AUDIO_REASON_NETWORK_RECOVERY - + - kRteAbrFallbackLayer3 + REMOTE_AUDIO_REASON_LOCAL_MUTED - + - kRteAbrFallbackLayer4 + REMOTE_AUDIO_REASON_LOCAL_UNMUTED - + - kRteAbrFallbackLayer5 + REMOTE_AUDIO_REASON_REMOTE_MUTED - + - kRteAbrFallbackLayer6 + REMOTE_AUDIO_REASON_REMOTE_UNMUTED - + - RteAbrSubscriptionLayer + REMOTE_AUDIO_REASON_REMOTE_OFFLINE - + - kRteAbrSubscriptionHigh + REMOTE_VIDEO_STATE_REASON - + - kRteAbrSubscriptionLow + REMOTE_VIDEO_STATE_REASON_INTERNAL - + - kRteAbrSubscriptionLayer1 + REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION - + - kRteAbrSubscriptionLayer2 + REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY - + - kRteAbrSubscriptionLayer3 + REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED - + - kRteAbrSubscriptionLayer4 + REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED - + - kRteAbrSubscriptionLayer5 + REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED - + - kRteAbrSubscriptionLayer6 + REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED - + - RteVideoRenderMode + REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE - + - kRteVideoRenderModeHidden + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK - + - kRteVideoRenderModeFit + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY - + - RtePlayerMetadataType + REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND - + - kRtePlayerMetadataTypeSei + REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT @@ -12132,68 +11107,6 @@ - - - - RecorderStreamType - - - - - - - RTC - - - - - - - PREVIEW - - - - - - - RtePlayerEvent - - - - - - - kRtePlayerEventFreezeStart - - - - - - - kRtePlayerEventFreezeStop - - - - - - - kRtePlayerEventAuthenticationWillExpire - - - - - - - kRtePlayerEventAbrFallbackToAudioOnlyLayer - - - - - - kRtePlayerEventAbrRecoverFromAudioOnlyLayer - - - @@ -12382,69 +11295,6 @@ RTMP_STREAM_PUBLISH_STATE_DISCONNECTING - - - - - RtePlayerState - - - - - - - kRtePlayerStateIdle - - - - - - - kRtePlayerStateOpening - - - - - - - kRtePlayerStateOpenCompleted - - - - - - - kRtePlayerStatePlaying - - - - - - - kRtePlayerStatePaused - - - - - - - kRtePlayerStatePlaybackCompleted - - - - - - - kRtePlayerStateStopped - - - - - - - kRtePlayerStateFailed - - @@ -12957,13 +11807,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -14322,4 +13165,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap index 983e466ad3c..4af0e354d1b 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap @@ -1108,20 +1108,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1217,20 +1203,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1266,27 +1238,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1501,13 +1452,6 @@ - - - - takeSnapshotWithConfigEx - - - @@ -2480,29 +2424,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3020,20 +2941,6 @@ - - - - setRecordingDeviceMute - - - - - - - getRecordingDeviceMute - - - @@ -3327,7 +3234,7 @@ - + onSongSimpleInfoResult @@ -3566,13 +3473,6 @@ - - - - takeSnapshotWithConfig - - - @@ -4927,27 +4827,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -5064,20 +4943,6 @@ MediaSource - - - - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration @@ -5284,27 +5149,20 @@ - - - - SnapshotConfig - - - - - - - SpatialAudioParams - - - - - - - SpatialAudioZone - - - + + + + SpatialAudioParams + + + + + + + SpatialAudioZone + + + @@ -5832,69 +5690,6 @@ - - - - AudioSourceType - - - - - - - AudioSourceMicrophone - - - - - - - AudioSourceCustom - - - - - - - AudioSourceMediaPlayer - - - - - - - AudioSourceLoopbackRecording - - - - - - - AudioSourceMixedStream - - - - - - - AudioSourceRemoteUser - - - - - - - AudioSourceRemoteChannel - - - - - - - AudioSourceUnknown - - - @@ -6077,13 +5872,6 @@ - - - - PreferCompressionAuto - - - @@ -7841,13 +7629,6 @@ - - - - MaintainAuto - - - @@ -8475,125 +8256,6 @@ ExperienceQualityBad - - - - - - - FaceShapeArea - - - - - - - FaceShapeAreaNone - - - - - - - FaceShapeAreaHeadscale - - - - - - - FaceShapeAreaForehead - - - - - - - FaceShapeAreaFacecontour - - - - - - - FaceShapeAreaFacelength - - - - - - - FaceShapeAreaFacewidth - - - - - - - FaceShapeAreaCheekbone - - - - - - - FaceShapeAreaCheek - - - - - - - FaceShapeAreaChin - - - - - - - FaceShapeAreaEyescale - - - - - - - FaceShapeAreaNoselength - - - - - - - FaceShapeAreaNosewidth - - - - - - - FaceShapeAreaMouthscale - - - - - - - FaceShapeBeautyStyle - - - - - - - FaceShapeBeautyStyleFemale - - - - - - - FaceShapeBeautyStyleMale @@ -9353,13 +9015,6 @@ - - - - MediaDeviceStatePluggedIn - - - @@ -10508,27 +10163,6 @@ - - - - RecorderStreamType - - - - - - - Rtc - - - - - - - Preview - - - @@ -11173,13 +10807,6 @@ - - - - ApplicationScenarioLiveshow - - - @@ -11271,7 +10898,7 @@ - + VideoDenoiserLevelStrength diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap index 6350f1ae356..96fafab5e72 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap @@ -1151,20 +1151,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1260,20 +1246,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1309,27 +1281,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1544,13 +1495,6 @@ - - - - takeSnapshotWithConfigEx - - - @@ -1637,13 +1581,6 @@ - - - - setExternalMediaProjection - - - @@ -2504,13 +2441,6 @@ - - - - setExternalRemoteEglContext - - - @@ -2570,29 +2500,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3253,20 +3160,6 @@ - - - - setRecordingDeviceMute - - - - - - - getRecordingDeviceMute - - - @@ -3717,13 +3610,6 @@ - - - - takeSnapshotWithConfig - - - @@ -4842,6 +4728,13 @@ + + + + AudioTrackConfig + + + @@ -4849,13 +4742,6 @@ - - - - AudioTrackConfig - - - @@ -5017,27 +4903,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -5150,20 +5015,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5381,13 +5232,6 @@ - - - - SnapshotConfig - - - @@ -6104,13 +5948,6 @@ - - - - preferCompressionAuto - - - @@ -7021,69 +6858,6 @@ - - - - AudioSourceType - - - - - - - audioSourceMicrophone - - - - - - - audioSourceCustom - - - - - - - audioSourceMediaPlayer - - - - - - - audioSourceLoopbackRecording - - - - - - - audioSourceMixedStream - - - - - - - audioSourceRemoteUser - - - - - - - audioSourceRemoteChannel - - - - - - - audioSourceUnknown - - - @@ -7728,13 +7502,6 @@ - - - - maintainAuto - - - @@ -8365,125 +8132,6 @@ - - - - FaceShapeArea - - - - - - - faceShapeAreaNone - - - - - - - faceShapeAreaHeadscale - - - - - - - faceShapeAreaForehead - - - - - - - faceShapeAreaFacecontour - - - - - - - faceShapeAreaFacelength - - - - - - - faceShapeAreaFacewidth - - - - - - - faceShapeAreaCheekbone - - - - - - - faceShapeAreaCheek - - - - - - - faceShapeAreaChin - - - - - - - faceShapeAreaEyescale - - - - - - - faceShapeAreaNoselength - - - - - - - faceShapeAreaNosewidth - - - - - - - faceShapeAreaMouthscale - - - - - - - FaceShapeBeautyStyle - - - - - - - faceShapeBeautyStyleFemale - - - - - - - faceShapeBeautyStyleMale - - - @@ -9247,13 +8895,6 @@ - - - - mediaDeviceStatePluggedIn - - - @@ -10549,27 +10190,6 @@ - - - - RecorderStreamType - - - - - - - rtc - - - - - - - preview - - - @@ -11200,13 +10820,6 @@ - - - - applicationScenarioLiveshow - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap index 42890708875..8795eee2fe2 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap @@ -23,14 +23,6 @@ - - - - API 列表 - API List - - - @@ -83,14 +75,14 @@ - + IAudioEffectManager - + IAudioFrameObserver @@ -111,7 +103,7 @@ - + IMediaPlayerCacheManager @@ -125,7 +117,7 @@ - + IMediaPlayerVideoFrameObserver @@ -160,7 +152,7 @@ - + IMetadataObserver @@ -174,7 +166,7 @@ - + IVideoFrameObserver @@ -195,7 +187,7 @@ - + IBaseSpatialAudioEngine @@ -209,28 +201,28 @@ - + AudioParams - + IMusicContentCenterEventHandler - + IAgoraMusicPlayer - + IAgoraMusicContentCenter @@ -247,7 +239,7 @@ - + create @@ -297,7 +289,7 @@ - + @@ -397,7 +389,7 @@ - + @@ -436,14 +428,14 @@ - getPlaySrc + getPlaySrc [1/2] - + - getPlaySrc [2/2] + getPlaySrc @@ -482,7 +474,7 @@ - + getMediaPlayerCacheManager @@ -553,6 +545,13 @@ + + + open [1/2] + + + + open @@ -594,14 +593,14 @@ - + registerAudioFrameObserver - + registerVideoFrameObserver @@ -629,7 +628,7 @@ - + selectAudioTrack @@ -741,6 +740,13 @@ + + + + openWithCustomSource + + + @@ -834,6 +840,13 @@ + + + + enableAudioQualityIndication + + + @@ -869,7 +882,7 @@ - + adjustUserPlaybackSignalVolume @@ -976,7 +989,7 @@ - + setVideoScenario @@ -1004,6 +1017,7 @@ + @@ -1011,6 +1025,13 @@ + + + + setRemoteRenderMode [1/2] + + + @@ -1025,6 +1046,20 @@ + + + + CreateRendererView + + + + + + + CreateTextureView + + + @@ -1174,7 +1209,7 @@ - + adjustUserPlaybackSignalVolumeEx @@ -1188,7 +1223,7 @@ - + createDataStreamEx [1/2] @@ -1202,7 +1237,7 @@ - + enableAudioVolumeIndicationEx @@ -1252,14 +1287,14 @@ - + muteRemoteAudioStreamEx - + muteRemoteVideoStreamEx @@ -1294,7 +1329,7 @@ - + setRemoteRenderModeEx @@ -1308,7 +1343,7 @@ - + setRemoteVideoStreamTypeEx @@ -1371,14 +1406,14 @@ - + takeSnapshotEx - + updateChannelMediaOptionsEx @@ -1392,84 +1427,84 @@ - + startRtmpStreamWithoutTranscodingEx - + startRtmpStreamWithTranscodingEx - + updateRtmpTranscodingEx - + stopRtmpStreamEx - + startOrUpdateChannelMediaRelayEx - + pauseAllChannelMediaRelayEx - + muteLocalAudioStreamEx - + muteLocalVideoStreamEx - + muteAllRemoteAudioStreamsEx - + muteAllRemoteVideoStreamsEx - + stopChannelMediaRelayEx - + resumeAllChannelMediaRelayEx @@ -1492,7 +1527,7 @@ - + updateScreenCaptureParameters @@ -1529,14 +1564,14 @@ - + setAudioMixingPlaybackSpeed - + @@ -1586,14 +1621,14 @@ - + getAudioMixingPlayoutVolume - + getAudioMixingPublishVolume @@ -1637,7 +1672,7 @@ - + getAudioEffectManager @@ -2010,7 +2045,7 @@ - + startRtmpStreamWithoutTranscoding @@ -2243,14 +2278,14 @@ - + pauseAllChannelMediaRelay - + resumeAllChannelMediaRelay @@ -2324,7 +2359,7 @@ - + isCameraFaceDetectSupported @@ -2340,7 +2375,7 @@ - + setEnableSpeakerphone @@ -2408,8 +2443,8 @@ - - + + enableDualStreamMode @@ -2423,15 +2458,21 @@ - - + + + + setDualStreamMode [1/2] + + + + setDualStreamMode - + setDualStreamModeEx @@ -2463,10 +2504,24 @@ + + + + startEchoTest [1/3] + + + + + + + startEchoTest [2/3] + + + - startEchoTest + startEchoTest [3/3] @@ -2514,15 +2569,15 @@ - - - + - pushExternalVideoFrameById + pushExternalVideoFrameById [1/2] - + + + @@ -2672,7 +2727,7 @@ - + @@ -2688,7 +2743,7 @@ - + @@ -2734,7 +2789,7 @@ - + @@ -2784,31 +2839,31 @@ - + - onEventWithContext + onEvent - + - onStartedWithContext + onStarted - + - onStoppedWithContext + onStopped - + - onErrorWithContext + onError @@ -2836,7 +2891,7 @@ - + @@ -2890,6 +2945,20 @@ + + + + setEncryptionMode + + + + + + + setEncryptionSecret + + + @@ -2989,7 +3058,7 @@ - + isCameraZoomSupported @@ -3010,7 +3079,7 @@ - + isCameraExposurePositionSupported @@ -3024,7 +3093,7 @@ - + isCameraAutoFocusFaceModeSupported @@ -3052,21 +3121,21 @@ - + setCameraExposurePosition - + setCameraTorchOn - + setCameraAutoFocusFaceModeEnabled @@ -3112,7 +3181,7 @@ - + @@ -3183,7 +3252,7 @@ - + @@ -3191,17 +3260,17 @@ - + open2 - + - stop [2/2] + stop @@ -3275,13 +3344,6 @@ - - - - destroyMusicPlayer - - - @@ -3352,15 +3414,8 @@ - - - - setPlayMode - - - - + @@ -3405,7 +3460,7 @@ - + enableContentInspect @@ -3491,7 +3546,7 @@ - + getErrorDescription @@ -3505,7 +3560,7 @@ - + getSdkVersion @@ -3554,7 +3609,7 @@ - + setLogFile @@ -3568,7 +3623,7 @@ - + setLogFilter @@ -3662,7 +3717,7 @@ - + onUserMuteAudio @@ -3704,21 +3759,21 @@ - + onTokenPrivilegeWillExpire - + onRequestToken - + onLocalUserRegistered @@ -3783,14 +3838,14 @@ - + onFirstLocalVideoFrame - + onAudioPublishStateChanged @@ -3806,7 +3861,7 @@ - + onAudioSubscribeStateChanged @@ -3820,7 +3875,7 @@ - + onFirstRemoteVideoFrame @@ -3848,14 +3903,14 @@ - + onUserEnableVideo - + onUserMuteVideo @@ -3869,7 +3924,7 @@ - + onVideoSubscribeStateChanged @@ -3950,42 +4005,42 @@ - + onMetaData - + onPlayerCacheStats - + onPlayerEvent - + onPlayerPlaybackStats - + onPlayerStateChanged - + onPositionChanged @@ -4006,14 +4061,14 @@ - + onPlayBufferUpdated - + onPreloadEvent @@ -4027,14 +4082,14 @@ - + onPlayerSrcInfoChanged - + onPlayerInfoUpdated @@ -4067,6 +4122,13 @@ + + + + onAudioMixingFinished + + + @@ -4074,7 +4136,7 @@ - + onAudioEffectFinished @@ -4115,7 +4177,7 @@ - + onChannelMediaRelayStateChanged @@ -4198,7 +4260,7 @@ - + @@ -4335,7 +4397,7 @@ - + @@ -4358,11 +4420,11 @@ - + - onCameraFocusPointChanged + onCameraFocusAreaChanged @@ -4373,7 +4435,7 @@ - + onCameraReady @@ -4397,7 +4459,7 @@ - + @@ -4422,7 +4484,7 @@ - + @@ -4430,7 +4492,7 @@ - + onTranscodedStreamLayoutInfo @@ -4491,7 +4553,7 @@ - + AdvancedAudioOptions @@ -4708,7 +4770,7 @@ - + AgoraVideoFrame @@ -4722,7 +4784,7 @@ - + AgoraFocalLengthInfo @@ -4981,13 +5043,6 @@ - - - - ScreenCaptureParameters - - - @@ -5068,7 +5123,7 @@ - AudioSpectrumInfo + UserAudioSpectrumInfo @@ -5767,38 +5822,31 @@ - - - - ContentInspectType - - - - INVALID + CONTENT_INSPECT_TYPE_INVALID - MODERATION + CONTENT_INSPECT_TYPE_MODERATION - SUPERVISE + CONTENT_INSPECT_TYPE_SUPERVISE - IMAGE_MODERATION + CONTENT_INSPECT_TYPE_IMAGE_MODERATION @@ -6120,28 +6168,28 @@ - STEREO + AUDIO_DUAL_MONO_STEREO - L + AUDIO_DUAL_MONO_L - R + AUDIO_DUAL_MONO_R - MIX + AUDIO_DUAL_MONO_MIX @@ -6180,108 +6228,94 @@ - - - - AudioMixingReason - - - - CAN_NOT_OPEN + AUDIO_MIXING_REASON_CAN_NOT_OPEN - TOO_FREQUENT_CALL + AUDIO_MIXING_REASON_TOO_FREQUENT_CALL - INTERRUPTED_EOF + AUDIO_MIXING_REASON_INTERRUPTED_EOF - OK + AUDIO_MIXING_REASON_OK - ONE_LOOP_COMPLETED + AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED - ALL_LOOPS_COMPLETED + AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED - STOPPED_BY_USER - - - - - - - AudioMixingState + AUDIO_MIXING_REASON_STOPPED_BY_USER - PLAYING + AUDIO_MIXING_STATE_PLAYING - PAUSED + AUDIO_MIXING_STATE_PAUSED - STOPPED + AUDIO_MIXING_STATE_STOPPED - FAILED + AUDIO_MIXING_STATE_FAILED - COMPLETED + AUDIO_MIXING_STATE_COMPLETED - ALL_LOOPS_COMPLETED + AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED @@ -6729,21 +6763,21 @@ - TYPE_32000 + AUDIO_SAMPLE_RATE_32000 - TYPE_44100 + AUDIO_SAMPLE_RATE_44100 - TYPE_48000 + AUDIO_SAMPLE_RATE_48000 @@ -6831,13 +6865,6 @@ - - - - ConnectionChangedReason - - - @@ -7132,234 +7159,220 @@ - - - - ChannelMediaRelayError - - - - OK + RELAY_OK - SERVER_ERROR_RESPONSE + RELAY_ERROR_SERVER_ERROR_RESPONSE - SERVER_NO_RESPONSE + RELAY_ERROR_SERVER_NO_RESPONSE - NO_RESOURCE_AVAILABLE + RELAY_ERROR_NO_RESOURCE_AVAILABLE - FAILED_JOIN_SRC + RELAY_ERROR_FAILED_JOIN_SRC - FAILED_JOIN_DEST + RELAY_ERROR_FAILED_JOIN_DEST - FAILED_PACKET_RECEIVED_FROM_SRC + RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC - FAILED_PACKET_SENT_TO_DEST + RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST - SERVER_CONNECTION_LOST + RELAY_ERROR_SERVER_CONNECTION_LOST - INTERNAL_ERROR + RELAY_ERROR_INTERNAL_ERROR - SRC_TOKEN_EXPIRED + RELAY_ERROR_SRC_TOKEN_EXPIRED - DEST_TOKEN_EXPIRED - - - - - - - ChannelMediaRelayState + RELAY_ERROR_DEST_TOKEN_EXPIRED - NETWORK_DISCONNECTED + RELAY_EVENT_NETWORK_DISCONNECTED - NETWORK_CONNECTED + RELAY_EVENT_NETWORK_CONNECTED - PACKET_JOINED_SRC_CHANNEL + RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL - PACKET_JOINED_DEST_CHANNEL + RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL - PACKET_SENT_TO_DEST_CHANNEL + RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL - PACKET_RECEIVED_VIDEO_FROM_SRC + RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC - PACKET_RECEIVED_AUDIO_FROM_SRC + RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC - PACKET_UPDATE_DEST_CHANNEL + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL - PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE - PACKET_UPDATE_DEST_CHANNEL_IS_NULL + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL - VIDEO_PROFILE_UPDATE + RELAY_EVENT_VIDEO_PROFILE_UPDATE - PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED - RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED - IDLE + RELAY_STATE_IDLE - CONNECTING + RELAY_STATE_CONNECTING - RUNNING + RELAY_STATE_RUNNING - FAILURE + RELAY_STATE_FAILURE @@ -7636,38 +7649,31 @@ - - - - EarMontoringFilterType - - - - NONE + EAR_MONITORING_FILTER_NONE - BUILT_IN_AUDIO_FILTERS + EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS - NOISE_SUPPRESSION + EAR_MONITORING_FILTER_NOISE_SUPPRESSION - REUSE_POST_PROCESSING_FILTER + EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER @@ -7825,13 +7831,6 @@ - - - - ERR_INIT_NET_ENGINE - - - @@ -8399,94 +8398,80 @@ - - - - LocalAudioStreamReason - - - - OK + LOCAL_AUDIO_STREAM_REASON_OK - FAILURE + LOCAL_AUDIO_STREAM_REASON_FAILURE - DEVICE_NO_PERMISSION + LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION - DEVICE_BUSY + LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY - CAPTURE_FAILURE + LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE - ENCODE_FAILURE + LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE - INTERRUPTED - - - - - - - LocalAudioStreamState + LOCAL_AUDIO_STREAM_REASON_INTERRUPTED - STOPPED + LOCAL_AUDIO_STREAM_STATE_STOPPED - RECORDING + LOCAL_AUDIO_STREAM_STATE_RECORDING - ENCODING + LOCAL_AUDIO_STREAM_STATE_ENCODING - FAILED + LOCAL_AUDIO_STREAM_STATE_FAILED @@ -8560,27 +8545,6 @@ - - - - SCREEN_CAPTURE_STOPPED_BY_USER - - - - - - - SCREEN_CAPTURE_INTERRUPTED_BY_OTHER - - - - - - - SCREEN_CAPTURE_STOPPED_BY_CALL - - - @@ -8969,105 +8933,105 @@ - UNKNOWN + PLAYER_EVENT_UNKNOWN - SEEK_BEGIN + PLAYER_EVENT_SEEK_BEGIN - SEEK_COMPLETE + PLAYER_EVENT_SEEK_COMPLETE - SEEK_ERROR + PLAYER_EVENT_SEEK_ERROR - AUDIO_TRACK_CHANGED + PLAYER_EVENT_AUDIO_TRACK_CHANGED - BUFFER_LOW + PLAYER_EVENT_BUFFER_LOW - BUFFER_RECOVER + PLAYER_EVENT_BUFFER_RECOVER - FREEZE_START + PLAYER_EVENT_FREEZE_START - FREEZE_STOP + PLAYER_EVENT_FREEZE_STOP - SWITCH_BEGIN + PLAYER_EVENT_SWITCH_BEGIN - SWITCH_COMPLETE + PLAYER_EVENT_SWITCH_COMPLETE - SWITCH_ERROR + PLAYER_EVENT_SWITCH_ERROR - FIRST_DISPLAYED + PLAYER_EVENT_FIRST_DISPLAYED - REACH_CACHE_FILE_MAX_COUNT + PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT - REACH_CACHE_FILE_MAX_SIZE + PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE @@ -9102,70 +9066,70 @@ - UNKNOWN + PLAYER_STATE_UNKNOWN - IDLE + PLAYER_STATE_IDLE - OPENING + PLAYER_STATE_OPENING - OPEN_COMPLETED + PLAYER_STATE_OPEN_COMPLETED - PLAYING + PLAYER_STATE_PLAYING - PAUSED + PLAYER_STATE_PAUSED - PLAYBACK_COMPLETED + PLAYER_STATE_PLAYBACK_COMPLETED - PLAYBACK_ALL_LOOPS_COMPLETED + PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED - STOPPED + PLAYER_STATE_STOPPED - FAILED + PLAYER_STATE_FAILED @@ -9361,88 +9325,60 @@ - OK + MUSIC_CONTENT_CENTER_STATE_REASON_OK - ERROR + MUSIC_CONTENT_CENTER_STATE_REASON_ERROR - GATEWAY + MUSIC_CONTENT_CENTER_STATE_REASON_GATEWAY - PERMISSION_AND_RESOURCE + MUSIC_CONTENT_CENTER_STATE_REASON_PERMISSION_AND_RESOURCE - INTERNAL_DATA_PARSE + MUSIC_CONTENT_CENTER_STATE_REASON_INTERNAL_DATA_PARSE - MUSIC_LOADING + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_LOADING - MUSIC_DECRYPTION + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_DECRYPTION - HTTP_INTERNAL - - - - - - - MusicPlayMode - - - - - - - ORIGINAL - - - - - - - ACCOMPANY - - - - - - - LEAD_SING - - - - + MUSIC_CONTENT_CENTER_STATE_REASON_HTTP_INTERNAL + + + + PreloadState @@ -9526,13 +9462,6 @@ - - - - PermissionType - - - @@ -9820,45 +9749,38 @@ - - - - RemoteVideoStreamState - - - - STOPPED + REMOTE_VIDEO_STATE_STOPPED - STARTING + REMOTE_VIDEO_STATE_STARTING - DECODING + REMOTE_VIDEO_STATE_DECODING - FROZEN + REMOTE_VIDEO_STATE_FROZEN - FAILED + REMOTE_VIDEO_STATE_FAILED @@ -10507,38 +10429,31 @@ - - - - StreamSubscribeState - - - - IDLE + SUB_STATE_IDLE - NO_SUBSCRIBED + SUB_STATE_NO_SUBSCRIBED - SUBSCRIBING + SUB_STATE_SUBSCRIBING - SUBSCRIBED + SUB_STATE_SUBSCRIBED @@ -10563,6 +10478,13 @@ + + + + VIDEO_BUFFER_RAW_DATA + + + @@ -10584,34 +10506,6 @@ - - - - VideoBufferType - - - - - - - RAW_DATA - - - - - - - ARRAY - - - - - - - TEXTURE - - - @@ -11718,62 +11612,6 @@ - - - - VideoTranscoderError - - - - - - - OK - - - - - - - VIDEO_SOURCE_NOT_READY - - - - - - - INVALID_VIDEO_SOURCE_TYPE - - - - - - - INVALID_IMAGE_PATH - - - - - - - UNSUPPORT_IMAGE_FORMAT - - - - - - - INVALID_LAYOUT - - - - - - - INTERNAL - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index f4ae555934f..6abda2d0f86 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -274,41 +274,6 @@ - - - - AgoraRteCanvas - - - - - - - AgoraRte - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerObserver - - - @@ -485,7 +450,7 @@ - createMediaPlayerWithDelegate: + createMediaPlayerWithDelegate: @@ -636,7 +601,13 @@ - + + + + open [2/2] + + + @@ -883,375 +854,6 @@ - - - - - addView:config:error: - - - - - - - initWithRte:initialConfig: - - - - - - - code - - - - - - - destroy: - - - - - - - message - - - - - - - autoPlay: - - - - - - - getFromBridge: - - - - - - - initWithInitialConfig: - - - - - - - initMediaEngine:error: - - - - - - - registerObserver:error: - - - - - - - unregisterObserver:error: - - - - - - - setAutoPlay:error: - - - - - - - setAppId:error: - - - - - - - setCanvas:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setAbrFallbackLayer:error: - - - - - - - setAbrSubscriptionLayer:error: - - - - - - - abrFallbackLayer: - - - - - - - abrSubscriptionLayer: - - - - - - - appId: - - - - - - - getStats: - - - - - - - videoMirrorMode: - - - - - - - videoRenderMode: - - - - - - - muteAudio: - - - - - - - muteVideo: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setJsonParameter:error: - - - - - - - setJsonParameter:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getInfo:error: - - - - - - - jsonParameter: - - - - - - - jsonParameter: - - - - - - - - pause: - - - - - - - play: - - - - - - - initWithRte:initialConfig: - - - - - - - preloadWithUrl:error: - - - - - - - removeView:config:error: - - - - - - - registerObserver:error: - - - - - - - pause: - - - - - - - openWithUrl:startTime:cb: - - - - - - - unregisterObserver:error: - - - - - - - - - onAudioVolumeIndication:volume: - - - - - - - onEvent: - - - - - - - onMetadata:data: - - - - - - - onPlayerInfoUpdated: - - - - - - - onResolutionChanged: - - - - - - - onStateChanged:newState:error: - - - - @@ -1472,20 +1074,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1574,34 +1162,6 @@ - - - - getFaceShapeAreaOptions: - - - - - - - getFaceShapeAreaOptions:sourceType: - - - - - - - getFaceShapeBeautyOptions - - - - - - - getFaceShapeBeautyOptions:sourceType: - - - @@ -1672,49 +1232,7 @@ - - - - setFaceShapeAreaOptions: - - - - - - - setFaceShapeAreaOptions:sourceType: - - - - - - - setFaceShapeBeautyOptions:options: - - - - - - - setFaceShapeBeautyOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options: - - - - + setFaceInfoDelegate: @@ -1905,13 +1423,6 @@ - - - - takeSnapshotExWithConfig:uid:config: - - - @@ -3840,29 +3351,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3940,13 +3428,6 @@ - - - - takeSnapshotWithConfig:config: - - - @@ -4043,7 +3524,7 @@ - getErrorDescription: + getErrorDescription: @@ -5205,13 +4686,6 @@ - - - - AgoraRteCanvasConfig - - - @@ -5282,13 +4756,6 @@ - - - - AgoraRteConfig - - - @@ -5345,13 +4812,6 @@ - - - - AgoraRteError - - - @@ -5365,27 +4825,6 @@ AgoraVideoFrame - - - - - AgoraFaceShapeAreaOptions - - - - - - - AgoraFaceShapeBeautyOptions - - - - - - - AgoraFilterEffectOptions - - @@ -5499,20 +4938,6 @@ - - - - AgoraMixedAudioStream - - - - - - - AgoraLocalAudioMixerConfiguration - - - @@ -5660,20 +5085,6 @@ - - - - AgoraRtePlayerInfo - - - - - - - AgoraRtePlayerStats - - - @@ -5723,13 +5134,6 @@ - - - - AgoraSnapshotConfig - - - @@ -6344,91 +5748,28 @@ - AgoraAudioEncodingTypeOPUS48000High - - - - - - - AgoraAudioTrackType - - - - - - - AgoraAudioTrackTypeMixable - - - - - - - AgoraAudioTrackTypeDirect - - - - - - - AgoraAudioSourceType - - - - - - - AgoraAudioSourceMicrophone - - - - - - - AgoraAudioSourceCustom - - - - - - - AgoraAudioSourceMediaPlayer - - - - - - - AgoraAudioSourceLoopbackRecording - - - - - - - AgoraAudioSourceMixedStream + AgoraAudioEncodingTypeOPUS48000High - + - AgoraAudioSourceRemoteUser + AgoraAudioTrackType - + - AgoraAudioSourceRemoteChannel + AgoraAudioTrackTypeMixable - + - AgoraAudioSourceTypeUnknown + AgoraAudioTrackTypeDirect @@ -8238,13 +7579,6 @@ - - - - AgoraCompressionAuto - - - @@ -8364,13 +7698,6 @@ - - - - AgoraDegradationMaintainAuto - - - @@ -9057,125 +8384,6 @@ - - - - AgoraFaceShapeArea - - - - - - - AgoraFaceShapeAreaNone - - - - - - - AgoraFaceShapeAreaHeadScale - - - - - - - AgoraFaceShapeAreaForehead - - - - - - - AgoraFaceShapeAreaFaceContour - - - - - - - AgoraFaceShapeAreaFaceLength - - - - - - - AgoraFaceShapeAreaFaceWidth - - - - - - - AgoraFaceShapeAreaCheekbone - - - - - - - AgoraFaceShapeAreaCheek - - - - - - - AgoraFaceShapeAreaChin - - - - - - - AgoraFaceShapeAreaEyeScale - - - - - - - AgoraFaceShapeAreaNoseLength - - - - - - - AgoraFaceShapeAreaNoseWidth - - - - - - - AgoraFaceShapeAreaMouthScale - - - - - - - AgoraFaceShapeStyle - - - - - - - AgoraFaceShapeStyleFemale - - - - - - - AgoraFaceShapeStyleMale - - - @@ -10478,395 +9686,241 @@ - - - - kPreloadStateRemoved - - - - - - - AgoraPermissionType - - - - - - - AgoraPermissionTypeRecordAudio - - - - - - - AgoraPermissionTypeCamera - - - - - - - AgoraMediaPlayerPreloadEvent - - - - - - - AgoraMediaPlayerPreloadEventBegin - - - - - - - AgoraMediaPlayerPreloadEventComplete - - - - - - - AgoraMediaPlayerPreloadEventError - - - - - - - AgoraNetworkQuality - - - - - - - AgoraNetworkQualityUnknown - - - - - - - AgoraNetworkQualityExcellent - - - - - - - AgoraNetworkQualityGood - - - - - - - AgoraNetworkQualityPoor - - - - - - - AgoraNetworkQualityBad - - - - - - - AgoraNetworkQualityVBad - - - - - - - AgoraNetworkQualityDown - - - - - - - AgoraNetworkQualityUnsupported - - - - - - - AgoraNetworkQualityDetecting - - - - - - - AgoraAudioRawFrameOperationMode - - - - - - - AgoraAudioRawFrameOperationModeReadOnly - - - - - - - AgoraAudioRawFrameOperationModeWriteOnly - - - - - - - AgoraAudioRawFrameOperationModeReadWrite - - - - + - AgoraAudioRemoteState + kPreloadStateRemoved - + - AgoraAudioRemoteStateStopped + AgoraPermissionType - + - AgoraAudioRemoteStateStarting + AgoraPermissionTypeRecordAudio - + - AgoraAudioRemoteStateDecoding + AgoraPermissionTypeCamera - + - AgoraAudioRemoteStateFrozen + AgoraMediaPlayerPreloadEvent - + - AgoraAudioRemoteStateFailed + AgoraMediaPlayerPreloadEventBegin - + - AgoraVideoRemoteState + AgoraMediaPlayerPreloadEventComplete - + - AgoraVideoRemoteStateStopped + AgoraMediaPlayerPreloadEventError - + - AgoraVideoRemoteStateStarting + AgoraNetworkQuality - + - AgoraVideoRemoteStateDecoding + AgoraNetworkQualityUnknown - + - AgoraVideoRemoteStateFrozen + AgoraNetworkQualityExcellent - + - AgoraVideoRemoteStateFailed + AgoraNetworkQualityGood - + - AgoraRteAbrFallbackLayer + AgoraNetworkQualityPoor - + - AgoraRteAbrFallbackDisabled + AgoraNetworkQualityBad - + - AgoraRteAbrFallbackLow + AgoraNetworkQualityVBad - + - AgoraRteAbrFallbackAudioOnly + AgoraNetworkQualityDown - + - AgoraRteAbrFallbackLayer1 + AgoraNetworkQualityUnsupported - + - AgoraRteAbrFallbackLayer2 + AgoraNetworkQualityDetecting - + - AgoraRteAbrFallbackLayer3 + AgoraAudioRawFrameOperationMode - + - AgoraRteAbrFallbackLayer4 + AgoraAudioRawFrameOperationModeReadOnly - + - AgoraRteAbrFallbackLayer5 + AgoraAudioRawFrameOperationModeWriteOnly - + - AgoraRteAbrFallbackLayer6 + AgoraAudioRawFrameOperationModeReadWrite - + - AgoraRteErrorCode + AgoraAudioRemoteState - + - AgoraRteOk + AgoraAudioRemoteStateStopped - + - AgoraRteErrorDefault + AgoraAudioRemoteStateStarting - + - AgoraRteErrorInvalidArgument + AgoraAudioRemoteStateDecoding - + - AgoraRteErrorInvalidOperation + AgoraAudioRemoteStateFrozen - + - AgoraRteErrorNetworkError + AgoraAudioRemoteStateFailed - + - AgoraRteErrorAuthenticationFailed + AgoraVideoRemoteState - + - AgoraRteErrorStreamNotFound + AgoraVideoRemoteStateStopped - + - AgoraRteVideoMirrorMode + AgoraVideoRemoteStateStarting - + - AgoraRteVideoMirrorModeAuto + AgoraVideoRemoteStateDecoding - + - AgoraRteVideoMirrorModeEnabled + AgoraVideoRemoteStateFrozen - + - AgoraRteVideoMirrorModeDisabled + AgoraVideoRemoteStateFailed @@ -11024,104 +10078,6 @@ - - - - AgoraRteAbrSubscriptionLayer - - - - - - - AgoraRteAbrSubscriptionHigh - - - - - - - AgoraRteAbrSubscriptionLow - - - - - - - AgoraRteAbrSubscriptionLayer1 - - - - - - - AgoraRteAbrSubscriptionLayer2 - - - - - - - AgoraRteAbrSubscriptionLayer3 - - - - - - - AgoraRteAbrSubscriptionLayer4 - - - - - - - AgoraRteAbrSubscriptionLayer5 - - - - - - - kRteAbrSubscriptionLayer6 - - - - - - - AgoraRteVideoRenderMode - - - - - - - AgoraRteVideoRenderModeHidden - - - - - - - AgoraRteVideoRenderModeFit - - - - - - - AgoraRtePlayerMetadataType - - - - - - - AgoraRtePlayerMetadataTypeSei - - - @@ -11283,68 +10239,6 @@ - - - - AgoraRecorderStreamType - - - - - - - AgoraRecorderStreamTypeRtc - - - - - - - AgoraRecorderStreamTypePreview - - - - - - - AgoraRtePlayerEvent - - - - - - - AgoraRtePlayerEventFreezeStart - - - - - - - AgoraRtePlayerEventFreezeStop - - - - - - - AgoraRtePlayerEventAuthenticationWillExpire - - - - - - - AgoraRtePlayerEventAbrFallbackToAudioOnlyLayer - - - - - - AgoraRtePlayerEventAbrRecoverFromAudioOnlyLayer - - - @@ -11533,69 +10427,6 @@ AgoraRtmpStreamingStateDisconnecting - - - - - AgoraRtePlayerState - - - - - - - AgoraRtePlayerStateIdle - - - - - - - AgoraRtePlayerStateOpening - - - - - - - AgoraRtePlayerStateOpenCompleted - - - - - - - AgoraRtePlayerStatePlaying - - - - - - - AgoraRtePlayerStatePaused - - - - - - - AgoraRtePlayerStatePlaybackCompleted - - - - - - - AgoraRtePlayerStateStopped - - - - - - - AgoraRtePlayerStateFailed - - @@ -12087,13 +10918,6 @@ - - - - AgoraApplicationLiveShowScenario - - - @@ -13275,4 +12099,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index baf188eaf26..be3fcc2ed72 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -48,14 +48,6 @@ - - - - AsyncCallback - - - - @@ -259,62 +251,6 @@ - - - - Canvas - - - - - - - Rte - - - - - - - Player - - - - - - - PlayerConfig - - - - - - - PlayerGetStatsCallback - - - - - - - PlayerObserver - - - - - - - Error - - - - - - - Config - - - @@ -827,7 +763,7 @@ - stop [1/2] + stop @@ -923,10426 +859,9277 @@ - - + + - AddView + enableAudio - + - Canvas + disableAudio - + - code + setAudioProfile [1/2] - + - destroy + setAudioProfile [2/2] - + - message + setAudioScenario - + - getAutoPlay + adjustRecordingSignalVolume - + - errorCode + adjustUserPlaybackSignalVolume - + - GetFromBridge + adjustPlaybackSignalVolume - + - Rte + adjustCustomAudioPlayoutVolume - + - initMediaEngine + adjustCustomAudioPublishVolume - + - registerObserver [1/2] + enableLocalAudio - + - unregisterObserver [1/2] + muteLocalAudioStream - + - setAutoPlay + muteRemoteAudioStream - + - setAppId + muteAllRemoteAudioStreams - + - setCanvas + muteRecordingSignal - + - setRenderMode + setSubscribeAudioBlocklist - + - setAbrFallbackLayer + setSubscribeAudioAllowlist - + + + - setAbrSubscriptionLayer + enableVideo - + - getAbrFallbackLayer + disableVideo - + - getAbrSubscriptionLayer + setSubscribeVideoBlocklist - + - getAppId + setSubscribeVideoAllowlist - + - getStats + setVideoScenario - + - getMirrorMode + setVideoEncoderConfiguration - + - getRenderMode + setupLocalVideo - + - muteAudio + setupRemoteVideo - + - muteVideo + setLocalRenderMode [1/2] - + - setConfigs [1/3] + setLocalRenderMode [2/2] - + - setConfigs [2/3] + setRemoteRenderMode - + - setConfigs [3/3] + setRemoteVideoSubscriptionOptions - + - setMirrorMode + startPreview [1/2] - + - setJsonParameter + startPreview [2/2] - + - setJsonParameter [2/2] + stopPreview [1/2] - + - getConfigs [1/3] + stopPreview [2/2] - + - getConfigs [2/3] + enableLocalVideo - + - getConfigs [3/3] + muteLocalVideoStream - + - getInfo + muteRemoteVideoStream - + - getJsonParameter + muteAllRemoteVideoStreams - + + + + + queryCodecCapability + + + + + - getJsonParameter [2/2] + setAdvancedAudioOptions - + - pause + setAINSMode - + + + - play + setBeautyEffectOptions [1/2] - + - Player + setBeautyEffectOptions [2/2] - + - preloadWithUrl + enableVirtualBackground [1/2] - + - removeView + enableVirtualBackground [2/2] - + - registerObserver + setLowlightEnhanceOptions [1/2] - + - stop + setLowlightEnhanceOptions [2/2] - + - openWithUrl + setVideoDenoiserOptions [1/2] - + - unregisterObserver + setVideoDenoiserOptions [2/2] - - - + - onAudioVolumeIndication + setColorEnhanceOptions [1/2] - + - onEvent + setColorEnhanceOptions [2/2] - + - onMetadata [2/2] + registerFaceInfoObserver - + + + - onPlayerInfoUpdated [2/2] + addVideoWatermarkEx - + - onResolutionChanged + adjustUserPlaybackSignalVolumeEx - + - onStateChanged + clearVideoWatermarkEx - - - + - enableAudio + createDataStreamEx [1/2] - + - disableAudio + createDataStreamEx [2/2] - + - setAudioProfile [1/2] + enableAudioVolumeIndicationEx - + - setAudioProfile [2/2] + getConnectionStateEx - + - setAudioScenario + getUserInfoByUid - + - adjustRecordingSignalVolume + getUserInfoByUserAccount - + - adjustUserPlaybackSignalVolume + joinChannelEx - + - adjustPlaybackSignalVolume + joinChannelWithUserAccountEx - + - adjustCustomAudioPlayoutVolume + leaveChannelEx [1/2] - + - adjustCustomAudioPublishVolume + leaveChannelEx [2/2] - + - enableLocalAudio + muteRemoteAudioStreamEx - + - muteLocalAudioStream + muteRemoteVideoStreamEx - + - muteRemoteAudioStream + pushExternalAudioFrameEx - + - muteAllRemoteAudioStreams + pushExternalEncodedVideoFrameEx - + - muteRecordingSignal + sendCustomReportMessageEx - + - setSubscribeAudioBlocklist + sendStreamMessageEx - + - setSubscribeAudioAllowlist + setRemoteRenderModeEx - - - + - enableVideo + setRemoteVoice3DPositionEx - + - disableVideo + setRemoteVideoStreamTypeEx [1/2] - + - setSubscribeVideoBlocklist + setRemoteVideoStreamTypeEx [2/2] - + - setSubscribeVideoAllowlist + setRemoteVideoSubscriptionOptionsEx - + - setVideoScenario + setRemoteVoicePositionEx - + - setVideoEncoderConfiguration + setSubscribeAudioBlocklistEx - + - setupLocalVideo + setSubscribeAudioAllowlistEx - + - setupRemoteVideo + setSubscribeVideoBlocklistEx - + - setLocalRenderMode [1/2] + setSubscribeVideoAllowlistEx - + - setLocalRenderMode [2/2] + setupRemoteVideoEx - + - setRemoteRenderMode + setVideoEncoderConfigurationEx - + - setLocalRenderTargetFps + takeSnapshotEx - + - setRemoteRenderTargetFps + updateChannelMediaOptionsEx - + - setRemoteVideoSubscriptionOptions + updatePreloadChannelToken - + - startPreview [1/2] + startRtmpStreamWithoutTranscodingEx - + - startPreview [2/2] + startRtmpStreamWithTranscodingEx - + - stopPreview [1/2] + updateRtmpTranscodingEx - + - stopPreview [2/2] + stopRtmpStreamEx - + - enableLocalVideo + startOrUpdateChannelMediaRelayEx - + - muteLocalVideoStream + pauseAllChannelMediaRelayEx - + - muteRemoteVideoStream + muteLocalAudioStreamEx - + - muteAllRemoteVideoStreams + muteLocalVideoStreamEx - - - - - queryCodecCapability - - - - - + - setAdvancedAudioOptions + muteAllRemoteAudioStreamsEx - + - setAINSMode + muteAllRemoteVideoStreamsEx - - - + - getFaceShapeAreaOptions [1/2] + stopChannelMediaRelayEx - + - getFaceShapeAreaOptions [2/2] + resumeAllChannelMediaRelayEx - + + + - getFaceShapeBeautyOptions [1/2] + startScreenCapture - + - getFaceShapeBeautyOptions [2/2] + stopScreenCapture - + - setBeautyEffectOptions [1/2] + updateScreenCaptureParameters - + - setBeautyEffectOptions [2/2] + startScreenCaptureByDisplayId - + - enableVirtualBackground [1/2] + queryScreenCaptureCapability - + - enableVirtualBackground [2/2] + setScreenCaptureScenario - + + + - setLowlightEnhanceOptions [1/2] + setAudioMixingDualMonoMode - + - setLowlightEnhanceOptions [2/2] + setAudioMixingPlaybackSpeed - + - setVideoDenoiserOptions [1/2] + startAudioMixing [1/2] - + - setVideoDenoiserOptions [2/2] + startAudioMixing [2/2] - + - setColorEnhanceOptions [1/2] + stopAudioMixing - + - setColorEnhanceOptions [2/2] + pauseAudioMixing - + - setFaceShapeAreaOptions [1/2] + resumeAudioMixing - + - setFaceShapeAreaOptions [2/2] + adjustAudioMixingVolume - + - setFaceShapeBeautyOptions [1/2] + adjustAudioMixingPlayoutVolume - + - setFaceShapeBeautyOptions [2/2] + adjustAudioMixingPublishVolume - + - setFilterEffectOptions [1/2] + getAudioMixingPlayoutVolume - + - setFilterEffectOptions [2/2] + getAudioMixingPublishVolume - + - registerFaceInfoObserver + getAudioMixingDuration - - - + - addVideoWatermarkEx + getAudioMixingCurrentPosition - + - adjustUserPlaybackSignalVolumeEx + getAudioTrackCount - + - clearVideoWatermarkEx + setAudioMixingPitch - + - createDataStreamEx [1/2] + setAudioMixingPosition - + + + - createDataStreamEx [2/2] + getAudioEffectManager - + - enableAudioVolumeIndicationEx + getEffectsVolume - + - getConnectionStateEx + setEffectsVolume - + - getUserInfoByUid + setVolumeOfEffect - + - getUserInfoByUserAccount + getVolumeOfEffect - + - joinChannelEx + playEffect [1/2] - + - joinChannelWithUserAccountEx + playEffect [2/2] - + - leaveChannelEx [1/2] + stopEffect - + - leaveChannelEx [2/2] + stopAllEffects - + - muteRemoteAudioStreamEx + preloadEffect - + - muteRemoteVideoStreamEx + unloadEffect - + - pushExternalAudioFrameEx + pauseEffect - + - pushExternalEncodedVideoFrameEx + pauseAllEffects - + - sendCustomReportMessageEx + resumeEffect - + - sendStreamMessageEx + resumeAllEffects - + - setRemoteRenderModeEx + setEffectPosition - + - setRemoteVoice3DPositionEx + getEffectDuration - + - setRemoteVideoStreamTypeEx [1/2] + getEffectCurrentPosition - - + + + + - setRemoteVideoStreamTypeEx [2/2] + startRhythmPlayer - + - setRemoteVideoSubscriptionOptionsEx + stopRhythmPlayer - + - setRemoteVoicePositionEx + configRhythmPlayer - + + + - setSubscribeAudioBlocklistEx + enableVoiceAITuner - + - setSubscribeAudioAllowlistEx + setLocalVoicePitch - + - setSubscribeVideoBlocklistEx + setLocalVoiceEqualization - + - setSubscribeVideoAllowlistEx + setLocalVoiceReverb - + - setupRemoteVideoEx + setVoiceBeautifierPreset - + - setVideoEncoderConfigurationEx + setVoiceBeautifierParameters - + - takeSnapshotEx [1/2] + setAudioEffectPreset - + - takeSnapshotEx [2/2] + setAudioEffectParameters - + - updateChannelMediaOptionsEx + setLocalVoiceFormant - + - updatePreloadChannelToken + setVoiceConversionPreset - + + + - startRtmpStreamWithoutTranscodingEx + enableSoundPositionIndication - + - startRtmpStreamWithTranscodingEx + setRemoteVoice3DPosition - + - updateRtmpTranscodingEx + setRemoteVoicePosition - + + + - stopRtmpStreamEx + muteLocalAudioStream - + - startOrUpdateChannelMediaRelayEx + muteAllRemoteAudioStreams - + - pauseAllChannelMediaRelayEx + setAudioRecvRange - + - muteLocalAudioStreamEx + setDistanceUnit - + - muteLocalVideoStreamEx + setMaxAudioRecvCount - + - muteAllRemoteAudioStreamsEx + updatePlayerPositionInfo - + - muteAllRemoteVideoStreamsEx + updateSelfPosition - + - stopChannelMediaRelayEx + setZones - + - resumeAllChannelMediaRelayEx + setPlayerAttenuation - - - + - startScreenCapture + setRemoteAudioAttenuation - + + + - setExternalMediaProjection + clearRemotePositions - + - stopScreenCapture + create - + - updateScreenCaptureParameters + initialize - + - startScreenCaptureByDisplayId + destroy - + - queryScreenCaptureCapability + removeRemotePosition - + - setScreenCaptureScenario + updateRemotePosition - - + + - setAudioMixingDualMonoMode + enableSpatialAudio - + - setAudioMixingPlaybackSpeed + setRemoteUserSpatialAudioParams - + - startAudioMixing [1/2] + setSpatialAudioParams - + + + - startAudioMixing [2/2] + addEventHandler - + - stopAudioMixing + create - + - pauseAudioMixing + enableSpatializer - + - resumeAudioMixing + enterRoom - + - adjustAudioMixingVolume + exitRoom - + - adjustAudioMixingPlayoutVolume + getTeammates - + - adjustAudioMixingPublishVolume + initialize - + - getAudioMixingPlayoutVolume + destroy - + - getAudioMixingPublishVolume + removeEventHandler - + - getAudioMixingDuration + renewToken - + - getAudioMixingCurrentPosition + setAudioRangeMode - + - getAudioTrackCount + setTeamId - + + + - setAudioMixingPitch + startRtmpStreamWithoutTranscoding - + - setAudioMixingPosition + startRtmpStreamWithTranscoding - - - + - getAudioEffectManager + updateRtmpTranscoding - + - getEffectsVolume + stopRtmpStream - + - setEffectsVolume + addBackgroundImage - + - setVolumeOfEffect + addUser - + - getVolumeOfEffect + addWatermark - + - playEffect [1/2] + getAdvancedFeatures - + - playEffect [2/2] + getBackgroundColor - + - stopEffect + getBackgroundImageList - + - stopAllEffects + getBlue - + - preloadEffect + getGreen - + - unloadEffect + getRed - + - pauseEffect + getUserCount - + - pauseAllEffects + getUsers - + - resumeEffect + getWatermarkList - + - resumeAllEffects + removeBackgroundImage - + - setEffectPosition + removeUser - + - getEffectDuration + removeWatermark - + - getEffectCurrentPosition + setAdvancedFeatures - - - + - startRhythmPlayer + setBackgroundColor [1/2] - + - stopRhythmPlayer + setBackgroundColor [2/2] - + - configRhythmPlayer + setBlue - - - + - enableVoiceAITuner + setDirectCdnStreamingAudioConfiguration - + - setLocalVoicePitch + setDirectCdnStreamingVideoConfiguration - + - setLocalVoiceEqualization + setGreen - + - setLocalVoiceReverb + setLiveTranscoding - + - setVoiceBeautifierPreset + setRed - + - setVoiceBeautifierParameters + setUsers [1/2] - + - setAudioEffectPreset + setUsers [2/2] - + - setAudioEffectParameters + startDirectCdnStreaming - + - setLocalVoiceFormant + stopDirectCdnStreaming - + - setVoiceConversionPreset + updateDirectCdnStreamingMediaOptions - - + + - enableSoundPositionIndication + pauseAllChannelMediaRelay - + - setRemoteVoice3DPosition + resumeAllChannelMediaRelay - + - setRemoteVoicePosition + startOrUpdateChannelMediaRelay - - - + - muteLocalAudioStream + stopChannelMediaRelay - + - muteAllRemoteAudioStreams + setSrcChannelInfo - + - setAudioRecvRange + setDestChannelInfo - + - setDistanceUnit + getDestChannelMediaInfos - + - setMaxAudioRecvCount + getSrcChannelMediaInfo - + - updatePlayerPositionInfo + removeDestChannelInfo - + + + - updateSelfPosition + enableAudioVolumeIndication - + + + - setZones + enableFaceDetection - + - setPlayerAttenuation + isCameraFaceDetectSupported - + + + - setRemoteAudioAttenuation + setDefaultAudioRouteToSpeakerphone - - - + - clearRemotePositions + setEnableSpeakerphone - + - create + setRouteInCommunicationMode - + - initialize + isSpeakerphoneEnabled - + + + - destroy + enableInEarMonitoring [1/2] - + - removeRemotePosition + enableInEarMonitoring [2/2] - + - updateRemotePosition + setEarMonitoringAudioFrameParameters - - - + - enableSpatialAudio + setInEarMonitoringVolume - + - setRemoteUserSpatialAudioParams + setHeadphoneEQParameters - + - setSpatialAudioParams + setHeadphoneEQPreset - - + + - addEventHandler + enableDualStreamMode [1/2] - + + - create + enableDualStreamMode [2/2] - + - enableSpatializer + enableDualStreamModeEx - + - enterRoom + setDualStreamMode [1/2] - + - exitRoom + setDualStreamMode [2/2] - + - getTeammates + setDualStreamModeEx - + - initialize + setRemoteVideoStreamType [1/2] - + - destroy + setRemoteVideoStreamType [2/2] - + - removeEventHandler + setRemoteDefaultVideoStreamType [1/2] - + - renewToken + setRemoteDefaultVideoStreamType [2/2] - + + + - setAudioRangeMode + setRemoteSubscribeFallbackOption [1/2] - + - setTeamId + setRemoteSubscribeFallbackOption [2/2] - - + + - startRtmpStreamWithoutTranscoding + startEchoTest - + - startRtmpStreamWithTranscoding + stopEchoTest - + - updateRtmpTranscoding + startLastmileProbeTest - + - stopRtmpStream + stopLastmileProbeTest - + + + - addBackgroundImage + createCustomVideoTrack - + - addUser + destroyCustomVideoTrack - + - addWatermark + setExternalVideoSource - + - getAdvancedFeatures + pushExternalVideoFrameById [1/2] - + - getBackgroundColor + pushExternalVideoFrame [1/2] - + - getBackgroundImageList + pushExternalVideoFrameById [2/2] - + - getBlue + pushExternalVideoFrame [2/2] - + - getGreen + pushExternalEncodedVideoFrame - + - getRed + isTextureEncodeSupported - + - getUserCount + getCurrentMonotonicTimeInMs - + + + - getUsers + createCustomAudioTrack - + - getWatermarkList + destroyCustomAudioTrack - + - removeBackgroundImage + enableCustomAudioLocalPlayback - + - removeUser + setExternalAudioSource [1/2] - + - removeWatermark + setExternalAudioSource [2/2] - + - setAdvancedFeatures + pushExternalAudioFrame [1/2] - + - setBackgroundColor [1/2] + pushExternalAudioFrame - + + + - setBackgroundColor [2/2] + startCameraCapture - + - setBlue + stopCameraCapture - + + + - setDirectCdnStreamingAudioConfiguration + setExternalAudioSink - + - setDirectCdnStreamingVideoConfiguration + pullPlaybackAudioFrame [1/2] - + - setGreen + pullPlaybackAudioFrame [2/2] - + + + - setLiveTranscoding + registerAudioEncodedFrameObserver - + - setRed + onPlaybackAudioEncodedFrame - + - setUsers [1/2] + onRecordAudioEncodedFrame - + - setUsers [2/2] + onMixedAudioEncodedFrame - + + + - startDirectCdnStreaming + registerVideoFrameObserver - + - stopDirectCdnStreaming + onEncodedVideoFrameReceived - + + + - updateDirectCdnStreamingMediaOptions + registerAudioFrameObserver - - - + - pauseAllChannelMediaRelay + setRecordingAudioFrameParameters - + - resumeAllChannelMediaRelay + setPlaybackAudioFrameParameters - + - startOrUpdateChannelMediaRelay + setMixedAudioFrameParameters - + - stopChannelMediaRelay + setPlaybackAudioFrameBeforeMixingParameters - + + + - setSrcChannelInfo + registerVideoEncodedFrameObserver - + + + - setDestChannelInfo + addExtension - + - getDestChannelMediaInfos + enableExtension - + - getSrcChannelMediaInfo + getExtensionProperty [1/2] - + - removeDestChannelInfo + getExtensionProperty [2/2] - - - + - enableAudioVolumeIndication + registerExtension - - - + - enableFaceDetection + setExtensionProperty - + - isCameraFaceDetectSupported + setExtensionProviderProperty - - - + - startLocalAudioMixer + onEventWithContext - + - stopLocalAudioMixer + onStartedWithContext - + - updateLocalAudioMixerConfiguration + onStoppedWithContext - - - + - setDefaultAudioRouteToSpeakerphone + onErrorWithContext - + + + - setEnableSpeakerphone + startLocalVideoTranscoder - + - setRouteInCommunicationMode + stopLocalVideoTranscoder - + - isSpeakerphoneEnabled + updateLocalTranscoderConfiguration - - + + - enableInEarMonitoring [1/2] + registerMediaMetadataObserver - + - enableInEarMonitoring [2/2] + unregisterMediaMetadataObserver - + + + - setEarMonitoringAudioFrameParameters + addVideoWatermark [1/2] - + - setInEarMonitoringVolume + addVideoWatermark [2/2] - + - setHeadphoneEQParameters + clearVideoWatermarks - + + + - setHeadphoneEQPreset + enableEncryption - - - + - enableDualStreamMode [1/2] + enableEncryptionEx - - - - - enableDualStreamMode [2/2] - - - - + + + - enableDualStreamModeEx + startAudioRecording [1/2] - + - setDualStreamMode [1/2] + startAudioRecording [2/2] - + - setDualStreamMode [2/2] + stopAudioRecording - + + + - setDualStreamModeEx + createMediaRecorder - + - setRemoteVideoStreamType [1/2] + destroyMediaRecorder - + - setRemoteVideoStreamType [2/2] + setMediaRecorderObserver - + - setRemoteDefaultVideoStreamType [1/2] + startRecording - + - setRemoteDefaultVideoStreamType [2/2] + stopRecording - - + + - setRemoteSubscribeFallbackOption [1/2] + onRecorderStateChanged - + - setRemoteSubscribeFallbackOption [2/2] + onRecorderInfoUpdated - - + + - startEchoTest + switchCamera [1/2] - + - stopEchoTest + switchCamera [2/2] - + - startLastmileProbeTest + queryCameraFocalLengthCapability - + - stopLastmileProbeTest + getCameraMaxZoomFactor - - - + - createCustomVideoTrack + isCameraZoomSupported - + - destroyCustomVideoTrack + isCameraTorchSupported - + - setExternalRemoteEglContext + isCameraFocusSupported - + - setExternalVideoSource + isCameraExposurePositionSupported - + - pushExternalVideoFrameById [1/2] + isCameraExposureSupported - + - pushExternalVideoFrame [1/2] + isCameraAutoFocusFaceModeSupported - + - pushExternalVideoFrameById [2/2] + setCameraZoomFactor - + - pushExternalVideoFrame [2/2] + setCameraFocusPositionInPreview - + - pushExternalEncodedVideoFrame + setCameraExposureFactor - + - isTextureEncodeSupported + setCameraExposurePosition - + - getCurrentMonotonicTimeInMs + setCameraTorchOn - - - + - createCustomAudioTrack + setCameraAutoFocusFaceModeEnabled - + + + - destroyCustomAudioTrack + getAudioDeviceInfo - + - enableCustomAudioLocalPlayback + startPlaybackDeviceTest - + - setExternalAudioSource [1/2] + stopPlaybackDeviceTest - + - setExternalAudioSource [2/2] + startRecordingDeviceTest - + - pushExternalAudioFrame [1/2] + stopRecordingDeviceTest - + + + - pushExternalAudioFrame + createDataStream [1/2] - - - + - startCameraCapture + createDataStream [2/2] - + - stopCameraCapture + sendStreamMessage - - + + - setExternalAudioSink + disableAudioSpectrumMonitor - + - pullPlaybackAudioFrame [1/2] + enableAudioSpectrumMonitor - + - pullPlaybackAudioFrame [2/2] + registerAudioSpectrumObserver - - - + - registerAudioEncodedFrameObserver + unregisterAudioSpectrumObserver - + + + - onPlaybackAudioEncodedFrame + enableEchoCancellationExternal - + + + - onRecordAudioEncodedFrame + setCameraCapturerConfiguration - + - onMixedAudioEncodedFrame + setLocalVideoMirrorMode - - + + - registerVideoFrameObserver + open [1/2] - + - onEncodedVideoFrameReceived + open [2/2] - - - + - registerAudioFrameObserver + stop - + - setRecordingAudioFrameParameters + preload [1/2] - + - setPlaybackAudioFrameParameters + preload [2/2] - + - setMixedAudioFrameParameters + isPreloaded - + - setPlaybackAudioFrameBeforeMixingParameters + initialize - - - + - registerVideoEncodedFrameObserver + release - - - + - addExtension + destroy [2/2] - + - enableExtension + destroy [1/2] - + - getExtensionProperty [1/2] + renewToken - + - getExtensionProperty [2/2] + unregisterEventHandler - + - registerExtension + registerEventHandler - + - setExtensionProperty - - - - - - - setExtensionProviderProperty + createMusicPlayer - + - onEventWithContext + destroyMusicPlayer - + - onStartedWithContext + getLyric - + - onStoppedWithContext + getMusicCharts - + - onErrorWithContext + getMusicCollectionByMusicChartId [1/2] - - - + - startLocalVideoTranscoder + getMusicCollectionByMusicChartId [2/2] - + - stopLocalVideoTranscoder + getCaches - + - updateLocalTranscoderConfiguration + removeCache - - - + - registerMediaMetadataObserver + getInternalSongCode - + - unregisterMediaMetadataObserver + getSongSimpleInfo - - - + - addVideoWatermark [1/2] + searchMusic [1/2] - + - addVideoWatermark [2/2] + searchMusic [2/2] - + - clearVideoWatermarks + setPlayMode - - + + - enableEncryption + onPreLoadEvent - + - enableEncryptionEx + onMusicChartsResult - - - + - startAudioRecording [1/2] + onMusicCollectionResult - + - startAudioRecording [2/2] + onLyricResult - + - stopAudioRecording + onSongSimpleInfoResult - - - - - createMediaRecorder - - - - - - - destroyMediaRecorder - - - - + + - setMediaRecorderObserver + takeSnapshot - + - startRecording + enableContentInspect - + - stopRecording + enableContentInspectEx - - - - - onRecorderStateChanged - - - - + + - onRecorderInfoUpdated + addInjectStreamUrl - - - + - switchCamera [1/2] + enableVideoImageSource - + - switchCamera [2/2] + removeInjectStreamUrl - + - queryCameraFocalLengthCapability + setAVSyncSource - + - getCameraMaxZoomFactor + setParameters - + - isCameraZoomSupported + addHandler - + - isCameraTorchSupported + complain - + - isCameraFocusSupported + getNetworkType - + - isCameraExposurePositionSupported + getNtpWallTimeInMs - + - isCameraExposureSupported + getCallId - + - isCameraAutoFocusFaceModeSupported + getCallIdEx - + - setCameraZoomFactor + getErrorDescription - + - setCameraFocusPositionInPreview + getNativeHandle - + - setCameraExposureFactor + getSdkVersion - + - setCameraExposurePosition + isFeatureAvailableOnDevice - + - setCameraTorchOn + queryDeviceScore - + - setCameraAutoFocusFaceModeEnabled + rate - - - + - getAudioDeviceInfo + removeHandler - + - startPlaybackDeviceTest + setLocalAccessPoint - + - stopPlaybackDeviceTest + setCloudProxy - + - startRecordingDeviceTest + setLogFile - + - stopRecordingDeviceTest + setLogFileSize - - - + - createDataStream [1/2] + setLogFilter - + - createDataStream [2/2] + setLogLevel - + - sendStreamMessage + sendCustomReportMessage - - - - - disableAudioSpectrumMonitor - - - - - - - enableAudioSpectrumMonitor - - - - - - - registerAudioSpectrumObserver - - - - - - - unregisterAudioSpectrumObserver - - - - - - - - - enableEchoCancellationExternal - - - - - - - - - setCameraCapturerConfiguration - - - - - - - setLocalVideoMirrorMode - - - - - - - - - open [1/2] - - - - - - - open [2/2] - - - - - - - stop [2/2] - - - - - - - preload [1/2] - - - - - - - preload [2/2] - - - - - - - isPreloaded - - - - - - - initialize - - - - - - - release - - - - - - - destroy [2/2] - - - - - - - destroy [1/2] - - - - - - - renewToken - - - - - - - unregisterEventHandler - - - - - - - registerEventHandler - - - - - - - createMusicPlayer - - - - - - - destroyMusicPlayer - - - - - - - getLyric - - - - - - - getMusicCharts - - - - - - - getMusicCollectionByMusicChartId [1/2] - - - - - - - getMusicCollectionByMusicChartId [2/2] - - - - - - - getCaches - - - - - - - removeCache - - - - - - - getInternalSongCode - - - - - - - getSongSimpleInfo - - - - - - - searchMusic [1/2] - - - - - - - searchMusic [2/2] - - - - - - - setPlayMode - - - - - - - - - onPreLoadEvent - - - - - - - onMusicChartsResult - - - - - - - onMusicCollectionResult - - - - - - - onLyricResult - - - - - - - onSongSimpleInfoResult - - - - - - - - - takeSnapshot [1/2] - - - - - - - takeSnapshot [2/2] - - - - - - - enableContentInspect - - - - - - - enableContentInspectEx - - - - - - - - - addInjectStreamUrl - - - - - - - enableVideoImageSource - - - - - - - removeInjectStreamUrl - - - - - - - setAVSyncSource - - - - - - - setParameters - - - - - - - addHandler - - - - - - - complain - - - - - - - getNetworkType - - - - - - - getNtpWallTimeInMs - - - - - - - getCallId - - - - - - - getCallIdEx - - - - - - - getErrorDescription - - - - - - - getNativeHandle - - - - - - - getSdkVersion - - - - - - - isFeatureAvailableOnDevice - - - - - - - queryDeviceScore - - - - - - - rate - - - - - - - removeHandler - - - - - - - setLocalAccessPoint - - - - - - - setCloudProxy - - - - - - - setLogFile - - - - - - - setLogFileSize - - - - - - - setLogFilter - - - - - - - setLogLevel - - - - - - - sendCustomReportMessage - - - - - - - - - - onConnectionStateChanged - - - - - - - onError - - - - - - - onFirstRemoteAudioDecoded - - - - - - - onFirstRemoteAudioFrame - - - - - - - onJoinChannelSuccess - - - - - - - onRejoinChannelSuccess - - - - - - - onLeaveChannel - - - - - - - onClientRoleChanged - - - - - - - onClientRoleChangeFailed - - - - - - - onUserJoined - - - - - - - onUserMuteAudio - - - - - - - onUserOffline - - - - - - - onNetworkTypeChanged - - - - - - - onConnectionInterrupted - - - - - - - onConnectionLost - - - - - - - onConnectionBanned - - - - - - - onTokenPrivilegeWillExpire - - - - - - - onRequestToken - - - - - - - onLocalUserRegistered - - - - - - - onUserInfoUpdated - - - - - - - onUplinkNetworkInfoUpdated - - - - - - - onVideoRenderingTracingResult - - - - - - - - - onLocalAudioStateChanged - - - - - - - onLocalVideoStateChanged - - - - - - - onVideoStopped - - - - - - - onFirstLocalAudioFramePublished - - - - - - - onFirstLocalVideoFramePublished - - - - - - - onFirstLocalVideoFrame - - - - - - - onAudioPublishStateChanged - - - - - - - onVideoPublishStateChanged - - - - - - - - - onAudioSubscribeStateChanged - - - - - - - onFirstRemoteVideoDecoded - - - - - - - onFirstRemoteVideoFrame - - - - - - - onRemoteAudioStateChanged - - - - - - - onRemoteVideoStateChanged - - - - - - - onUserEnableLocalVideo - - - - - - - onUserEnableVideo - - - - - - - onUserMuteVideo - - - - - - - onVideoSizeChanged - - - - - - - onVideoSubscribeStateChanged - - - - - - - - - onRtcStats - - - - - - - onNetworkQuality - - - - - - - onLocalAudioStats - - - - - - - onLocalVideoStats - - - - - - - onRemoteAudioStats - - - - - - - onRemoteAudioTransportStats - - - - - - - onRemoteVideoStats - - - - - - - onRemoteVideoTransportStats - - - - - - - onAudioQuality - - - - - - - - - onAudioVolumeIndication - - - - - - - onMetaData - - - - - - - onPlayerCacheStats - - - - - - - onPlayerEvent - - - - - - - onPlayerPlaybackStats - - - - - - - onPlayerStateChanged - - - - - - - onPositionChanged - - - - - - - onReadData - - - - - - - onSeek - - - - - - - onPlayBufferUpdated - - - - - - - onPreloadEvent - - - - - - - onAgoraCDNTokenWillExpire - - - - - - - onPlayerSrcInfoChanged - - - - - - - onPlayerInfoUpdated - - - - - - - - - - onDirectCdnStreamingStateChanged - - - - - - - onDirectCdnStreamingStats - - - - - - - - - onAudioMixingStateChanged - - - - - - - onAudioMixingFinished - - - - - - - onAudioMixingPositionChanged - - - - - - - onAudioEffectFinished - - - - - - - - - onResult - - - - - - - onResult - - - - - - - - - onEncryptionError - - - - - - - - - onRtmpStreamingEvent - - - - - - - onRtmpStreamingStateChanged - - - - - - - onTranscodingUpdated - - - - - - - - - onChannelMediaRelayStateChanged - - - - - - - - - onAudioVolumeIndication - - - - - - - onActiveSpeaker - - - - - - - - - onFacePositionChanged - - - - - - - - - onAudioRouteChanged - - - - - - - - - onRemoteSubscribeFallbackToAudioOnly - - - - - - - - - onLastmileQuality - - - - - - - onLastmileProbeResult - - - - - - - - - onLocalAudioSpectrum - - - - - - - onRemoteAudioSpectrum - - - - - - - - - onRecordAudioFrame - - - - - - - onPlaybackAudioFrame - - - - - - - onPlaybackAudioFrameBeforeMixing - - - - - - - onMixedAudioFrame - - - - - - - onFrame - - - - - - - getRecordAudioParams - - - - - - - getObservedAudioFramePosition - - - - - - - getMixedAudioParams - - - - - - - getPlaybackAudioParams - - - - - - - - - onCaptureVideoFrame - - - - - - - onFrame - - - - - - - onMediaPlayerVideoFrame - - - - - - - onRenderVideoFrame - - - - - - - getRotationApplied - - - - - - - getMirrorApplied - - - - - - - getVideoFormatPreference - - - - - - - getVideoFrameProcessMode - - - - - - - getObservedFramePosition - - - - - - - onPreEncodeVideoFrame - - - - - - - - - getMaxMetadataSize - - - - - - - onReadyToSendMetadata - - - - - - - onMetadataReceived - - - - - - - - - onCameraFocusAreaChanged - - - - - - - onCameraExposureAreaChanged - - - - - - - onCameraReady - - - - - - - - - onStreamMessage - - - - - - - onStreamMessageError - - - - - - - - - onConnectionStateChange - - - - - - - onTeammateJoined - - - - - - - onTeammateLeft - - - - - - - onTokenWillExpire - - - - - - - - - onEarMonitoringAudioFrame - - - - - - - getEarMonitoringAudioParams - - - - - - - - - onRhythmPlayerStateChanged - - - - - - - - - onLocalVideoTranscoderError - - - - - - - onTranscodedStreamLayoutInfo - - - - - - - - - onPermissionError - - - - - - - onProxyConnected - - - - - - - onFaceInfo - - - - - - - onSnapshotTaken - - - - - - - onContentInspectResult - - - - - - - OnVirtualBackgroundSourceEnabled - - - - - - - - - - AgoraFacePositionInfo - - - - - - - AdvancedAudioOptions - - - - - - - AdvanceOptions - - - - - - - AdvancedConfigInfo - - - - - - - AgoraRhythmPlayerConfig - - - - - - - AudioRecordingConfiguration - - - - - - - AudioEncodedFrameObserverConfig - - - - - - - AudioFrame - - - - - - - AudioSourceType - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - - - - - AudioSpectrumInfo - - - - - - - AudioTrackConfig - - - - - - - AudioVolumeInfo - - - - - - - BeautyOptions - - - - - - - CacheStatistics - - - - - - - CaptureFormat - - - - - - - CameraCapturerConfiguration - - - - - - - CanvasConfig - - - - - - - ChannelMediaInfo - - - - - - - ChannelMediaOptions - - - - - - - ChannelMediaRelayConfiguration - - - - - - - ClientRoleOptions - - - - - - - ClimaxSegment - - - - - - - CloudSpatialAudioConfig - - - - - - - ColorEnhanceOptions - - - - - - - ContentInspectConfig - - - - - - - ContentInspectModule - - - - - - - CodecCapInfo - - - - - - - CodecCapLevels - - - - - - - DataStreamConfig - - - - - - - DeviceInfo - - - - - - - DirectCdnStreamingMediaOptions - - - - - - - DirectCdnStreamingStats - - - - - - - EchoTestConfiguration - - - - - - - EncodedVideoFrameInfo - - - - - - - EncryptionConfig - - - - - - - ExtensionContext - - - - - - - AgoraVideoFrame - - - - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - - - - - IDirectCdnStreamingEventHandler - - - - - - - AgoraFocalLengthInfo - - - - - - - ImageTrackOptions - - - - - - - LiveInjectStreamConfig - - - - - - - LastmileProbeConfig - - - - - - - LastmileProbeOneWayResult - - - - - - - LastmileProbeResult - - - - - - - LeaveChannelOptions - - - - - - - LiveTranscoding - - - - - - - LocalAccessPointConfiguration - - - - - - - LogUploadServerInfo - - - - - - - LocalAudioMixerConfiguration - - - - - - - LocalAudioStats - - - - - - - LocalSpatialAudioConfig - - - - - - - LocalTranscoderConfiguration - - - - - - - LocalVideoStats - - - - - - - LogConfig - - - - - - - LowlightEnhanceOptions - - - - - - - Metadata - - - - - - - MediaRecorderConfiguration - - - - - - - MediaPlayerSource - - - - - - - MixedAudioStream - - - - - - - Music - - - - - - - MusicCacheInfo - - - - - - - MusicChartInfo - - - - - - - MusicCollection - - - - - - - MusicContentCenterConfiguration - - - - - - - MvProperty - - - - - - - PlayerPlaybackStats - - - - - - - MediaStreamInfo - - - - - - - PlayerUpdatedInfo - - - - - - - RecorderInfo - - - - - - - RecorderStreamInfo - - - - - - - Rectangle - - - - - - - RemoteAudioStats - - - - - - - RemoteVideoStats - - - - - - - RemoteVoicePositionInfo - - - - - - - RtcConnection - - - - - - - RtcEngineConfig - - - - - - - AgoraImage - - - - - - - RteException - - - - - - - PlayerInfo - - - - + + + + + + onConnectionStateChanged + + + + + + + onError + + + + + + + onFirstRemoteAudioDecoded + + + + + + + onFirstRemoteAudioFrame + + + + + + + onJoinChannelSuccess + + + + + + + onRejoinChannelSuccess + + + + + + + onLeaveChannel + + + + + + + onClientRoleChanged + + + + + + + onClientRoleChangeFailed + + + + + + + onUserJoined + + + + + + + onUserMuteAudio + + + + + + + onUserOffline + + + + + + + onNetworkTypeChanged + + + + + + + onConnectionInterrupted + + + + + + + onConnectionLost + + + + + + + onConnectionBanned + + + + + + + onTokenPrivilegeWillExpire + + + + + + + onRequestToken + + + + + + + onLocalUserRegistered + + + + + + + onUserInfoUpdated + + + + + + + onUplinkNetworkInfoUpdated + + + + + + + onVideoRenderingTracingResult + + + + + + + + + onLocalAudioStateChanged + + + + + + + onLocalVideoStateChanged + + + + + + + onVideoStopped + + + + + + + onFirstLocalAudioFramePublished + + + + + + + onFirstLocalVideoFramePublished + + + + + + + onFirstLocalVideoFrame + + + + + + + onAudioPublishStateChanged + + + + + + + onVideoPublishStateChanged + + + + + + + + + onAudioSubscribeStateChanged + + + + + + + onFirstRemoteVideoDecoded + + + + + + + onFirstRemoteVideoFrame + + + + + + + onRemoteAudioStateChanged + + + + + + + onRemoteVideoStateChanged + + + + + + + onUserEnableLocalVideo + + + + + + + onUserEnableVideo + + + + + + + onUserMuteVideo + + + + + + + onVideoSizeChanged + + + + + + + onVideoSubscribeStateChanged + + + + + + + + + onRtcStats + + + + + + + onNetworkQuality + + + + + + + onLocalAudioStats + + + + + + + onLocalVideoStats + + + + + + + onRemoteAudioStats + + + + + + + onRemoteAudioTransportStats + + + + + + + onRemoteVideoStats + + + + + + + onRemoteVideoTransportStats + + + + + + + onAudioQuality + + + + + + + + + onAudioVolumeIndication + + + + + + + onMetaData + + + + + + + onPlayerCacheStats + + + + + + + onPlayerEvent + + + + + + + onPlayerPlaybackStats + + + + + + + onPlayerStateChanged + + + + + + + onPositionChanged + + + + + + + onReadData + + + + + + + onSeek + + + + + + + onPlayBufferUpdated + + + + + + + onPreloadEvent + + + + + + + onAgoraCDNTokenWillExpire + + + + + + + onPlayerSrcInfoChanged + + + + + + + onPlayerInfoUpdated + + + + + + + + + + onDirectCdnStreamingStateChanged + + + + + + + onDirectCdnStreamingStats + + + + + + + + + onAudioMixingStateChanged + + + + + + + onAudioMixingFinished + + + + + + + onAudioMixingPositionChanged + + + + + + + onAudioEffectFinished + + + + + + + + + onEncryptionError + + + + + + + + + onRtmpStreamingEvent + + + + + + + onRtmpStreamingStateChanged + + + + + + + onTranscodingUpdated + + + + + + + + + onChannelMediaRelayStateChanged + + + + + + + + + onAudioVolumeIndication + + + + + + + onActiveSpeaker + + + + + + + + + onFacePositionChanged + + + + + + + + + onAudioRouteChanged + + + + + + + + + onRemoteSubscribeFallbackToAudioOnly + + + + + + + + + onLastmileQuality + + + + + + + onLastmileProbeResult + + + + + + + + + onLocalAudioSpectrum + + + + + + + onRemoteAudioSpectrum + + + + + + + + + onRecordAudioFrame + + + + + + + onPlaybackAudioFrame + + + + + + + onPlaybackAudioFrameBeforeMixing + + + + + + + onMixedAudioFrame + + + + + + + onFrame + + + + + + + getRecordAudioParams + + + + + + + getObservedAudioFramePosition + + + + + + + getMixedAudioParams + + + + + + + getPlaybackAudioParams + + + + + + + + + onCaptureVideoFrame + + + + + + + onFrame + + + + + + + onMediaPlayerVideoFrame + + + + + + + onRenderVideoFrame + + + + + + + getRotationApplied + + + + + + + getMirrorApplied + + + + + + + getVideoFormatPreference + + + + + + + getVideoFrameProcessMode + + + + + + + getObservedFramePosition + + + + + + + onPreEncodeVideoFrame + + + + + + + + + getMaxMetadataSize + + + + + + + onReadyToSendMetadata + + + + + + + onMetadataReceived + + + + + + + + + onCameraFocusAreaChanged + + + + + + + onCameraExposureAreaChanged + + + + + + + onCameraReady + + + + + + + + + onStreamMessage + + + + + + + onStreamMessageError + + + + + + + + + onConnectionStateChange + + + + + + + onTeammateJoined + + + + + + + onTeammateLeft + + + + + + + onTokenWillExpire + + + + + + + + + onEarMonitoringAudioFrame + + + + + + + getEarMonitoringAudioParams + + + + + + + + + onRhythmPlayerStateChanged + + + + + + + + + onLocalVideoTranscoderError + + + + + + + onTranscodedStreamLayoutInfo + + + + + + + + + onPermissionError + + + + + + + onProxyConnected + + + + + + + onFaceInfo + + + + + + + onSnapshotTaken + + + + + + + onContentInspectResult + + + + + + + OnVirtualBackgroundSourceEnabled + + + + + + + - PlayerStats + AgoraFacePositionInfo - + - RtcStats + AdvancedAudioOptions - + - ScreenCaptureParameters + AdvanceOptions - + - ScreenCaptureParameters + AdvancedConfigInfo - + - AudioCaptureParameters + AgoraRhythmPlayerConfig - + - VideoCaptureParameters + AudioRecordingConfiguration - + - SegmentationProperty + AudioEncodedFrameObserverConfig - + - SimulcastStreamConfig + AudioFrame - + - SnapshotConfig + AudioSpectrumInfo - + + + + AudioTrackConfig + + + + - SpatialAudioParams + AudioVolumeInfo - + - SpatialAudioZone + BeautyOptions - + - SrcInfo + CacheStatistics - + - TranscodingUser + CaptureFormat - + - TranscodingVideoStream + CameraCapturerConfiguration - + - UplinkNetworkInfo + ChannelMediaInfo - + - UserAudioSpectrumInfo + ChannelMediaOptions - + - UserInfo + ChannelMediaRelayConfiguration - + - VideoCanvas + ClientRoleOptions - + - VideoDenoiserOptions + ClimaxSegment - + - VideoDimensions + CloudSpatialAudioConfig - + - VD_120x120 + ColorEnhanceOptions - + - VD_160x120 + ContentInspectConfig - + - VD_180x180 + ContentInspectModule - + - VD_240x180 + CodecCapInfo - + - VD_320x180 + CodecCapLevels - + - VD_240x240 + DataStreamConfig - + - VD_320x240 + DeviceInfo - + - VD_424x240 + DirectCdnStreamingMediaOptions - + - VD_360x360 + DirectCdnStreamingStats - + - VD_480x360 + EchoTestConfiguration - + - VD_640x360 + EncodedVideoFrameInfo - + - VD_480x480 + EncryptionConfig - + - VD_640x480 + ExtensionContext - + - VD_840x480 + AgoraVideoFrame - + - VD_960x720 + IDirectCdnStreamingEventHandler - + - VD_960x540 + AgoraFocalLengthInfo - + - VD_1280x720 + ImageTrackOptions - + - VD_1920x1080 + LiveInjectStreamConfig - + - VD_2540x1440 + LastmileProbeConfig - + - VD_3840x2160 + LastmileProbeOneWayResult - + - VideoEncoderConfiguration + LastmileProbeResult - + - VideoFrame + LeaveChannelOptions - + - VideoLayout + LiveTranscoding - + - VideoRenderingTracingInfo + LocalAccessPointConfiguration - + - VideoSubscriptionOptions + LogUploadServerInfo - + - VirtualBackgroundSource + LocalAudioStats - + - BLUR_DEGREE_LOW + LocalSpatialAudioConfig - + - BLUR_DEGREE_MEDIUM + LocalTranscoderConfiguration - + - BLUR_DEGREE_HIGH + LocalVideoStats - + - BACKGROUND_NONE + LogConfig - + - BACKGROUND_COLOR + LowlightEnhanceOptions - + - BACKGROUND_IMG + Metadata - + - BACKGROUND_BLUR + MediaRecorderConfiguration - + - BACKGROUND_VIDEO + MediaPlayerSource - + - SaeDeployRegion + Music - + - SAE_DEPLOY_REGION_NONE + MusicCacheInfo - + - SAE_DEPLOY_REGION_CN + MusicChartInfo - + - SAE_DEPLOY_REGION_NA + MusicCollection - + - SAE_DEPLOY_REGION_EU + MusicContentCenterConfiguration - + - SAE_DEPLOY_REGION_AS + MvProperty - + - WatermarkOptions + PlayerPlaybackStats - - - + - AlphaStitchMode + MediaStreamInfo - + - ALPHA_NO_STITCH + PlayerUpdatedInfo - + - ALPHA_STITCH_UP + RecorderInfo - + - ALPHA_STITCH_BELOW + RecorderStreamInfo - + - ALPHA_STITCH_LEFT + Rectangle - + - ALPHA_STITCH_RIGHT + RemoteAudioStats - + - ADAPT_NONE + RemoteVideoStats - + - ADAPT_UP_BANDWIDTH + RemoteVoicePositionInfo - + - ADAPT_DOWN_BANDWIDTH + RtcConnection - + - AreaCode + RtcEngineConfig - + - AREA_CODE_CN + AgoraImage - + - AREA_CODE_NA + RtcStats - + - AREA_CODE_EU + ScreenCaptureParameters - + - AREA_CODE_AS + ScreenCaptureParameters - + - AREA_CODE_JP + AudioCaptureParameters - + - AREA_CODE_IN + VideoCaptureParameters - + - AREA_CODE_GLOB + SegmentationProperty - + - AUDIENCE_LATENCY_LEVEL_LOW_LATENCY + SimulcastStreamConfig - + - AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY + SpatialAudioParams - + - AudioCodecProfileType + SpatialAudioZone - + - LC_AAC + SrcInfo - + - HE_AAC + TranscodingUser - + - HE_AAC_V2 + TranscodingVideoStream - + - AUDIO_CODEC_OPUS + UplinkNetworkInfo - + - AUDIO_CODEC_PCMA + UserAudioSpectrumInfo - + - AUDIO_CODEC_PCMU + UserInfo - + - AUDIO_CODEC_G722 + VideoCanvas - + - AUDIO_CODEC_AACLC + VideoDenoiserOptions - + - AUDIO_CODEC_HEAAC + VideoDimensions - + - AUDIO_CODEC_JC1 + VD_120x120 - + - AUDIO_CODEC_HEAAC2 + VD_160x120 - + - AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC + VD_180x180 - + - AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK + VD_240x180 - + - AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED + VD_320x180 - + - AUDIO_ENCODING_TYPE_AAC_16000_LOW + VD_240x240 - + - AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM + VD_320x240 - + - AUDIO_ENCODING_TYPE_AAC_32000_LOW + VD_424x240 - + - AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM + VD_360x360 - + - AUDIO_ENCODING_TYPE_AAC_32000_HIGH + VD_480x360 - + - AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM + VD_640x360 - + - AUDIO_ENCODING_TYPE_AAC_48000_HIGH + VD_480x480 - + - AUDIO_ENCODING_TYPE_OPUS_16000_LOW + VD_640x480 - + - AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM + VD_840x480 - + - AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM + VD_960x720 - + - AUDIO_ENCODING_TYPE_OPUS_48000_HIGH + VD_960x540 - + - AUDIO_EFFECT_OFF + VD_1280x720 - + - COMPRESSION_PREFERENCE + VD_1920x1080 - + - PREFER_COMPRESSION_AUTO + VD_2540x1440 - + - PREFER_LOW_LATENCY + VD_3840x2160 - + - PREFER_QUALITY + VideoEncoderConfiguration - + - CONTENT_INSPECT_DEVICE_TYPE + VideoFrame - + - CONTENT_INSPECT_DEVICE_INVALID + VideoLayout - + - CONTENT_INSPECT_DEVICE_AGORA + VideoRenderingTracingInfo - + - CONTENT_INSPECT_DEVICE_HIVE + VideoSubscriptionOptions - + - CONTENT_INSPECT_DEVICE_TUPU + VirtualBackgroundSource - + - CONTENT_INSPECT_NEUTRAL + BLUR_DEGREE_LOW - + - CONTENT_INSPECT_SEXY + BLUR_DEGREE_MEDIUM - + - CONTENT_INSPECT_PORN + BLUR_DEGREE_HIGH - + - CONTENT_INSPECT_TYPE_INVALID + BACKGROUND_NONE - + - CONTENT_INSPECT_TYPE_MODERATION + BACKGROUND_COLOR - + - CONTENT_INSPECT_TYPE_SUPERVISE + BACKGROUND_IMG - + - CONTENT_INSPECT_TYPE_IMAGE_MODERATION + BACKGROUND_BLUR - + - ENCODING_PREFERENCE + BACKGROUND_VIDEO - + - PREFER_AUTO + SaeDeployRegion - + - PREFER_SOFTWARE + SAE_DEPLOY_REGION_NONE - + - PREFER_HARDWARE + SAE_DEPLOY_REGION_CN - + - ExternalVideoSourceType + SAE_DEPLOY_REGION_NA - + - VIDEO_FRAME + SAE_DEPLOY_REGION_EU - + - ENCODED_VIDEO_FRAME + SAE_DEPLOY_REGION_AS - + - ROOM_ACOUSTICS_KTV + WatermarkOptions - + + + - ROOM_ACOUSTICS_VOCAL_CONCERT + VIDEO_NO_ALPHA_STITCH - + - ROOM_ACOUSTICS_STUDIO + VIDEO_ALPHA_STITCH_UP - + - ROOM_ACOUSTICS_PHONOGRAPH + VIDEO_ALPHA_STITCH_BELOW - + - ROOM_ACOUSTICS_VIRTUAL_STEREO + VIDEO_ALPHA_STITCH_LEFT - + - ROOM_ACOUSTICS_SPACIAL + VIDEO_ALPHA_STITCH_RIGHT - + - ROOM_ACOUSTICS_ETHEREAL + ADAPT_NONE - + - ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND + ADAPT_UP_BANDWIDTH - + - ROOM_ACOUSTICS_CHORUS + ADAPT_DOWN_BANDWIDTH - + - ROOM_ACOUSTICS_3D_VOICE + AreaCode - + - VOICE_CHANGER_EFFECT_UNCLE + AREA_CODE_CN - + - VOICE_CHANGER_EFFECT_OLDMAN + AREA_CODE_NA - + - VOICE_CHANGER_EFFECT_BOY + AREA_CODE_EU - + - VOICE_CHANGER_EFFECT_SISTER + AREA_CODE_AS - + - VOICE_CHANGER_EFFECT_GIRL + AREA_CODE_JP - + - VOICE_CHANGER_EFFECT_PIGKING + AREA_CODE_IN - + - VOICE_CHANGER_EFFECT_HULK + AREA_CODE_GLOB - + - STYLE_TRANSFORMATION_RNB + AUDIENCE_LATENCY_LEVEL_LOW_LATENCY - + - STYLE_TRANSFORMATION_POPULAR + AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY - + - PITCH_CORRECTION + AudioCodecProfileType - + - AUDIO_EQUALIZATION_BAND_FREQUENCY + LC_AAC - + - AUDIO_EQUALIZATION_BAND_31 + HE_AAC - + - AUDIO_EQUALIZATION_BAND_62 + HE_AAC_V2 - + - AUDIO_EQUALIZATION_BAND_125 + AUDIO_CODEC_OPUS - + - AUDIO_EQUALIZATION_BAND_250 + AUDIO_CODEC_PCMA - + - AUDIO_EQUALIZATION_BAND_500 + AUDIO_CODEC_PCMU - + - AUDIO_EQUALIZATION_BAND_1K + AUDIO_CODEC_G722 - + - AUDIO_EQUALIZATION_BAND_2K + AUDIO_CODEC_AACLC - + - AUDIO_EQUALIZATION_BAND_4K + AUDIO_CODEC_HEAAC - + - AUDIO_EQUALIZATION_BAND_8K + AUDIO_CODEC_JC1 - + - AUDIO_EQUALIZATION_BAND_16K + AUDIO_CODEC_HEAAC2 - + - FRAME_TYPE_PCM16 + AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC - + - POSITION_PLAYBACK + AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK - + - POSITION_RECORD + AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED - + - POSITION_MIXED + AUDIO_ENCODING_TYPE_AAC_16000_LOW - + - POSITION_BEFORE_MIXING + AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM - + - POSITION_EAR_MONITORING + AUDIO_ENCODING_TYPE_AAC_32000_LOW - + - AudioDualMonoMode + AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM - + - AUDIO_DUAL_MONO_STEREO + AUDIO_ENCODING_TYPE_AAC_32000_HIGH - + - AUDIO_DUAL_MONO_L + AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM - + - AUDIO_DUAL_MONO_R + AUDIO_ENCODING_TYPE_AAC_48000_HIGH - + - AUDIO_DUAL_MONO_MIX + AUDIO_ENCODING_TYPE_OPUS_16000_LOW - + - AudioMixingDualMonoMode + AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM - + - AUDIO_MIXING_DUAL_MONO_AUTO + AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM - + - AUDIO_MIXING_DUAL_MONO_L + AUDIO_ENCODING_TYPE_OPUS_48000_HIGH - + - AUDIO_MIXING_DUAL_MONO_R + AUDIO_EFFECT_OFF - + - AUDIO_MIXING_DUAL_MONO_MIX + COMPRESSION_PREFERENCE - + - AUDIO_MIXING_REASON_CAN_NOT_OPEN + PREFER_LOW_LATENCY - + - AUDIO_MIXING_REASON_TOO_FREQUENT_CALL + PREFER_QUALITY - + - AUDIO_MIXING_REASON_INTERRUPTED_EOF + CONTENT_INSPECT_DEVICE_TYPE - + - AUDIO_MIXING_REASON_OK + CONTENT_INSPECT_DEVICE_INVALID - + - AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED + CONTENT_INSPECT_DEVICE_AGORA - + - AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED + CONTENT_INSPECT_DEVICE_HIVE - + - AUDIO_MIXING_REASON_STOPPED_BY_USER + CONTENT_INSPECT_DEVICE_TUPU - + - AUDIO_MIXING_STATE_PLAYING + CONTENT_INSPECT_NEUTRAL - + - AUDIO_MIXING_STATE_PAUSED + CONTENT_INSPECT_SEXY - + - AUDIO_MIXING_STATE_STOPPED + CONTENT_INSPECT_PORN - + - AUDIO_MIXING_STATE_FAILED + CONTENT_INSPECT_TYPE_INVALID - + - AUDIO_MIXING_STATE_COMPLETED + CONTENT_INSPECT_TYPE_MODERATION - + - AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED + CONTENT_INSPECT_TYPE_SUPERVISE - + - AgoraAudioProcessChannels + CONTENT_INSPECT_TYPE_IMAGE_MODERATION - + - AGORA_AUDIO_MONO_PROCESSING + ENCODING_PREFERENCE - + - AGORA_AUDIO_STEREO_PROCESSING + PREFER_AUTO - + - AudioProfile + PREFER_SOFTWARE - + - DEFAULT + PREFER_HARDWARE - + - SPEECH_STANDARD + ExternalVideoSourceType - + - MUSIC_STANDARD + VIDEO_FRAME - + - MUSIC_STANDARD_STEREO + ENCODED_VIDEO_FRAME - + - MUSIC_HIGH_QUALITY + ROOM_ACOUSTICS_KTV - + - MUSIC_HIGH_QUALITY_STEREO + ROOM_ACOUSTICS_VOCAL_CONCERT - + - AUDIO_PROFILE_IOT + ROOM_ACOUSTICS_STUDIO - + - AUDIO_PROFILE_NUM + ROOM_ACOUSTICS_PHONOGRAPH - + - AudioRangeMode + ROOM_ACOUSTICS_VIRTUAL_STEREO - + - AUDIO_RANGE_MODE_WORLD + ROOM_ACOUSTICS_SPACIAL - + - AUDIO_RANGE_MODE_TEAM + ROOM_ACOUSTICS_ETHEREAL - + - AUDIO_FILE_RECORDING_MIC + ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND - + - AUDIO_FILE_RECORDING_PLAYBACK + ROOM_ACOUSTICS_CHORUS - + - AUDIO_FILE_RECORDING_MIXED + ROOM_ACOUSTICS_3D_VOICE - + - AUDIO_RECORDING_QUALITY_LOW + VOICE_CHANGER_EFFECT_UNCLE - + - AUDIO_RECORDING_QUALITY_MEDIUM + VOICE_CHANGER_EFFECT_OLDMAN - + - AUDIO_RECORDING_QUALITY_HIGH + VOICE_CHANGER_EFFECT_BOY - + - AUDIO_RECORDING_QUALITY_ULTRA_HIGH + VOICE_CHANGER_EFFECT_SISTER - + - AUDIO_REVERB_OFF + VOICE_CHANGER_EFFECT_GIRL - + - AUDIO_REVERB_FX_KTV + VOICE_CHANGER_EFFECT_PIGKING - + - AUDIO_REVERB_FX_VOCAL_CONCERT + VOICE_CHANGER_EFFECT_HULK - + - AUDIO_REVERB_FX_UNCLE + STYLE_TRANSFORMATION_RNB - + - AUDIO_REVERB_FX_SISTER + STYLE_TRANSFORMATION_POPULAR - + - AUDIO_REVERB_FX_STUDIO + PITCH_CORRECTION - + - AUDIO_REVERB_FX_POPULAR + AUDIO_EQUALIZATION_BAND_FREQUENCY - + - AUDIO_REVERB_FX_RNB + AUDIO_EQUALIZATION_BAND_31 - + - AUDIO_REVERB_FX_PHONOGRAPH + AUDIO_EQUALIZATION_BAND_62 - + - AUDIO_REVERB_POPULAR + AUDIO_EQUALIZATION_BAND_125 - + - AUDIO_REVERB_RNB + AUDIO_EQUALIZATION_BAND_250 - + - AUDIO_REVERB_ROCK + AUDIO_EQUALIZATION_BAND_500 - + - AUDIO_REVERB_HIPHOP + AUDIO_EQUALIZATION_BAND_1K - + - AUDIO_REVERB_VOCAL_CONCERT + AUDIO_EQUALIZATION_BAND_2K - + - AUDIO_REVERB_KTV + AUDIO_EQUALIZATION_BAND_4K - + - AUDIO_REVERB_STUDIO + AUDIO_EQUALIZATION_BAND_8K - + - AUDIO_VIRTUAL_STEREO + AUDIO_EQUALIZATION_BAND_16K - + - AUDIO_ELECTRONIC_VOICE + FRAME_TYPE_PCM16 - + - AUDIO_THREEDIM_VOICE + POSITION_PLAYBACK - + - AUDIO_REVERB_TYPE + POSITION_RECORD - + - AUDIO_REVERB_DRY_LEVEL + POSITION_MIXED - + - AUDIO_REVERB_WET_LEVEL + POSITION_BEFORE_MIXING - + - AUDIO_REVERB_ROOM_SIZE + POSITION_EAR_MONITORING - + - AUDIO_REVERB_WET_DELAY + AudioDualMonoMode - + - AUDIO_REVERB_STRENGTH + AUDIO_DUAL_MONO_STEREO - + - AUDIO_ROUTE_DEFAULT + AUDIO_DUAL_MONO_L - + - AUDIO_ROUTE_HEADSET + AUDIO_DUAL_MONO_R - + - AUDIO_ROUTE_EARPIECE + AUDIO_DUAL_MONO_MIX - + - AUDIO_ROUTE_HEADSETNOMIC + AudioMixingDualMonoMode - + - AUDIO_ROUTE_SPEAKERPHONE + AUDIO_MIXING_DUAL_MONO_AUTO - + - AUDIO_ROUTE_LOUDSPEAKER + AUDIO_MIXING_DUAL_MONO_L - + - AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP + AUDIO_MIXING_DUAL_MONO_R - + - AUDIO_ROUTE_USB + AUDIO_MIXING_DUAL_MONO_MIX - + - AUDIO_ROUTE_HDMI + AUDIO_MIXING_REASON_CAN_NOT_OPEN - + - AUDIO_ROUTE_DISPLAYPORT + AUDIO_MIXING_REASON_TOO_FREQUENT_CALL - + - AUDIO_ROUTE_AIRPLAY + AUDIO_MIXING_REASON_INTERRUPTED_EOF - + - AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP + AUDIO_MIXING_REASON_OK - + - AudioSampleRateType + AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED - + - AUDIO_SAMPLE_RATE_32000 + AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED - + - AUDIO_SAMPLE_RATE_44100 + AUDIO_MIXING_REASON_STOPPED_BY_USER - + - AUDIO_SAMPLE_RATE_48000 + AUDIO_MIXING_STATE_PLAYING - + - AudioScenario + AUDIO_MIXING_STATE_PAUSED - + - AUDIO_SCENARIO_DEFAULT + AUDIO_MIXING_STATE_STOPPED - + - AUDIO_SCENARIO_CHATROOM + AUDIO_MIXING_STATE_FAILED - + - AUDIO_SCENARIO_GAME_STREAMING + AUDIO_MIXING_STATE_COMPLETED - + - AUDIO_SCENARIO_CHORUS + AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED - + - AUDIO_SCENARIO_MEETING + AgoraAudioProcessChannels - + - CONNECTION_STATE_DISCONNECTED + AGORA_AUDIO_MONO_PROCESSING - + - CONNECTION_STATE_CONNECTING + AGORA_AUDIO_STEREO_PROCESSING - + - CONNECTION_STATE_CONNECTED + AudioProfile - + - CONNECTION_STATE_RECONNECTING + DEFAULT - + - CONNECTION_STATE_FAILED + SPEECH_STANDARD - + - CONNECTION_CHANGED_CONNECTING + MUSIC_STANDARD - + - CONNECTION_CHANGED_JOIN_SUCCESS + MUSIC_STANDARD_STEREO - + - CONNECTION_CHANGED_INTERRUPTED + MUSIC_HIGH_QUALITY - + - CONNECTION_CHANGED_BANNED_BY_SERVER + MUSIC_HIGH_QUALITY_STEREO - + - CONNECTION_CHANGED_JOIN_FAILED + AUDIO_PROFILE_IOT - + - CONNECTION_CHANGED_LEAVE_CHANNEL + AUDIO_PROFILE_NUM - + - CONNECTION_CHANGED_INVALID_APP_ID + AudioRangeMode - + - CONNECTION_CHANGED_INVALID_CHANNEL_NAME + AUDIO_RANGE_MODE_WORLD - + - CONNECTION_CHANGED_INVALID_TOKEN + AUDIO_RANGE_MODE_TEAM - + - CONNECTION_CHANGED_TOKEN_EXPIRED + AUDIO_FILE_RECORDING_MIC - + - CONNECTION_CHANGED_REJECTED_BY_SERVER + AUDIO_FILE_RECORDING_PLAYBACK - + - CONNECTION_CHANGED_SETTING_PROXY_SERVER + AUDIO_FILE_RECORDING_MIXED - + - CONNECTION_CHANGED_RENEW_TOKEN + AUDIO_RECORDING_QUALITY_LOW - + - CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED + AUDIO_RECORDING_QUALITY_MEDIUM - + - CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT + AUDIO_RECORDING_QUALITY_HIGH - + - CONNECTION_CHANGED_REJOIN_SUCCESS + AUDIO_RECORDING_QUALITY_ULTRA_HIGH - + - CONNECTION_CHANGED_LOST + AUDIO_REVERB_OFF - + - CONNECTION_CHANGED_ECHO_TEST + AUDIO_REVERB_FX_KTV - + - CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER + AUDIO_REVERB_FX_VOCAL_CONCERT - + - CONNECTION_CHANGED_SAME_UID_LOGIN + AUDIO_REVERB_FX_UNCLE - + - CONNECTION_CHANGED_TOO_MANY_BROADCASTERS + AUDIO_REVERB_FX_SISTER - + - CONTAINER_MP4 + AUDIO_REVERB_FX_STUDIO - - - - AudioTrackType - - - - - - - AUDIO_TRACK_MIXABLE - - - - - - - AUDIO_TRACK_DIRECT - - - - + - CAMERA_DIRECTION + AUDIO_REVERB_FX_POPULAR - + - CAMERA_REAR + AUDIO_REVERB_FX_RNB - + - CAMERA_FRONT + AUDIO_REVERB_FX_PHONOGRAPH - + - CAMERA_EXTRA + AUDIO_REVERB_POPULAR - + - CAMERA_FOCAL_LENGTH_TYPE + AUDIO_REVERB_RNB - + - CAMERA_FOCAL_LENGTH_DEFAULT + AUDIO_REVERB_ROCK - + - CAMERA_FOCAL_LENGTH_WIDE_ANGLE + AUDIO_REVERB_HIPHOP - + - CAMERA_FOCAL_LENGTH_ULTRA_WIDE + AUDIO_REVERB_VOCAL_CONCERT - + - CAPTURE_BRIGHTNESS_LEVEL_INVALID + AUDIO_REVERB_KTV - + - CAPTURE_BRIGHTNESS_LEVEL_NORMAL + AUDIO_REVERB_STUDIO - + - CAPTURE_BRIGHTNESS_LEVEL_BRIGHT + AUDIO_VIRTUAL_STEREO - + - CAPTURE_BRIGHTNESS_LEVEL_DARK + AUDIO_ELECTRONIC_VOICE - + - CAPTURER_OUTPUT_PREFERENCE + AUDIO_THREEDIM_VOICE - + - CAPTURER_OUTPUT_PREFERENCE_AUTO + AUDIO_REVERB_TYPE - + - CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE + AUDIO_REVERB_DRY_LEVEL - + - CAPTURER_OUTPUT_PREFERENCE_PREVIEW + AUDIO_REVERB_WET_LEVEL - + - CAPTURER_OUTPUT_PREFERENCE_MANUAL + AUDIO_REVERB_ROOM_SIZE - + - RELAY_OK + AUDIO_REVERB_WET_DELAY - + - RELAY_ERROR_SERVER_ERROR_RESPONSE + AUDIO_REVERB_STRENGTH - + - RELAY_ERROR_SERVER_NO_RESPONSE + AUDIO_ROUTE_DEFAULT - + - RELAY_ERROR_NO_RESOURCE_AVAILABLE + AUDIO_ROUTE_HEADSET - + - RELAY_ERROR_FAILED_JOIN_SRC + AUDIO_ROUTE_EARPIECE - + - RELAY_ERROR_FAILED_JOIN_DEST + AUDIO_ROUTE_HEADSETNOMIC - + - RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC + AUDIO_ROUTE_SPEAKERPHONE - + - RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST + AUDIO_ROUTE_LOUDSPEAKER - + - RELAY_ERROR_SERVER_CONNECTION_LOST + AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP - + - RELAY_ERROR_INTERNAL_ERROR + AUDIO_ROUTE_USB - + - RELAY_ERROR_SRC_TOKEN_EXPIRED + AUDIO_ROUTE_HDMI - + - RELAY_ERROR_DEST_TOKEN_EXPIRED + AUDIO_ROUTE_DISPLAYPORT - + - RELAY_EVENT_NETWORK_DISCONNECTED + AUDIO_ROUTE_AIRPLAY - + - RELAY_EVENT_NETWORK_CONNECTED + AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP - + - RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL + AudioSampleRateType - + - RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL + AUDIO_SAMPLE_RATE_32000 - + - RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL + AUDIO_SAMPLE_RATE_44100 - + - RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC + AUDIO_SAMPLE_RATE_48000 - + - RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC + AudioScenario - + - RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL + AUDIO_SCENARIO_DEFAULT - + - RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE + AUDIO_SCENARIO_CHATROOM - + - RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL + AUDIO_SCENARIO_GAME_STREAMING - + - RELAY_EVENT_VIDEO_PROFILE_UPDATE + AUDIO_SCENARIO_CHORUS - + - RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + AUDIO_SCENARIO_MEETING - + - RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED + CONNECTION_STATE_DISCONNECTED - + - RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + CONNECTION_STATE_CONNECTING - + - RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED + CONNECTION_STATE_CONNECTED - + - RELAY_STATE_IDLE + CONNECTION_STATE_RECONNECTING - + - RELAY_STATE_CONNECTING + CONNECTION_STATE_FAILED - + - RELAY_STATE_RUNNING + CONNECTION_CHANGED_CONNECTING - + - RELAY_STATE_FAILURE + CONNECTION_CHANGED_JOIN_SUCCESS - + - CHANNEL_PROFILE_COMMUNICATION + CONNECTION_CHANGED_INTERRUPTED - + - CHANNEL_PROFILE_LIVE_BROADCASTING + CONNECTION_CHANGED_BANNED_BY_SERVER - + - CHANNEL_PROFILE_GAME + CONNECTION_CHANGED_JOIN_FAILED - + - CHANNEL_PROFILE_CLOUD_GAMING + CONNECTION_CHANGED_LEAVE_CHANNEL - + - CHANNEL_PROFILE_COMMUNICATION_1v1 + CONNECTION_CHANGED_INVALID_APP_ID - + - CLIENT_ROLE_BROADCASTER + CONNECTION_CHANGED_INVALID_CHANNEL_NAME - + - CLIENT_ROLE_AUDIENCE + CONNECTION_CHANGED_INVALID_TOKEN - + - CLIENT_ROLE_CHANGE_FAILED_TOO_MANY_BROADCASTERS + CONNECTION_CHANGED_TOKEN_EXPIRED - + - CLIENT_ROLE_CHANGE_FAILED_NOT_AUTHORIZED + CONNECTION_CHANGED_REJECTED_BY_SERVER - + - CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT + CONNECTION_CHANGED_SETTING_PROXY_SERVER - + - CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED + CONNECTION_CHANGED_RENEW_TOKEN - + - TRANSPORT_TYPE_NONE_PROXY + CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED - + - TRANSPORT_TYPE_UDP_PROXY + CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT - + - TRANSPORT_TYPE_TCP_PROXY + CONNECTION_CHANGED_REJOIN_SUCCESS - + - PROXY_TYPE_NONE_PROXY + CONNECTION_CHANGED_LOST - + - PROXY_TYPE_UDP_CLOUD_PROXY + CONNECTION_CHANGED_ECHO_TEST - + - PROXY_TYPE_TCP_CLOUD_PROXY + CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER - + - PROXY_TYPE_LOCAL_PROXY + CONNECTION_CHANGED_SAME_UID_LOGIN - + - PROXY_TYPE_TCP_AUTO_FALLBACK + CONNECTION_CHANGED_TOO_MANY_BROADCASTERS - + - DEGRADATION_PREFERENCE + CONTAINER_MP4 - + + + + AudioTrackType + + + + + + + AUDIO_TRACK_MIXABLE + + + + + + + AUDIO_TRACK_DIRECT + + + + - MAINTAIN_AUTO + CAMERA_DIRECTION - + - MAINTAIN_QUALITY + CAMERA_REAR - + - MAINTAIN_FRAMERATE + CAMERA_FRONT - + - MAINTAIN_BALANCED + CAMERA_EXTRA - + - MAINTAIN_RESOLUTION + CAMERA_FOCAL_LENGTH_TYPE - + - DirectCdnStreamingReason + CAMERA_FOCAL_LENGTH_DEFAULT - + - OK + CAMERA_FOCAL_LENGTH_WIDE_ANGLE - + - FAILED + CAMERA_FOCAL_LENGTH_ULTRA_WIDE - + - AUDIO_PUBLICATION + CAPTURE_BRIGHTNESS_LEVEL_INVALID - + - VIDEO_PUBLICATION + CAPTURE_BRIGHTNESS_LEVEL_NORMAL - + - NET_CONNECT + CAPTURE_BRIGHTNESS_LEVEL_BRIGHT - + - BAD_NAME + CAPTURE_BRIGHTNESS_LEVEL_DARK - + - DirectCdnStreamingState + CAPTURER_OUTPUT_PREFERENCE - + - IDLE + CAPTURER_OUTPUT_PREFERENCE_AUTO - + - RUNNING + CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE - + - STOPPED + CAPTURER_OUTPUT_PREFERENCE_PREVIEW - + - FAILED + CAPTURER_OUTPUT_PREFERENCE_MANUAL - + - RECOVERING + RELAY_OK - + - EAR_MONITORING_FILTER_NONE + RELAY_ERROR_SERVER_ERROR_RESPONSE - + - EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS + RELAY_ERROR_SERVER_NO_RESPONSE - + - EAR_MONITORING_FILTER_NOISE_SUPPRESSION + RELAY_ERROR_NO_RESOURCE_AVAILABLE - + - EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER + RELAY_ERROR_FAILED_JOIN_SRC - + - ENCRYPTION_ERROR_TYPE + RELAY_ERROR_FAILED_JOIN_DEST - + - ENCRYPTION_ERROR_INTERNAL_FAILURE + RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC - + - ENCRYPTION_ERROR_DECRYPTION_FAILURE + RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST - + - ENCRYPTION_ERROR_ENCRYPTION_FAILURE + RELAY_ERROR_SERVER_CONNECTION_LOST - + - ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE + RELAY_ERROR_INTERNAL_ERROR - + - ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE + RELAY_ERROR_SRC_TOKEN_EXPIRED - + - ERR_OK + RELAY_ERROR_DEST_TOKEN_EXPIRED - + - ERR_FAILED + RELAY_EVENT_NETWORK_DISCONNECTED - + - ERR_INVALID_ARGUMENT + RELAY_EVENT_NETWORK_CONNECTED - + - ERR_NOT_READY + RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL - + - ERR_NOT_SUPPORTED + RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL - + - ERR_REFUSED + RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL - + - ERR_BUFFER_TOO_SMALL + RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC - + - ERR_NOT_INITIALIZED + RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC - + - ERR_INVALID_STATE + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL - + - ERR_NO_PERMISSION + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE - + - ERR_TIMEDOUT + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL - + - ERR_JOIN_CHANNEL_REJECTED + RELAY_EVENT_VIDEO_PROFILE_UPDATE - + - ERR_LEAVE_CHANNEL_REJECTED + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - + - ERR_ALREADY_IN_USE + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED - + - ERR_ABORTED + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - + - ERR_RESOURCE_LIMITED + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED - + - ERR_INVALID_APP_ID + RELAY_STATE_IDLE - + - ERR_INVALID_CHANNEL_NAME + RELAY_STATE_CONNECTING - + - ERR_NO_SERVER_RESOURCES + RELAY_STATE_RUNNING - + - ERR_TOKEN_EXPIRED + RELAY_STATE_FAILURE - + - ERR_INVALID_TOKEN + CHANNEL_PROFILE_COMMUNICATION - + - ERR_CONNECTION_INTERRUPTED + CHANNEL_PROFILE_LIVE_BROADCASTING - + - ERR_CONNECTION_LOST + CHANNEL_PROFILE_GAME - + - ERR_NOT_IN_CHANNEL + CHANNEL_PROFILE_CLOUD_GAMING - + - ERR_SIZE_TOO_LARGE + CHANNEL_PROFILE_COMMUNICATION_1v1 - + - ERR_BITRATE_LIMIT + CLIENT_ROLE_BROADCASTER - + - ERR_TOO_MANY_DATA_STREAMS + CLIENT_ROLE_AUDIENCE - + - ERR_STREAM_MESSAGE_TIMEOUT + CLIENT_ROLE_CHANGE_FAILED_TOO_MANY_BROADCASTERS - + - ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED + CLIENT_ROLE_CHANGE_FAILED_NOT_AUTHORIZED - + - ERR_DECRYPTION_FAILED + CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT - + - ERR_INVALID_USER_ID + CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED - + - ERR_CLIENT_IS_BANNED_BY_SERVER + TRANSPORT_TYPE_NONE_PROXY - + - ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH + TRANSPORT_TYPE_UDP_PROXY - + - ERR_LICENSE_CREDENTIAL_INVALID + TRANSPORT_TYPE_TCP_PROXY - + - ERR_INVALID_USER_ACCOUNT + PROXY_TYPE_NONE_PROXY - + - ERR_MODULE_NOT_FOUND + PROXY_TYPE_UDP_CLOUD_PROXY - + - ERR_LOAD_MEDIA_ENGINE + PROXY_TYPE_TCP_CLOUD_PROXY - + - ERR_ADM_GENERAL_ERROR + PROXY_TYPE_LOCAL_PROXY - + - ERR_ADM_INIT_PLAYOUT + PROXY_TYPE_TCP_AUTO_FALLBACK - + - ERR_ADM_START_PLAYOUT + DEGRADATION_PREFERENCE - + - ERR_ADM_STOP_PLAYOUT + MAINTAIN_QUALITY - + - ERR_ADM_INIT_RECORDING + MAINTAIN_FRAMERATE - + - ERR_ADM_START_RECORDING + MAINTAIN_BALANCED - + - ERR_ADM_STOP_RECORDING + MAINTAIN_RESOLUTION - + - ERR_VDM_CAMERA_NOT_AUTHORIZED + DirectCdnStreamingReason - + - ERR_DATASTREAM_DECRYPTION_FAILED + OK - + - EncryptionMode + FAILED - + - AES_128_XTS + AUDIO_PUBLICATION - + - AES_128_ECB + VIDEO_PUBLICATION - + - AES_256_XTS + NET_CONNECT - + - SM4_128_ECB + BAD_NAME - + - AES_128_GCM + DirectCdnStreamingState - + - AES_256_GCM + IDLE - + - AES_128_GCM2 + RUNNING - + - AES_256_GCM2 + STOPPED - + - MODE_END + FAILED - + - EXPERIENCE_REASON_NONE + RECOVERING - + - REMOTE_NETWORK_QUALITY_POOR + EAR_MONITORING_FILTER_NONE - + - LOCAL_NETWORK_QUALITY_POOR + EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS - + - WIRELESS_SIGNAL_POOR + EAR_MONITORING_FILTER_NOISE_SUPPRESSION - + - WIFI_BLUETOOTH_COEXIST + EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER - + - EXPERIENCE_QUALITY_GOOD + ENCRYPTION_ERROR_TYPE - + - EXPERIENCE_QUALITY_BAD + ENCRYPTION_ERROR_INTERNAL_FAILURE - + - FACE_SHAPE_AREA_NONE + ENCRYPTION_ERROR_DECRYPTION_FAILURE - + - FACE_SHAPE_AREA_HEADSCALE + ENCRYPTION_ERROR_ENCRYPTION_FAILURE - + - FACE_SHAPE_AREA_FOREHEAD + ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE - + - FACE_SHAPE_AREA_FACECONTOUR + ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE - + - FACE_SHAPE_AREA_FACELENGTH + ERR_OK - + - FACE_SHAPE_AREA_FACEWIDTH + ERR_FAILED - + - FACE_SHAPE_AREA_CHEEKBONE + ERR_INVALID_ARGUMENT - + - FACE_SHAPE_AREA_CHEEK + ERR_NOT_READY - + - FACE_SHAPE_AREA_CHIN + ERR_NOT_SUPPORTED - + - FACE_SHAPE_AREA_EYESCALE + ERR_REFUSED - + - FACE_SHAPE_AREA_NOSELENGTH + ERR_BUFFER_TOO_SMALL - + - FACE_SHAPE_AREA_NOSEWIDTH + ERR_NOT_INITIALIZED - + - FACE_SHAPE_AREA_MOUTHSCALE + ERR_INVALID_STATE - + - FACE_SHAPE_BEAUTY_STYLE_FEMALE + ERR_NO_PERMISSION - + - FACE_SHAPE_BEAUTY_STYLE_MALE + ERR_TIMEDOUT - + - FeatureType + ERR_JOIN_CHANNEL_REJECTED - + - VIDEO_VIRTUAL_BACKGROUND + ERR_LEAVE_CHANNEL_REJECTED - + - VIDEO_BEAUTY_EFFECT + ERR_ALREADY_IN_USE - + - FRAME_RATE + ERR_ABORTED - + - FRAME_RATE_FPS_1 + ERR_RESOURCE_LIMITED - + - FRAME_RATE_FPS_7 + ERR_INVALID_APP_ID - + - FRAME_RATE_FPS_10 + ERR_INVALID_CHANNEL_NAME - + - FRAME_RATE_FPS_15 + ERR_NO_SERVER_RESOURCES - + - FRAME_RATE_FPS_24 + ERR_TOKEN_EXPIRED - + - FRAME_RATE_FPS_30 + ERR_INVALID_TOKEN - + - FRAME_RATE_FPS_60 + ERR_CONNECTION_INTERRUPTED - + - HEADPHONE_EQUALIZER_PRESET + ERR_CONNECTION_LOST - + - HEADPHONE_EQUALIZER_OFF + ERR_NOT_IN_CHANNEL - + - HEADPHONE_EQUALIZER_OVEREAR + ERR_SIZE_TOO_LARGE - + - HEADPHONE_EQUALIZER_INEAR + ERR_BITRATE_LIMIT - + - LASTMILE_PROBE_RESULT_COMPLETE + ERR_TOO_MANY_DATA_STREAMS - + - LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE + ERR_STREAM_MESSAGE_TIMEOUT - + - LASTMILE_PROBE_RESULT_UNAVAILABLE + ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED - + - LIGHTENING_CONTRAST_LOW + ERR_DECRYPTION_FAILED - + - LIGHTENING_CONTRAST_NORMAL + ERR_INVALID_USER_ID - + - LIGHTENING_CONTRAST_HIGH + ERR_CLIENT_IS_BANNED_BY_SERVER - + - INJECT_STREAM_STATUS_START_SUCCESS + ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH - + - INJECT_STREAM_STATUS_START_ALREADY_EXISTS + ERR_LICENSE_CREDENTIAL_INVALID - + - INJECT_STREAM_STATUS_START_UNAUTHORIZED + ERR_INVALID_USER_ACCOUNT - + - INJECT_STREAM_STATUS_START_TIMEDOUT + ERR_MODULE_NOT_FOUND - + - INJECT_STREAM_STATUS_START_FAILED + ERR_LOAD_MEDIA_ENGINE - + - INJECT_STREAM_STATUS_STOP_SUCCESS + ERR_ADM_GENERAL_ERROR - + - INJECT_STREAM_STATUS_STOP_NOT_FOUND + ERR_ADM_INIT_PLAYOUT - + - INJECT_STREAM_STATUS_STOP_UNAUTHORIZED + ERR_ADM_START_PLAYOUT - + - INJECT_STREAM_STATUS_STOP_TIMEDOUT + ERR_ADM_STOP_PLAYOUT - + - INJECT_STREAM_STATUS_STOP_FAILED + ERR_ADM_INIT_RECORDING - + - INJECT_STREAM_STATUS_BROKEN + ERR_ADM_START_RECORDING - + - LOCAL_AUDIO_STREAM_REASON_OK + ERR_ADM_STOP_RECORDING - + - LOCAL_AUDIO_STREAM_REASON_FAILURE + ERR_VDM_CAMERA_NOT_AUTHORIZED - + - LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION + ERR_DATASTREAM_DECRYPTION_FAILED - + - LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY + EncryptionMode - + - LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE + AES_128_XTS - + - LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE + AES_128_ECB - + - LOCAL_AUDIO_STREAM_REASON_INTERRUPTED + AES_256_XTS - + - LOCAL_AUDIO_STREAM_STATE_STOPPED + SM4_128_ECB - + - LOCAL_AUDIO_STREAM_STATE_RECORDING + AES_128_GCM - + - LOCAL_AUDIO_STREAM_STATE_ENCODING + AES_256_GCM - + - LOCAL_AUDIO_STREAM_STATE_FAILED + AES_128_GCM2 - + - LOCAL_RPOXY_CONNECTIVITY_FIRST + AES_256_GCM2 - + - LOCAL_RPOXY_LOCAL_ONLY + MODE_END - + - LOCAL_VIDEO_STREAM_REASON_OK + EXPERIENCE_REASON_NONE - + - LOCAL_VIDEO_STREAM_REASON_FAILURE + REMOTE_NETWORK_QUALITY_POOR - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION + LOCAL_NETWORK_QUALITY_POOR - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY + WIRELESS_SIGNAL_POOR - + - LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE + WIFI_BLUETOOTH_COEXIST - + - LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT + EXPERIENCE_QUALITY_GOOD - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND + EXPERIENCE_QUALITY_BAD - + - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_MINIMIZED + FeatureType - + - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_CLOSED + VIDEO_VIRTUAL_BACKGROUND - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT + VIDEO_BEAUTY_EFFECT - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR + FRAME_RATE - + - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_FAILURE + FRAME_RATE_FPS_1 - + - LOCAL_VIDEO_STREAM_STATE_STOPPED + FRAME_RATE_FPS_7 - + - LOCAL_VIDEO_STREAM_STATE_CAPTURING + FRAME_RATE_FPS_10 - + - LOCAL_VIDEO_STREAM_STATE_ENCODING + FRAME_RATE_FPS_15 - + - LOCAL_VIDEO_STREAM_STATE_FAILED + FRAME_RATE_FPS_24 - - - - ERR_SCREEN_CAPTURE_PERMISSION_DENIED - - - - - - - ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED - - - - + - ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED + FRAME_RATE_FPS_30 - + - LOG_FILTER_OFF + FRAME_RATE_FPS_60 - + - LOG_FILTER_DEBUG + HEADPHONE_EQUALIZER_PRESET - + - LOG_FILTER_INFO + HEADPHONE_EQUALIZER_OFF - + - LOG_FILTER_WARN + HEADPHONE_EQUALIZER_OVEREAR - + - LOG_FILTER_ERROR + HEADPHONE_EQUALIZER_INEAR - + - LOG_FILTER_CRITICAL + LASTMILE_PROBE_RESULT_COMPLETE - + - LogLevel + LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE - + - LOG_LEVEL_NONE + LASTMILE_PROBE_RESULT_UNAVAILABLE - + - LOG_LEVEL_INFO + LIGHTENING_CONTRAST_LOW - + - LOG_LEVEL_WARN + LIGHTENING_CONTRAST_NORMAL - + - LOG_LEVEL_ERROR + LIGHTENING_CONTRAST_HIGH - + - LOG_LEVEL_FATAL + INJECT_STREAM_STATUS_START_SUCCESS - + - LOW_LIGHT_ENHANCE_AUTO + INJECT_STREAM_STATUS_START_ALREADY_EXISTS - + - LOW_LIGHT_ENHANCE_MANUAL + INJECT_STREAM_STATUS_START_UNAUTHORIZED - + - LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY + INJECT_STREAM_STATUS_START_TIMEDOUT - + - LOW_LIGHT_ENHANCE_LEVEL_FAST + INJECT_STREAM_STATUS_START_FAILED - + - MEDIA_DEVICE_STATE_ACTIVE + INJECT_STREAM_STATUS_STOP_SUCCESS - + - MEDIA_DEVICE_STATE_DISABLED + INJECT_STREAM_STATUS_STOP_NOT_FOUND - + - MEDIA_DEVICE_STATE_NOT_PRESENT + INJECT_STREAM_STATUS_STOP_UNAUTHORIZED - + - MEDIA_DEVICE_STATE_UNPLUGGED + INJECT_STREAM_STATUS_STOP_TIMEDOUT - + - MEDIA_DEVICE_STATE_UNRECOMMENDED + INJECT_STREAM_STATUS_STOP_FAILED - + - AUDIO_APPLICATION_PLAYOUT_DEVICE + INJECT_STREAM_STATUS_BROKEN - + - MediaPlayerReason + LOCAL_AUDIO_STREAM_REASON_OK - + - PLAYER_REASON_NONE + LOCAL_AUDIO_STREAM_REASON_FAILURE - + - PLAYER_REASON_INVALID_ARGUMENTS + LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION - + - PLAYER_REASON_INTERNAL + LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY - + - PLAYER_REASON_NO_RESOURCE + LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE - + - PLAYER_REASON_INVALID_MEDIA_SOURCE + LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE - + - PLAYER_REASON_UNKNOWN_STREAM_TYPE + LOCAL_AUDIO_STREAM_REASON_INTERRUPTED - + - PLAYER_REASON_OBJ_NOT_INITIALIZED + LOCAL_AUDIO_STREAM_STATE_STOPPED - + - PLAYER_REASON_CODEC_NOT_SUPPORTED + LOCAL_AUDIO_STREAM_STATE_RECORDING - + - PLAYER_REASON_VIDEO_RENDER_FAILED + LOCAL_AUDIO_STREAM_STATE_ENCODING - + - PLAYER_REASON_INVALID_STATE + LOCAL_AUDIO_STREAM_STATE_FAILED - + - PLAYER_REASON_URL_NOT_FOUND + LOCAL_RPOXY_CONNECTIVITY_FIRST - + - PLAYER_REASON_INVALID_CONNECTION_STATE + LOCAL_RPOXY_LOCAL_ONLY - + - PLAYER_REASON_SRC_BUFFER_UNDERFLOW + LOCAL_VIDEO_STREAM_REASON_OK - + - PLAYER_REASON_INTERRUPTED + LOCAL_VIDEO_STREAM_REASON_FAILURE - + - PLAYER_REASON_NOT_SUPPORTED + LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION - + - PLAYER_REASON_TOKEN_EXPIRED + LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY - + - PLAYER_REASON_IP_EXPIRED + LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE - + - PLAYER_REASON_UNKNOWN + LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT - + - MediaPlayerEvent + LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND - + - PLAYER_EVENT_UNKNOWN + LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_MINIMIZED - + - PLAYER_EVENT_SEEK_BEGIN + LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_CLOSED - + - PLAYER_EVENT_SEEK_COMPLETE + LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT - + - PLAYER_EVENT_SEEK_ERROR + LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR - + - PLAYER_EVENT_AUDIO_TRACK_CHANGED + LOCAL_VIDEO_STREAM_STATE_STOPPED - + - PLAYER_EVENT_BUFFER_LOW + LOCAL_VIDEO_STREAM_STATE_CAPTURING - + - PLAYER_EVENT_BUFFER_RECOVER + LOCAL_VIDEO_STREAM_STATE_ENCODING - + - PLAYER_EVENT_FREEZE_START + LOCAL_VIDEO_STREAM_STATE_FAILED + + + + ERR_SCREEN_CAPTURE_PERMISSION_DENIED + + + + + + + ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED + + + - + - PLAYER_EVENT_FREEZE_STOP + ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED - + - PLAYER_EVENT_SWITCH_BEGIN + LOG_FILTER_OFF - + - PLAYER_EVENT_SWITCH_COMPLETE + LOG_FILTER_DEBUG - + - PLAYER_EVENT_SWITCH_ERROR + LOG_FILTER_INFO - + - PLAYER_EVENT_FIRST_DISPLAYED + LOG_FILTER_WARN - + - PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT + LOG_FILTER_ERROR - + - PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE + LOG_FILTER_CRITICAL - + - MediaPlayerMetadataType + LogLevel - + - PLAYER_METADATA_TYPE_UNKNOWN + LOG_LEVEL_NONE - + - PLAYER_METADATA_TYPE_SEI + LOG_LEVEL_INFO - + - MediaPlayerState + LOG_LEVEL_WARN - + - PLAYER_STATE_UNKNOWN + LOG_LEVEL_ERROR - + - PLAYER_STATE_IDLE + LOG_LEVEL_FATAL - + - PLAYER_STATE_OPENING + LOW_LIGHT_ENHANCE_AUTO - + - PLAYER_STATE_OPEN_COMPLETED + LOW_LIGHT_ENHANCE_MANUAL - + - PLAYER_STATE_PLAYING + LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY - + - PLAYER_STATE_PAUSED + LOW_LIGHT_ENHANCE_LEVEL_FAST - + - PLAYER_STATE_PLAYBACK_COMPLETED + MEDIA_DEVICE_STATE_ACTIVE - + - PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED + MEDIA_DEVICE_STATE_DISABLED - + - PLAYER_STATE_STOPPED + MEDIA_DEVICE_STATE_NOT_PRESENT - + - PLAYER_STATE_FAILED + MEDIA_DEVICE_STATE_UNPLUGGED - + - MediaSourceType + MEDIA_DEVICE_STATE_UNRECOMMENDED - + - AUDIO_PLAYOUT_SOURCE + AUDIO_APPLICATION_PLAYOUT_DEVICE - + - AUDIO_RECORDING_SOURCE + MediaPlayerReason - + - PRIMARY_CAMERA_SOURCE + PLAYER_REASON_NONE - + - SECONDARY_CAMERA_SOURCE + PLAYER_REASON_INVALID_ARGUMENTS - + - CUSTOM_VIDEO_SOURCE + PLAYER_REASON_INTERNAL - + - SPEECH_DRIVEN_VIDEO_SOURCE + PLAYER_REASON_NO_RESOURCE - + - UNKNOWN_MEDIA_SOURCE + PLAYER_REASON_INVALID_MEDIA_SOURCE - + - MEDIA_TRACE_EVENT + PLAYER_REASON_UNKNOWN_STREAM_TYPE - + - MEDIA_TRACE_EVENT_VIDEO_RENDERED + PLAYER_REASON_OBJ_NOT_INITIALIZED - + - MEDIA_TRACE_EVENT_VIDEO_DECODED + PLAYER_REASON_CODEC_NOT_SUPPORTED - + - MediaStreamType + PLAYER_REASON_VIDEO_RENDER_FAILED - + - STREAM_TYPE_UNKNOWN + PLAYER_REASON_INVALID_STATE - + - STREAM_TYPE_VIDEO + PLAYER_REASON_URL_NOT_FOUND - + - STREAM_TYPE_AUDIO + PLAYER_REASON_INVALID_CONNECTION_STATE - + - STREAM_TYPE_SUBTITLE + PLAYER_REASON_SRC_BUFFER_UNDERFLOW - + - UNKNOWN_METADATA + PLAYER_REASON_INTERRUPTED - + - VIDEO_METADATA + PLAYER_REASON_NOT_SUPPORTED - + - NETWORK_TYPE_UNKNOWN + PLAYER_REASON_TOKEN_EXPIRED - + - NETWORK_TYPE_DISCONNECTED + PLAYER_REASON_IP_EXPIRED - + - NETWORK_TYPE_LAN + PLAYER_REASON_UNKNOWN - + - NETWORK_TYPE_WIFI + MediaPlayerEvent - + - NETWORK_TYPE_MOBILE_2G + PLAYER_EVENT_UNKNOWN - + - NETWORK_TYPE_MOBILE_3G + PLAYER_EVENT_SEEK_BEGIN - + - NETWORK_TYPE_MOBILE_4G + PLAYER_EVENT_SEEK_COMPLETE - + - NETWORK_TYPE_MOBILE_5G + PLAYER_EVENT_SEEK_ERROR - + - MusicContentCenterStateReason + PLAYER_EVENT_AUDIO_TRACK_CHANGED - + - MUSIC_CONTENT_CENTER_STATE_REASON_OK + PLAYER_EVENT_BUFFER_LOW - + - MUSIC_CONTENT_CENTER_STATE_REASON_ERROR + PLAYER_EVENT_BUFFER_RECOVER - + - MUSIC_CONTENT_CENTER_STATE_REASON_GATEWAY + PLAYER_EVENT_FREEZE_START - + - MUSIC_CONTENT_CENTER_STATE_REASON_PERMISSION_AND_RESOURCE + PLAYER_EVENT_FREEZE_STOP - + - MUSIC_CONTENT_CENTER_STATE_REASON_INTERNAL_DATA_PARSE + PLAYER_EVENT_SWITCH_BEGIN - + - MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_LOADING + PLAYER_EVENT_SWITCH_COMPLETE - + - MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_DECRYPTION + PLAYER_EVENT_SWITCH_ERROR - + - MUSIC_CONTENT_CENTER_STATE_REASON_HTTP_INTERNAL + PLAYER_EVENT_FIRST_DISPLAYED - - + + - MusicPlayMode + PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT - + - MUSIC_PLAY_MODE_ORIGINAL + PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE - + - MUSIC_PLAY_MODE_ACCOMPANY + MediaPlayerMetadataType - + - MUSIC_PLAY_MODE_LEAD_SING + PLAYER_METADATA_TYPE_UNKNOWN - + - PreloadState + PLAYER_METADATA_TYPE_SEI - + - PRELOAD_STATE_COMPLETED + MediaPlayerState - + - PRELOAD_STATE_FAILED + PLAYER_STATE_UNKNOWN - + - PRELOAD_STATE_PRELOADING + PLAYER_STATE_IDLE - + - PRELOAD_STATE_REMOVED + PLAYER_STATE_OPENING - + - MusicCacheStatusType + PLAYER_STATE_OPEN_COMPLETED - + - MUSIC_CACHE_STATUS_TYPE_CACHED + PLAYER_STATE_PLAYING - + - MUSIC_CACHE_STATUS_TYPE_CACHING + PLAYER_STATE_PAUSED - + - ORIENTATION_MODE + PLAYER_STATE_PLAYBACK_COMPLETED - + - ORIENTATION_MODE_ADAPTIVE + PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED - + - ORIENTATION_FIXED_LANDSCAPE + PLAYER_STATE_STOPPED - + - ORIENTATION_FIXED_PORTRAIT + PLAYER_STATE_FAILED - + - RECORD_AUDIO + MediaSourceType - + - CAMERA + AUDIO_PLAYOUT_SOURCE - + - SCREEN_CAPTURE + AUDIO_RECORDING_SOURCE - + - ScreenScenarioType + PRIMARY_CAMERA_SOURCE - + - SCREEN_SCENARIO_DOCUMENT + SECONDARY_CAMERA_SOURCE - + - SCREEN_SCENARIO_GAMING + CUSTOM_VIDEO_SOURCE - + - SCREEN_SCENARIO_VIDEO + SPEECH_DRIVEN_VIDEO_SOURCE - + - MediaPlayerPreloadEvent + UNKNOWN_MEDIA_SOURCE - + - PLAYER_PRELOAD_EVENT_BEGIN + MEDIA_TRACE_EVENT - + - PLAYER_PRELOAD_EVENT_COMPLETE + MEDIA_TRACE_EVENT_VIDEO_RENDERED - + - PLAYER_PRELOAD_EVENT_ERROR + MEDIA_TRACE_EVENT_VIDEO_DECODED - + - USER_PRIORITY_HIGH + MediaStreamType - + - USER_PRIORITY_NORANL + STREAM_TYPE_UNKNOWN - + - QUALITY_REPORT_FORMAT_TYPE + STREAM_TYPE_VIDEO - + - QUALITY_REPORT_JSON + STREAM_TYPE_AUDIO - + - QUALITY_REPORT_HTML + STREAM_TYPE_SUBTITLE - + - QUALITY_UNKNOWN + UNKNOWN_METADATA - + - QUALITY_EXCELLENT + VIDEO_METADATA - + - QUALITY_GOOD + NETWORK_TYPE_UNKNOWN - + - QUALITY_POOR + NETWORK_TYPE_DISCONNECTED - + - QUALITY_BAD + NETWORK_TYPE_LAN - + - QUALITY_VBAD + NETWORK_TYPE_WIFI - + - QUALITY_DOWN + NETWORK_TYPE_MOBILE_2G - + - QUALITY_UNSUPPORTED + NETWORK_TYPE_MOBILE_3G - + - QUALITY_DETECTING + NETWORK_TYPE_MOBILE_4G - + - RAW_AUDIO_FRAME_OP_MODE_READ_ONLY + NETWORK_TYPE_MOBILE_5G - + - RAW_AUDIO_FRAME_OP_MODE_READ_WRITE + MusicContentCenterStateReason - + - RECORDER_REASON_NONE + MUSIC_CONTENT_CENTER_STATE_REASON_OK - + - RECORDER_ERROR_WRITE_FAILED + MUSIC_CONTENT_CENTER_STATE_REASON_ERROR - + - RECORDER_ERROR_NO_STREAM + MUSIC_CONTENT_CENTER_STATE_REASON_GATEWAY - + - RECORDER_ERROR_OVER_MAX_DURATION + MUSIC_CONTENT_CENTER_STATE_REASON_PERMISSION_AND_RESOURCE - + - RECORDER_ERROR_CONFIG_CHANGED + MUSIC_CONTENT_CENTER_STATE_REASON_INTERNAL_DATA_PARSE - + - RECORDER_STATE_ERROR + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_LOADING - + - RECORDER_STATE_START + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_DECRYPTION - + - RECORDER_STATE_STOP + MUSIC_CONTENT_CENTER_STATE_REASON_HTTP_INTERNAL - - + + - REMOTE_AUDIO_STATE_STOPPED + MusicPlayMode - + - REMOTE_AUDIO_STATE_STARTING + MUSIC_PLAY_MODE_ORIGINAL - + - REMOTE_AUDIO_STATE_DECODING + MUSIC_PLAY_MODE_ACCOMPANY - + - REMOTE_AUDIO_STATE_FROZEN + MUSIC_PLAY_MODE_LEAD_SING - + - REMOTE_AUDIO_STATE_FAILED + PreloadState - + - REMOTE_VIDEO_STATE_STOPPED + PRELOAD_STATE_COMPLETED - + - REMOTE_VIDEO_STATE_STARTING + PRELOAD_STATE_FAILED - + - REMOTE_VIDEO_STATE_DECODING + PRELOAD_STATE_PRELOADING - + - REMOTE_VIDEO_STATE_FROZEN + PRELOAD_STATE_REMOVED - + - REMOTE_VIDEO_STATE_FAILED + MusicCacheStatusType - + - REMOTE_AUDIO_REASON_INTERNAL + MUSIC_CACHE_STATUS_TYPE_CACHED - + - REMOTE_AUDIO_REASON_NETWORK_CONGESTION + MUSIC_CACHE_STATUS_TYPE_CACHING - + - REMOTE_AUDIO_REASON_NETWORK_RECOVERY + ORIENTATION_MODE - + - REMOTE_AUDIO_REASON_LOCAL_MUTED + ORIENTATION_MODE_ADAPTIVE - + - REMOTE_AUDIO_REASON_LOCAL_UNMUTED + ORIENTATION_FIXED_LANDSCAPE - + - REMOTE_AUDIO_REASON_REMOTE_MUTED + ORIENTATION_FIXED_PORTRAIT - + - REMOTE_AUDIO_REASON_REMOTE_UNMUTED + RECORD_AUDIO - + - REMOTE_AUDIO_REASON_REMOTE_OFFLINE + CAMERA - + - REMOTE_VIDEO_STATE_REASON_INTERNAL + SCREEN_CAPTURE - + - REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION + ScreenScenarioType - + - REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY + SCREEN_SCENARIO_DOCUMENT - + - REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED + SCREEN_SCENARIO_GAMING - + - REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED + SCREEN_SCENARIO_VIDEO - + - REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED + MediaPlayerPreloadEvent - + - REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED + PLAYER_PRELOAD_EVENT_BEGIN - + - REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE + PLAYER_PRELOAD_EVENT_COMPLETE - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK + PLAYER_PRELOAD_EVENT_ERROR - - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY + USER_PRIORITY_HIGH - + - REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT + USER_PRIORITY_NORANL - + - RENDER_MODE_HIDDEN + QUALITY_REPORT_FORMAT_TYPE - + - RENDER_MODE_FIT + QUALITY_REPORT_JSON - + - RENDER_MODE_ADAPTIVE + QUALITY_REPORT_HTML - + - ErrorCode + QUALITY_UNKNOWN - + - OK + QUALITY_EXCELLENT - + - DEFAULT + QUALITY_GOOD - + - INVALID_ARGUMENT + QUALITY_POOR - + - INVALID_OPERATION + QUALITY_BAD - + - NETWORK_ERROR + QUALITY_VBAD - + - AUTHENTICATION_FAILED + QUALITY_DOWN - + - STREAM_NOT_FOUND + RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - + - VideoMirrorMode + RAW_AUDIO_FRAME_OP_MODE_READ_WRITE - + - AUTO + RECORDER_REASON_NONE - + - ENABLED + RECORDER_ERROR_WRITE_FAILED - + - DISABLED + RECORDER_ERROR_NO_STREAM - + - AbrFallbackLayer + RECORDER_ERROR_OVER_MAX_DURATION - + - DISABLED + RECORDER_ERROR_CONFIG_CHANGED - + - LOW + RECORDER_STATE_ERROR - + - AUDIO_ONLY + RECORDER_STATE_START - + - LAYER1 + RECORDER_STATE_STOP - + - LAYER2 + REMOTE_AUDIO_STATE_STOPPED - + - LAYER3 + REMOTE_AUDIO_STATE_STARTING - + - LAYER4 + REMOTE_AUDIO_STATE_DECODING - + - LAYER5 + REMOTE_AUDIO_STATE_FROZEN - + - LAYER6 + REMOTE_AUDIO_STATE_FAILED - + - AbrSubscriptionLayer + REMOTE_VIDEO_STATE_STOPPED - + - HIGH + REMOTE_VIDEO_STATE_STARTING - + - LOW + REMOTE_VIDEO_STATE_DECODING - + - LAYER1 + REMOTE_VIDEO_STATE_FROZEN - + - LAYER2 + REMOTE_VIDEO_STATE_FAILED - + - LAYER3 + REMOTE_AUDIO_REASON_INTERNAL - + - LAYER4 + REMOTE_AUDIO_REASON_NETWORK_CONGESTION - + - LAYER5 + REMOTE_AUDIO_REASON_NETWORK_RECOVERY - + - LAYER6 + REMOTE_AUDIO_REASON_LOCAL_MUTED - + - VideoRenderMode + REMOTE_AUDIO_REASON_LOCAL_UNMUTED - + - HIDDEN + REMOTE_AUDIO_REASON_REMOTE_MUTED - + - FIT + REMOTE_AUDIO_REASON_REMOTE_UNMUTED - + - PlayerEvent + REMOTE_AUDIO_REASON_REMOTE_OFFLINE - + - FREEZE_START + REMOTE_VIDEO_STATE_REASON_INTERNAL - + - FREEZE_STOP + REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION - + - AUTHENTICATION_WILL_EXPIRE + REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY - + - ABR_FALLBACK_TO_AUDIO_ONLY_LAYER + REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED - + - ABR_RECOVER_FROM_AUDIO_ONLY_LAYER + REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED - + - PlayerState + REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED - + - IDLE + REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED - + - OPENING + REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE - + - OPEN_COMPLETED + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK - + + - PLAYING + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY - + - PAUSED + REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT - + - PLAYBACK_COMPLETED + RENDER_MODE_HIDDEN - + - STOPPED + RENDER_MODE_FIT - + - FAILED + RENDER_MODE_ADAPTIVE @@ -11885,13 +10672,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 567589c09b6..170af666800 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -231,41 +231,6 @@ - - - - AgoraRteCanvas - - - - - - - AgoraRte - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerObserver - - - @@ -442,7 +407,7 @@ - createMediaPlayerWithDelegate: + createMediaPlayerWithDelegate: @@ -593,7 +558,13 @@ - + + + + open [2/2] + + + @@ -840,375 +811,6 @@ - - - - - addView:config:error: - - - - - - - initWithRte:initialConfig: - - - - - - - code - - - - - - - destroy: - - - - - - - message - - - - - - - autoPlay: - - - - - - - getFromBridge: - - - - - - - initWithInitialConfig: - - - - - - - initMediaEngine:error: - - - - - - - registerObserver:error: - - - - - - - unregisterObserver:error: - - - - - - - setAutoPlay:error: - - - - - - - setAppId:error: - - - - - - - setCanvas:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setAbrFallbackLayer:error: - - - - - - - setAbrSubscriptionLayer:error: - - - - - - - abrFallbackLayer: - - - - - - - abrSubscriptionLayer: - - - - - - - appId: - - - - - - - getStats: - - - - - - - videoMirrorMode: - - - - - - - videoRenderMode: - - - - - - - muteAudio: - - - - - - - muteVideo: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setJsonParameter:error: - - - - - - - setJsonParameter:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getInfo:error: - - - - - - - jsonParameter: - - - - - - - jsonParameter: - - - - - - - - pause: - - - - - - - play: - - - - - - - initWithRte:initialConfig: - - - - - - - preloadWithUrl:error: - - - - - - - removeView:config:error: - - - - - - - registerObserver:error: - - - - - - - pause: - - - - - - - openWithUrl:startTime:cb: - - - - - - - unregisterObserver:error: - - - - - - - - - onAudioVolumeIndication:volume: - - - - - - - onEvent: - - - - - - - onMetadata:data: - - - - - - - onPlayerInfoUpdated: - - - - - - - onResolutionChanged: - - - - - - - onStateChanged:newState:error: - - - - @@ -1429,20 +1031,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1524,34 +1112,6 @@ - - - - getFaceShapeAreaOptions: - - - - - - - getFaceShapeAreaOptions:sourceType: - - - - - - - getFaceShapeBeautyOptions - - - - - - - getFaceShapeBeautyOptions:sourceType: - - - @@ -1622,48 +1182,6 @@ - - - - setFaceShapeAreaOptions: - - - - - - - setFaceShapeAreaOptions:sourceType: - - - - - - - setFaceShapeBeautyOptions:options: - - - - - - - setFaceShapeBeautyOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options: - - - @@ -1869,13 +1387,6 @@ - - - - takeSnapshotExWithConfig:uid:config: - - - @@ -2035,7 +1546,7 @@ - stopScreenCapture + stopScreenCapture [1/2] @@ -3593,29 +3104,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3679,13 +3167,6 @@ - - - - takeSnapshotWithConfig:config: - - - @@ -3782,7 +3263,7 @@ - getErrorDescription: + getErrorDescription: @@ -4900,13 +4381,6 @@ - - - - AgoraRteCanvasConfig - - - @@ -4970,13 +4444,6 @@ - - - - AgoraRteConfig - - - @@ -5033,13 +4500,6 @@ - - - - AgoraRteError - - - @@ -5054,27 +4514,6 @@ - - - - AgoraFaceShapeAreaOptions - - - - - - - AgoraFaceShapeBeautyOptions - - - - - - - AgoraFilterEffectOptions - - - @@ -5173,20 +4612,6 @@ - - - - AgoraMixedAudioStream - - - - - - - AgoraLocalAudioMixerConfiguration - - - @@ -5292,20 +4717,6 @@ - - - - AgoraRtePlayerInfo - - - - - - - AgoraRtePlayerStats - - - @@ -5348,13 +4759,6 @@ - - - - AgoraSnapshotConfig - - - @@ -5962,91 +5366,28 @@ - AgoraAudioEncodingTypeOPUS48000High - - - - - - - AgoraAudioTrackType - - - - - - - AgoraAudioTrackTypeMixable - - - - - - - AgoraAudioTrackTypeDirect - - - - - - - AgoraAudioSourceType - - - - - - - AgoraAudioSourceMicrophone - - - - - - - AgoraAudioSourceCustom - - - - - - - AgoraAudioSourceMediaPlayer - - - - - - - AgoraAudioSourceLoopbackRecording - - - - - - - AgoraAudioSourceMixedStream + AgoraAudioEncodingTypeOPUS48000High - + - AgoraAudioSourceRemoteUser + AgoraAudioTrackType - + - AgoraAudioSourceRemoteChannel + AgoraAudioTrackTypeMixable - + - AgoraAudioSourceTypeUnknown + AgoraAudioTrackTypeDirect @@ -7800,13 +7141,6 @@ - - - - AgoraCompressionAuto - - - @@ -7926,13 +7260,6 @@ - - - - AgoraDegradationMaintainAuto - - - @@ -8619,125 +7946,6 @@ - - - - AgoraFaceShapeArea - - - - - - - AgoraFaceShapeAreaNone - - - - - - - AgoraFaceShapeAreaHeadScale - - - - - - - AgoraFaceShapeAreaForehead - - - - - - - AgoraFaceShapeAreaFaceContour - - - - - - - AgoraFaceShapeAreaFaceLength - - - - - - - AgoraFaceShapeAreaFaceWidth - - - - - - - AgoraFaceShapeAreaCheekbone - - - - - - - AgoraFaceShapeAreaCheek - - - - - - - AgoraFaceShapeAreaChin - - - - - - - AgoraFaceShapeAreaEyeScale - - - - - - - AgoraFaceShapeAreaNoseLength - - - - - - - AgoraFaceShapeAreaNoseWidth - - - - - - - AgoraFaceShapeAreaMouthScale - - - - - - - AgoraFaceShapeStyle - - - - - - - AgoraFaceShapeStyleFemale - - - - - - - AgoraFaceShapeStyleMale - - - @@ -9951,395 +9159,241 @@ - - - - AgoraVideoOutputOrientationModeFixedPortrait - - - - - - - AgoraPermissionType - - - - - - - AgoraPermissionTypeRecordAudio - - - - - - - AgoraPermissionTypeCamera - - - - - - - AgoraMediaPlayerPreloadEvent - - - - - - - AgoraMediaPlayerPreloadEventBegin - - - - - - - AgoraMediaPlayerPreloadEventComplete - - - - - - - AgoraMediaPlayerPreloadEventError - - - - - - - AgoraNetworkQuality - - - - - - - AgoraNetworkQualityUnknown - - - - - - - AgoraNetworkQualityExcellent - - - - - - - AgoraNetworkQualityGood - - - - - - - AgoraNetworkQualityPoor - - - - - - - AgoraNetworkQualityBad - - - - - - - AgoraNetworkQualityVBad - - - - - - - AgoraNetworkQualityDown - - - - - - - AgoraNetworkQualityUnsupported - - - - - - - AgoraNetworkQualityDetecting - - - - - - - AgoraAudioRawFrameOperationMode - - - - - - - AgoraAudioRawFrameOperationModeReadOnly - - - - - - - AgoraAudioRawFrameOperationModeWriteOnly - - - - - - - AgoraAudioRawFrameOperationModeReadWrite - - - - + - AgoraAudioRemoteState + AgoraVideoOutputOrientationModeFixedPortrait - + - AgoraAudioRemoteStateStopped + AgoraPermissionType - + - AgoraAudioRemoteStateStarting + AgoraPermissionTypeRecordAudio - + - AgoraAudioRemoteStateDecoding + AgoraPermissionTypeCamera - + - AgoraAudioRemoteStateFrozen + AgoraMediaPlayerPreloadEvent - + - AgoraAudioRemoteStateFailed + AgoraMediaPlayerPreloadEventBegin - + - AgoraVideoRemoteState + AgoraMediaPlayerPreloadEventComplete - + - AgoraVideoRemoteStateStopped + AgoraMediaPlayerPreloadEventError - + - AgoraVideoRemoteStateStarting + AgoraNetworkQuality - + - AgoraVideoRemoteStateDecoding + AgoraNetworkQualityUnknown - + - AgoraVideoRemoteStateFrozen + AgoraNetworkQualityExcellent - + - AgoraVideoRemoteStateFailed + AgoraNetworkQualityGood - + - AgoraRteAbrFallbackLayer + AgoraNetworkQualityPoor - + - AgoraRteAbrFallbackDisabled + AgoraNetworkQualityBad - + - AgoraRteAbrFallbackLow + AgoraNetworkQualityVBad - + - AgoraRteAbrFallbackAudioOnly + AgoraNetworkQualityDown - + - AgoraRteAbrFallbackLayer1 + AgoraNetworkQualityUnsupported - + - AgoraRteAbrFallbackLayer2 + AgoraNetworkQualityDetecting - + - AgoraRteAbrFallbackLayer3 + AgoraAudioRawFrameOperationMode - + - AgoraRteAbrFallbackLayer4 + AgoraAudioRawFrameOperationModeReadOnly - + - AgoraRteAbrFallbackLayer5 + AgoraAudioRawFrameOperationModeWriteOnly - + - AgoraRteAbrFallbackLayer6 + AgoraAudioRawFrameOperationModeReadWrite - + - AgoraRteErrorCode + AgoraAudioRemoteState - + - AgoraRteOk + AgoraAudioRemoteStateStopped - + - AgoraRteErrorDefault + AgoraAudioRemoteStateStarting - + - AgoraRteErrorInvalidArgument + AgoraAudioRemoteStateDecoding - + - AgoraRteErrorInvalidOperation + AgoraAudioRemoteStateFrozen - + - AgoraRteErrorNetworkError + AgoraAudioRemoteStateFailed - + - AgoraRteErrorAuthenticationFailed + AgoraVideoRemoteState - + - AgoraRteErrorStreamNotFound + AgoraVideoRemoteStateStopped - + - AgoraRteVideoMirrorMode + AgoraVideoRemoteStateStarting - + - AgoraRteVideoMirrorModeAuto + AgoraVideoRemoteStateDecoding - + - AgoraRteVideoMirrorModeEnabled + AgoraVideoRemoteStateFrozen - + - AgoraRteVideoMirrorModeDisabled + AgoraVideoRemoteStateFailed @@ -10497,104 +9551,6 @@ - - - - AgoraRteAbrSubscriptionLayer - - - - - - - AgoraRteAbrSubscriptionHigh - - - - - - - AgoraRteAbrSubscriptionLow - - - - - - - AgoraRteAbrSubscriptionLayer1 - - - - - - - AgoraRteAbrSubscriptionLayer2 - - - - - - - AgoraRteAbrSubscriptionLayer3 - - - - - - - AgoraRteAbrSubscriptionLayer4 - - - - - - - AgoraRteAbrSubscriptionLayer5 - - - - - - - kRteAbrSubscriptionLayer6 - - - - - - - AgoraRteVideoRenderMode - - - - - - - AgoraRteVideoRenderModeHidden - - - - - - - AgoraRteVideoRenderModeFit - - - - - - - AgoraRtePlayerMetadataType - - - - - - - AgoraRtePlayerMetadataTypeSei - - - @@ -10756,68 +9712,6 @@ - - - - AgoraRecorderStreamType - - - - - - - AgoraRecorderStreamTypeRtc - - - - - - - AgoraRecorderStreamTypePreview - - - - - - - AgoraRtePlayerEvent - - - - - - - AgoraRtePlayerEventFreezeStart - - - - - - - AgoraRtePlayerEventFreezeStop - - - - - - - AgoraRtePlayerEventAuthenticationWillExpire - - - - - - - AgoraRtePlayerEventAbrFallbackToAudioOnlyLayer - - - - - - AgoraRtePlayerEventAbrRecoverFromAudioOnlyLayer - - - @@ -11006,69 +9900,6 @@ AgoraRtmpStreamingStateDisconnecting - - - - - AgoraRtePlayerState - - - - - - - AgoraRtePlayerStateIdle - - - - - - - AgoraRtePlayerStateOpening - - - - - - - AgoraRtePlayerStateOpenCompleted - - - - - - - AgoraRtePlayerStatePlaying - - - - - - - AgoraRtePlayerStatePaused - - - - - - - AgoraRtePlayerStatePlaybackCompleted - - - - - - - AgoraRtePlayerStateStopped - - - - - - - AgoraRtePlayerStateFailed - - @@ -11532,13 +10363,6 @@ - - - - AgoraApplicationLiveShowScenario - - - @@ -12735,4 +11559,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap index 14688433be3..80eba449e27 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap @@ -1136,20 +1136,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1234,6 +1220,13 @@ + + + + FocalLengthInfo + + + @@ -1252,20 +1245,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1301,27 +1280,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1529,13 +1487,6 @@ - - - - takeSnapshotWithConfigEx - - - @@ -1629,13 +1580,6 @@ - - - - setExternalMediaProjection - - - @@ -2461,13 +2405,6 @@ - - - - setExternalRemoteEglContext - - - @@ -2527,29 +2464,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3247,7 +3161,7 @@ kMusicPlayModeLeadSing - + @@ -3538,13 +3452,6 @@ - - - - takeSnapshotWithConfig - - - @@ -4880,34 +4787,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - - - - - FocalLengthInfo - - - @@ -5020,20 +4899,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5222,13 +5087,6 @@ SimulcastStreamConfig - - - - - SnapshotConfig - - @@ -5771,69 +5629,6 @@ - - - - AudioSourceType - - - - - - - AudioSourceMicrophone - - - - - - - AudioSourceCustom - - - - - - - AudioSourceMediaPlayer - - - - - - - AudioSourceLoopbackRecording - - - - - - - AudioSourceMixedStream - - - - - - - AudioSourceRemoteUser - - - - - - - AudioSourceRemoteChannel - - - - - - - AudioSourceUnknown - - - @@ -6058,13 +5853,6 @@ - - - - PreferCompressionAuto - - - @@ -7857,13 +7645,6 @@ - - - - MaintainAuto - - - @@ -8494,125 +8275,6 @@ - - - - FaceShapeArea - - - - - - - FaceShapeAreaNone - - - - - - - FaceShapeAreaHeadscale - - - - - - - FaceShapeAreaForehead - - - - - - - FaceShapeAreaFacecontour - - - - - - - FaceShapeAreaFacelength - - - - - - - FaceShapeAreaFacewidth - - - - - - - FaceShapeAreaCheekbone - - - - - - - FaceShapeAreaCheek - - - - - - - FaceShapeAreaChin - - - - - - - FaceShapeAreaEyescale - - - - - - - FaceShapeAreaNoselength - - - - - - - FaceShapeAreaNosewidth - - - - - - - FaceShapeAreaMouthscale - - - - - - - FaceShapeBeautyStyle - - - - - - - FaceShapeBeautyStyleFemale - - - - - - - FaceShapeBeautyStyleMale - - - @@ -9313,13 +8975,6 @@ - - - - MediaDeviceStatePluggedIn - - - @@ -10475,27 +10130,6 @@ - - - - RecorderStreamType - - - - - - - Rtc - - - - - - - Preview - - - @@ -11133,13 +10767,6 @@ - - - - ApplicationScenarioLiveshow - - - @@ -11231,7 +10858,7 @@ - + VideoDenoiserLevelStrength diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap index 3dd95163ec8..8480f2f4bbc 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap @@ -1089,20 +1089,6 @@ - - - - SetLocalRenderTargetFps - - - - - - - SetRemoteRenderTargetFps - - - @@ -1191,20 +1177,6 @@ - - - - GetFaceShapeAreaOptions - - - - - - - GetFaceShapeBeautyOptions - - - @@ -1212,13 +1184,6 @@ - - - - SetLocalVideoDataSourcePosition - - - @@ -1247,27 +1212,6 @@ - - - - SetFaceShapeAreaOptions - - - - - - - SetFaceShapeBeautyOptions - - - - - - - SetFilterEffectOptions - - - @@ -1555,14 +1499,7 @@ - TakeSnapshotEx [1/2] - - - - - - - TakeSnapshotEx [2/2] + TakeSnapshotEx @@ -1666,13 +1603,6 @@ - - - - SetExternalMediaProjection - - - @@ -2572,13 +2502,6 @@ - - - - SetExternalRemoteEglContext - - - @@ -2638,29 +2561,6 @@ - - - - - StartLocalAudioMixer - - - - - - - StopLocalAudioMixer - - - - - - - UpdateLocalAudioMixerConfiguration - - - - @@ -3397,14 +3297,14 @@ - + SetRecordingDeviceMute - + GetRecordingDeviceMute @@ -3775,14 +3675,7 @@ - TakeSnapshot [1/2] - - - - - - - TakeSnapshot [2/2] + TakeSnapshot @@ -4704,7 +4597,7 @@ - SendMetadata + SendMetaData @@ -5130,27 +5023,6 @@ ExtensionContext - - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - @@ -5278,20 +5150,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5497,13 +5355,6 @@ - - - - SnapshotConfig - - - @@ -7025,13 +6876,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -7074,69 +6918,6 @@ - - - - AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -7249,13 +7030,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8082,13 +7856,6 @@ - - - - MAINTAIN_AUTO - - - @@ -8782,125 +8549,6 @@ - - - - FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_MALE - - - @@ -9419,13 +9067,6 @@ - - - - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_FAILURE - - - @@ -9601,13 +9242,6 @@ - - - - MEDIA_DEVICE_STATE_PLUGGED_IN - - - @@ -11050,27 +10684,6 @@ - - - - RecorderStreamType - - - - - - - RTC - - - - - - - PREVIEW - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap index 03158390efc..7380987015b 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap @@ -1166,20 +1166,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1275,20 +1261,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1324,27 +1296,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1592,13 +1543,6 @@ - - - - takeSnapshotEx [2/2] - - - @@ -1741,13 +1685,6 @@ - - - - setExternalMediaProjection - - - @@ -2674,13 +2611,6 @@ - - - - setExternalRemoteEglContext - - - @@ -2754,29 +2684,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -4048,13 +3955,6 @@ - - - - takeSnapshot [2/2] - - - @@ -5444,27 +5344,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -5598,20 +5477,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5843,13 +5708,6 @@ - - - - SnapshotConfig - - - @@ -6384,69 +6242,6 @@ - - - - AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -6741,13 +6536,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8512,13 +8300,6 @@ - - - - MAINTAIN_AUTO - - - @@ -9149,125 +8930,6 @@ - - - - FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_MALE - - - @@ -10052,7 +9714,7 @@ - + MEDIA_DEVICE_STATE_PLUGGED_IN @@ -11431,27 +11093,6 @@ - - - - RecorderStreamType - - - - - - - RTC - - - - - - - PREVIEW - - - @@ -12152,13 +11793,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -13881,4 +13515,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap index 17d77edfbd2..38c5a447f70 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap @@ -101,27 +101,6 @@ - - - - 自定义视频数据处理 - - - - - - - 实现高级美颜 - - - - - - - 秀场直播 - - - @@ -146,6 +125,13 @@ + + + + VideoColorSpace + + + @@ -181,12 +167,5 @@ - - - - Support 16 KB page sizes - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap index 93a916bbcf1..28aaff82664 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap @@ -88,20 +88,6 @@ - - - - 自定义视频数据处理 - - - - - - - 实现高级美颜 - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-electron.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-electron.ditamap index 69d62307cc2..1479630c116 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-electron.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-electron.ditamap @@ -53,13 +53,6 @@ - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-flutter.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-flutter.ditamap index 030e5379365..cff7fd5b5a0 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-flutter.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-flutter.ditamap @@ -74,13 +74,6 @@ - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-harmony.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-harmony.ditamap index 9ea613c5a56..7306c00e8b4 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-harmony.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-harmony.ditamap @@ -3,7 +3,7 @@ Keys RTC NG Android Links - + 音频路由 @@ -17,14 +17,14 @@ - + 视频属性 - + 使用 Token 鉴权 @@ -66,7 +66,7 @@ - + 屏幕共享 @@ -104,6 +104,13 @@ + + + + VideoColorSpace + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap index ae2ccf007a5..909e190e4fe 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap @@ -102,20 +102,6 @@ - - - - 自定义视频数据处理 - - - - - - - 实现高级美颜 - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap index 7a38f21beb7..5ea909f6766 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap @@ -74,20 +74,6 @@ - - - - 自定义视频数据处理 - - - - - - - 实现高级美颜 - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-rn.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-rn.ditamap index 8a7050c9326..834db554074 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-rn.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-rn.ditamap @@ -67,13 +67,6 @@ - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap index b1c8dfc4bb8..f4c392d3080 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links-unity.ditamap @@ -68,13 +68,6 @@ - diff --git a/dita/RTC-NG/config/keys-rtc-ng-links.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links.ditamap index 1d501624d18..2d834eecf84 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-links.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-links.ditamap @@ -19,21 +19,21 @@ - + 获取曲库所有歌曲列表 - + 获取增量歌曲列表 - + 在线 K 歌房文档 @@ -54,10 +54,10 @@ - + - 部署 Token 服务器 + 使用 Token 鉴权 @@ -90,33 +90,12 @@ - - - - 视频 1v1 通话 - - - - - - - 秀场直播 - - - - - - - VideoColorSpace - - - - 联系销售 + sales@shengwang.cn @@ -127,7 +106,7 @@ - + 计费说明 @@ -141,13 +120,6 @@ - - - - 计费策略 - - - @@ -162,12 +134,5 @@ - - - - MediaProjection - - - diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap index d4207a2265c..193d2a9ca2c 100644 --- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap +++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap @@ -941,7 +941,7 @@ - + @@ -2197,8 +2197,8 @@ - - + + @@ -2208,9 +2208,9 @@ - - - + + + @@ -2232,30 +2232,30 @@ - - - + + + - + - + - - + + - + - - + + @@ -2266,11 +2266,11 @@ - + - - - + + + @@ -2279,38 +2279,34 @@ - - - - - - + + - - + + - + - - - - - - - - - + + + + + + + + + - - + + @@ -2330,8 +2326,8 @@ - - + + @@ -2346,21 +2342,21 @@ - + - + - - + + - - + + - + @@ -2378,15 +2374,15 @@ - + - - - - - - + + + + + + @@ -2394,16 +2390,10 @@ - + - - - - - - - + @@ -2415,49 +2405,46 @@ - - + + - - - - - - + + + + + + - + + - - - - + + - + - + - - - - - - - - + + + + + + - + @@ -2468,40 +2455,39 @@ - - + - + - + - - - - - + + + + + - + - + - + - - + + @@ -2509,9 +2495,6 @@ - - - @@ -2519,39 +2502,38 @@ - + - - + + - + - + - - + - + @@ -2572,23 +2554,23 @@ - - + + - + - - - + + + - + - + @@ -2597,34 +2579,32 @@ - + - + - + - - - - + + + + - + - - - + @@ -2643,7 +2623,7 @@ - + @@ -2652,18 +2632,18 @@ - - + + - - + + - - + + @@ -2674,12 +2654,12 @@ - + - - - - + + + + @@ -2700,13 +2680,13 @@ - - + + - + - + @@ -2715,10 +2695,10 @@ - - + + - + @@ -2726,10 +2706,10 @@ - + - + @@ -2797,7 +2777,7 @@ - + @@ -2812,7 +2792,7 @@ - + @@ -2857,7 +2837,7 @@ - + @@ -2865,7 +2845,7 @@ - + @@ -3066,7 +3046,7 @@ - + @@ -3220,41 +3200,41 @@ - + - + - + - + - - - - - - - + + + + + + + - + - + - - - + + + @@ -3275,7 +3255,7 @@ - + @@ -3310,129 +3290,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index 54f0988b22f..60ded574d12 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -1,90 +1,52 @@ - v4.5.0 + v4.4.0 -

    该版本于 2024 年 11 月 x 日发布。

    +

    该版本于 2024 年 7 月 x 日发布。

    <topic id="compatibility"> <title>升级必看 -

    该版本对部分功能的实现方式进行了优化,涉及 SDK 的行为变更、API 的改名或删除,为确保项目的正常运行,你需要在升级到该版本后更新 App 中的代码。

    - -

    自 4.5.0 起,RTC SDK 和 RTM SDK (2.2.0 及以上版本) 都包含 libaosl.so 库。如果你通过 CDN 手动集成 RTC SDK 且同时集成了 RTM SDK,为避免冲突,请手动删除版本较低的 libaosl.so 库。4.5.0 RTC SDK libaosl.so 库版本为 1.2.13。

    -

    自 4.5.0 起,RTC SDK 和 RTM SDK (2.2.0 及以上版本) 都包含 aosl.xcframework 库。如果你通过 CDN 手动集成 RTC SDK 且同时集成了 RTM SDK,为避免冲突,请手动删除版本较低的 aosl.xcframework 库。4.5.0 RTC SDK aosl.xcframework 库版本为 1.2.13。你可以在 Info.plist 中查看库的版本信息。

    -

    自 4.5.0 起,RTC SDK 和 RTM SDK (2.2.0 及以上版本) 都包含 aosl.dll 库。如果你通过 CDN 手动集成 RTC SDK 且同时集成了 RTM SDK,为避免冲突,请手动删除版本较低的 aosl.dll 库。4.5.0 RTC SDK aosl.dll 库版本为 1.2.13。你可以通过查看 aosl.dll 文件的属性来得知库的版本信息。

    -
    +

    该版本对部分功能的实现方式进行了优化,包括 SDK 的行为变更、API 的改名或删除,为确保项目的正常运行,你需要在升级到该版本后更新 App 中的代码。 + 自 v4.4.0 起,RTC SDK 提供 API 下架说明,包含各版本废弃及删除的 API 信息。详见 API 下架说明API 下架说明API 下架说明API 下架说明

      -
    1. 成员参数类型变更 -

      为提升各框架对 Native SDK 的适配性,该版本对一些 API 中的成员或参数做了如下修改: - - - - - - - API - 成员/参数 - 变更 - - - - - - displayId - 由 uint32_t 型变更为 int64_t 型 - - - - windowId - 由 view_t 型变更为 int64_t 型由 view_t 型变更为 long 型 - - - - displayId - 由 uint32_t 型变更为 int64_t 型由 unit 型变更为 long 型 - - - windowId - 由 view_t 型变更为 int64_t 型由 unit 型变更为 long 型 - - - - sourceDisplayId - 由 view_t 型变更为 int64_t 型由 view_t 型变更为 long 型 - - - sourceId - 默认值由 nullptr 变更为 0由 view_t 型变更为 long 型 - - - -

      -
    2. -
    3. 自动安装虚拟声卡 (macOS) -

      自该版本起,SDK 支持自动安装虚拟声卡功能,当你第一次调用 时,SDK 会自动安装内置的声网自研虚拟声卡 AgoraALD。安装成功后,音频路由会自动切换为虚拟声卡,同时使用虚拟声卡进行采集。

      -
    4. -
    5. 强效视频降噪实现变更 -

      该版本调整了强效视频降噪的实现方式,在 中删除了 ,改为调用 启用视频降噪后,调用 方法启用美颜磨皮功能,二者搭配使用以获得更好的视频降噪效果。实现强效降噪时,推荐磨皮参数设置详见

      -

      该版本调整了强效视频降噪的实现方式,删除了 ,改为调用 启用视频降噪后,调用 方法启用美颜磨皮功能,二者搭配使用以获得更好的视频降噪效果。实现强效降噪时,推荐磨皮参数设置详见

      -

      此外,受该调整影响,实现画质优先的暗光增强效果时,需要先开启视频降噪并采用特定设置,详见

      -
    6. -
    7. 摄像头插拔状态变更 (macOS, Windows) -

      在之前版本中,当摄像头拔出并重新插入时, 回调会将设备状态报告为 (1)(设备正在使用)。该版本起,摄像头重新插入后,设备状态将改为 (0)(设备就绪)。

      -

      在之前版本中,摄像头拔出并重新插入后不会自动恢复采集。该版本起,摄像头重新插入后将自动恢复采集。

      -
    8. -
    9. 视频编码偏好变更 -

      为提升用户的视频互动体验,该版本优化了视频编码时的默认偏好: +

    10. 为区分不同插件回调中的上下文信息,该版本将原有的插件相关回调删除并新增可标识插件上下文信息的对应回调(见下表),你可以通过各回调中的 了解插件的名称、使用该插件的用户 ID、和提供插件的服务商名等信息。 + + + 原有回调 + 现有回调 + + + onExtensionEventonEvent + + + + onExtensionStartedonStarted + + + + onExtensionStoppedonStopped + + + + onExtensionErroronError + + + +
    11. +
    12. 在 v4.4.0 之前,当你的用户角色为观众时,调用 将音频场景设为聊天室场景()会收到申请麦克风权限的弹窗提示。自 v4.4.0 起,SDK 通过 iOS 原生的 API 控制麦克风开关,因此观众角色在聊天室场景下不会再收到申请麦克风权限的弹窗。
    13. +
    14. 该版本将 receiveMetadata 回调改名为 ,并删除了回调中的 datatimeStamp 参数,你可以通过新增的 metadata 参数来获取 Metadata 的相关信息,包括 timeStamp(发送数据的时间戳)、uid(用户 ID)、channelId(源频道名称)等。
    15. +
    16. 该版本删除了 回调中的 bufferuidtimeStampMs 参数,你可以通过新增的 metadata 参数来获取 Metadata 的相关信息,包括 timeStampMs(发送数据的时间戳)、uid(用户 ID)、channelId(源频道名称)等。
    17. +
    18. 该版本修改了 中的以下成员名称:
        -
      • 枚举类中新增 (-1) 枚举,并替代原有的 (1) 作为默认值。在该模式下,SDK 会根据你设置的视频场景,自动选择 ,以获得最佳的用户体验。
      • -
      • 枚举类中新增 (-1) 枚举,并替代原有的 (1) 作为默认值。在该模式下,SDK 会根据你设置的视频场景,自动选择 ,以获得最优的综合质量体验 (QoE)。
      • -

      -
    19. -
    20. 16 KB 内存页大小 (Android) -

      自 Android 15 起,系统新增了对 16 KB 内存页大小的支持,详见 。为了保证 App 的稳定性和性能表现,自该版本起,SDK 支持 16 KB 内存页大小,确保可以在使用 4 KB 和 16 KB 内存页大小的设备上无缝运行,提升兼容性并避免崩溃。

      -
    21. +
    22. d3d11_texture_2d 更名为 d3d11Texture2d
    23. +
    24. texture_slice_index 更名为 textureSliceIndex
    25. +
    26. metadata_buffer 更名为 metadataBuffer
    27. +
    28. metadata_size 更名为 metadataSize
    29. +
    @@ -92,55 +54,39 @@ 新增特性
      -
    1. 高级美颜 -

      该版本新增以下两种高级美颜功能: -

        -
      • 美型:调用 方法,可对人脸各部位进行修饰,你可以使用预设的模板一次性实现瘦脸、大眼、瘦鼻等微整形效果,并微调整体的修饰力度。如果预设的美型效果不能满足你的需求,你可以调用 方法设置美型部位选项,对人脸的各个部位单独微调,实现更加精细的美型效果。
      • -
      • 美妆:调用 方法,传入指定参数,可实现眼影、美瞳、眼线、美眉、唇彩、腮红等美妆特效。
      • -
      - 有关美型和美妆的实现步骤,详见 - 目前,高级美颜功能为限时免费,详见 -

      -
    2. -
    3. 秀场直播场景 -

      该版本在 类下新增枚举 (3)(秀场直播),你可以调用 将视频业务场景设置为。针对该场景对首帧出图时间和画质清晰度的高要求,SDK 进行了策略调优,例如,默认开启音视频帧加速渲染来提升首帧出图体验,无需再额外调用 ,同时增强了在弱网环境和低端设备上的画质和流畅度表现。

      -
    4. -
    5. 限制视频渲染帧率 -

      该版本新增 方法,支持设置视频在本地和远端渲染时的最大帧率,SDK 进行视频渲染的实际帧率会尽量接近该值。

      -

      在对视频渲染帧率要求不高的场景(例如:屏幕共享、在线教育)或者远端使用中低端设备的场景下,你可以通过这一组方法限制视频渲染帧率,从而减小 CPU 消耗、提升系统性能。

      -
    6. -
    7. URL 拉流播放 -

      URL 拉流播放功能主要用于直播场景,观众端可以直接通过 打开特定的 URL 来播放实时媒体流,无需加入频道、订阅等步骤,极大简化了观众端观看直播流的 API 调用。

      -

      在播放的过程中,观众端可以通过 设置订阅视频大小流,并可以在大小流之间实现平滑切换。如果对视频体验有更高要求,可以联系开通 ABR(Adaptive Bitrate,自适应码率)功能。启用该功能后,可以自定义不同层级的视频流分辨率,观众可以实现不同分辨率视频流的平滑切换。

      -

      当网络情况不稳定时,观众端可以调用 来设置订阅的视频流的回退选项。SDK 会以你指定的最低质量层级对应的视频流分辨率为下限,在此范围内根据网络状况动态调整分辨率。

      有关该功能的实现步骤,详见

      -
    8. -
    9. 滤镜效果 -

      该版本新增 方法,你可以在 config 参数中传入指定格式的立方体贴图文件 (.cube),从而实现美白、鲜艳、冷色、黑白等自定义滤镜效果。此外,SDK 提供了一个内置的 built_in_whiten_filter.cube 文件,用于快速实现美白滤镜效果。

      -
    10. -
    11. 本地音频合流 -

      该版本新增本地音频合流功能,你可以调用 方法,将本地麦克风采集的音频流、媒体播放器中的音频流、声卡采集的音频流、远端音频流等合并为一路音频流,你可以将合并后的音频流发布到频道中。不再需要音频合流时,你可以调用 方法停止本地音频合流;在合流过程中,可以调用 方法更新正在合流的音频流配置。

      -

      该功能的使用场景示例如下: +

    12. Lite SDK +

      自该版本起,声网推出 Lite 版 SDK,该 SDK 中仅包含音视频基础能力、对高阶音视频处理的功能进行部分裁剪,可有效减少集成 SDK 后的 App 体积。

        -
      • 结合本地合图功能一起使用,可将合图视频流相关的音频流同步采集和发布。
      • -
      • 在直播场景下,用户接收频道内的音频流,在本地进行多路音频流合流后转发到其他频道。
      • -
      • 在教育场景下,老师可将跟学生连麦互动的音频在本地进行合流,然后将合并的音频流转发到其他频道。
      • -

      -
    13. -
    14. 外部 MediaProjection (Android) -

      该版本新增 方法,该方法支持你自行设置外部 MediaProjection,并取代 SDK 申请的 MediaProjection

      -

      如果你具备自行申请 MediaProjection 的开发能力,可通过该功能实现更加灵活的屏幕采集。

      -
    15. -
    16. EGL 环境上下文 (Android) -

      该版本新增了 方法,用于设置远端视频流渲染的 EGL 环境上下文。使用 Texture 格式的视频数据进行远端视频自渲染时,你可以通过该方法替换 SDK 默认的远端 EGL 环境上下文,实现统一的 EGL 上下文管理。

      +
    17. Lite SDK 支持手动集成或三方仓库集成,详见
    18. +
    19. Lite SDK 包含的动态库信息详见
    20. +
    21. Lite SDK 支持的 API 清单详见 Lite SDK API 列表Lite SDK API 列表
    22. +
    23. 使用 Lite SDK 播放媒体文件时的限制和注意事项详见 RTC SDK 支持播放哪些格式的音频文件?
    24. + +
    25. Alpha 透明特效 +

      该版本新增 Alpha 透明特效功能,支持在 SDK 采集和自定义采集视频的场景下,在发送端发布视频帧的 Alpha 通道、在接收端对 Alpha 通道进行渲染处理,实现透明礼物特效、接收端自定义主播背景等:

      +
        +
      • 中新增 alphaBuffer:设置 Alpha 通道数据。
      • +
      • 中新增 fillAlphaBuffer:对于 BGRA 或 RGBA 格式的视频数据,设置是否自动提取 Alpha 通道数据并填入到 alphaBuffer 中。
      • +
      • 中新增 alphaStitchMode:设置 alphaBuffer 和视频帧拼接的相对位置。
      • +
      +

      另外, 中新增成员 encodeAlpha,用于设置是否将 Alpha 信息编码并发送到远端。SDK 默认不对 Alpha 信息进行编码发送;如果需要对 Alpha 信息编码发送至远端(例如开启了虚拟背景功能),请显式调用 设置视频编码属性,并将 encodeAlpha 设置为 。 + +

      如需了解在各场景下实现 Alpha 特效的最佳实践,详见

      +

      +
    26. +
    27. AI 调音器 +

      该版本新增 AI 调音器功能,可以实现类似物理声卡对音质和音色的提升。你可以通过调用 方法并传入 枚举中支持的音效类型来启用 AI 调音器功能,实现大叔音、萝莉音、烟嗓歌声等声音效果。

      +
    28. +
    29. 版权音乐优化 +
        +
      • 该版本在 类下新增 方法,用于设置音乐资源的播放模式。在在线 K 歌房等场景下,你可以根据需求启用伴唱、原唱或导唱模式。
      • +
      • 该版本在 类下新增 方法,用于销毁音乐播放器并释放相应的资源。
      • +
      • 该版本废弃了 类下的 方法。如需销毁音乐播放器,请改用 类下新增 方法。
      • +
    30. -
    31. 色彩空间设置 -

      该版本在 中新增了 colorSpace,你可以通过该参数设置视频帧的色彩空间属性。默认情况下,色彩空间采用 Full Range 和 BT.709 标准配置,你可以根据自采集或自渲染的需求灵活调整,进一步提升视频处理的定制化能力。

      +
    32. 1v1 视频通话场景 +

      该版本在 类下新增枚举 (1v1 视频通话)。你可以调用 将视频业务场景设置为 1v1 视频通话,针对该场景低延迟、高画质的体验要求,SDK 进行了策略调优,提升了画质、首帧出图、中低端机延迟及弱网流畅度等性能表现。

    33. -
    34. 其他 -
        -
      • 回调新增 枚举,表示当前正在使用的视频采集设备已经断开连接(例如,被拔出)。(Windows)
      • -
      • 新增 枚举,表示设备已插入。(Windows)
      • -
    @@ -148,27 +94,30 @@ 改进
      -
    1. 虚拟背景算法优化 -

      该版本升级了虚拟背景的算法,分割人像主体部分与背景时更加准确,背景无露出,人像身体轮廓无缺块,手指细节辨识显著提高。同时,人像与背景的边缘更加稳定,减少了连续视频帧中人像边缘的跳变和闪烁现象。

      -
    2. -
    3. 录制本地预览视频 -

      该版本在 中新增 type 成员。当调用 时,可通过该成员指定录制的视频流类型为本地预览视频流,并在 中设置录制预览视频的高、宽、帧率、采样率等参数,之后调用 即可开始录制本地预览的视频。

      +
    4. 自适应硬解支持 (Android, Windows) +

      该版本新增自适应硬解支持,改进了低端机的渲染流畅性,有效降低系统负载。

    5. -
    6. 指定视频观测位置截图 -

      该版本新增 方法,你可以在调用该方法时通过 config 参数,在指定的视频观测点进行截图,比如:编码前、编码后或渲染前的数据,以实现更加灵活的截图效果。

      +
    7. 渲染能力提升 (Windows) +

      Windows 设备上默认启用 DirectX 11 渲染器,可提供高性能、高质量的图形渲染能力。

    8. -
    9. 自定义音频采集改进 -

      该版本在 中新增了 enableAudioProcessing 成员参数,用于控制是否对 AUDIO_TRACK_DIRECT 类型的自定义音频采集轨道启用 3A 音频处理。该参数默认值为 ,即不启用音频处理,用户可以按需开启,此项改动提升了自定义音频处理的灵活性。

      +
    10. 人脸区域美颜 +

      为了避免磨皮美颜程度较高时丢失非脸部区域的细节,该版本改进了磨皮美颜效果的实现算法。磨皮美颜现在会识别人脸的各个部位,应用在除嘴巴、眼睛和眉毛之外的人脸皮肤区域,且支持最多同时对两张人脸磨皮。

    11. 其他改进 +

      该版本还进行了如下改进:

        -
      • 通过拼接视频帧和 Alpha 数据实现 Alpha 透明特效的应用场景下,提升了接收端的渲染性能,有效减少卡顿和延迟。(Android, iOS)
      • -
      • 优化了调用 获取设备评分等级的设计逻辑,提升了等级评分结果的准确性。
      • -
      • 支持使用 YV 12 格式的虚拟摄像头作为视频采集设备。(Windows)
      • -
      • 频道内调用 关闭本地采集后,支持通过手机静音侧键把 App 播放的背景音效设置为静音状态。(iOS)
      • -
      • 调用 切换不同分辨率的直播流或点播流时,可以实现平滑且无感知的切换效果,并在切换失败时新增自动重试机制。SDK 会在切换失败后自动重试 3 次,如果依旧失败,会通过 回调报告 事件,表示媒体资源切换时发生错误。
      • -
      • 调用 设置音频文件的播放速度时,最低支持 0.3 倍速播放。
      • -
    12. +
    13. 优化了传输策略,调用 不再对传输链路的安全性产生影响。
    14. +
    15. 回调中新增 枚举,表示进行屏幕采集的显示器已断开连接。(Windows, macOS)
    16. +
    17. 优化了共享窗口的视频链路,降低了 CPU 占用率。(macOS)
    18. +
    19. 优化了屏幕共享场景下的回声消除。
    20. +
    21. 该版本在 中新增 channelId 参数,用于获取发送 Metadata 的源频道名称。
    22. +
    23. 废弃了 中的冗余枚举值
    24. +
    25. 废弃了冗余枚举值
    26. +
    27. 优化了以下 API 的参数类型。此改进有助于提升代码的可读性,减少潜在的错误,并便于后续维护。
        +
      • 废弃了 option 参数为 int 类型的 ,新增了 option 参数为 类型的重载函数
      • +
      • 废弃了 streamType 参数为 int 类型的 ,新增了 streamType 参数为 类型的重载函数
    28. +

      +
    @@ -177,21 +126,10 @@

    该版本修复了以下问题:

      -
    • 调用 共享屏幕时,通过 regionRect 指定的窗口采集区域不准确,导致接收端看到的屏幕共享窗口宽高错误。(Windows)
    • -
    • 当发送端视频源类型为 JPEG 格式时,偶现接收端帧率低于预期。(Android、iOS)
    • -
    • 在播放音乐内容中心的音乐资源时,偶现杂音和卡顿。(Android)
    • -
    • 在 App 没有获取麦克风权限时,通过 播放伴奏音乐偶现卡顿。(Android)
    • -
    • 音视频互动过程中被系统来电打断后,通过 回调上报的用户音量错误。(Android)
    • -
    • 在接收端默认订阅视频小流、加入频道时不自动订阅任何视频流的前提下,加入频道后调用 (uid,false) 恢复接收视频流,但接收到的视频流为视频大流,不符合预期。(Android)
    • -
    • Windows 7 系统下进行音视频互动,偶现找不到系统文件的报错。(Windows)
    • -
    • 调用 设置 SDK 使用的音频采集或播放设备不跟随系统默认的音频播放设备,当音频设备被移除时,本地音频状态回调 没有被触发,不符合预期。(Windows)
    • -
    • 音视频互动过程中,偶现接收端听发送端没有声音。(iOS)
    • -
    • 音视频互动过程中,如果发送端设备的系统版本为 iOS 17,偶现接收端听不到来自发送端的声音。(iOS)
    • -
    • 直播场景下,观众端因切换网络导致断开连接,重新连接直播间花费的时间长于预期。(iOS)
    • -
    • App 启动后使用媒体播放器播放在线媒体资源,播放无声。(iOS)
    • -
    • 音视频互动过程中被系统其他 App 打断后恢复,偶现音频采集无声。(iOS)
    • -
    • 调用 后,立即调用 暂停播放音乐文件不生效。
    • -
    • 音视频互动过程中偶现崩溃。(Android)
    • +
    • 在实时互动过程中,当多个远端同时加入频道时 App 偶现崩溃。(iOS)
    • +
    • App 切后台一段时间、然后返回前台时,远端视频画面偶现卡住或花屏。(iOS)
    • +
    • 发送端调用 开始直接向 CDN 推流后,频繁开关或切换网络,偶现接收端黑屏但发送端未收到推流失败回调。(iOS)
    • +
    • 调用 推送外部音频数据,外部音频渲染的采样率如果不是 SDK 推荐的值时,比如 22050 Hz 和 11025 Hz,声音播放失败。
    diff --git a/dita/RTC-NG/release/release_notes_4.4.0.dita b/dita/RTC-NG/release/release_notes_4.4.0.dita deleted file mode 100644 index 60ded574d12..00000000000 --- a/dita/RTC-NG/release/release_notes_4.4.0.dita +++ /dev/null @@ -1,137 +0,0 @@ - - - - v4.4.0 - -

    该版本于 2024 年 7 月 x 日发布。

    - - - - <topic id="compatibility"> - <title>升级必看 - -

    该版本对部分功能的实现方式进行了优化,包括 SDK 的行为变更、API 的改名或删除,为确保项目的正常运行,你需要在升级到该版本后更新 App 中的代码。 - 自 v4.4.0 起,RTC SDK 提供 API 下架说明,包含各版本废弃及删除的 API 信息。详见 API 下架说明API 下架说明API 下架说明API 下架说明

    -
      -
    1. 为区分不同插件回调中的上下文信息,该版本将原有的插件相关回调删除并新增可标识插件上下文信息的对应回调(见下表),你可以通过各回调中的 了解插件的名称、使用该插件的用户 ID、和提供插件的服务商名等信息。 - - - 原有回调 - 现有回调 - - - onExtensionEventonEvent - - - - onExtensionStartedonStarted - - - - onExtensionStoppedonStopped - - - - onExtensionErroronError - - - -
    2. -
    3. 在 v4.4.0 之前,当你的用户角色为观众时,调用 将音频场景设为聊天室场景()会收到申请麦克风权限的弹窗提示。自 v4.4.0 起,SDK 通过 iOS 原生的 API 控制麦克风开关,因此观众角色在聊天室场景下不会再收到申请麦克风权限的弹窗。
    4. -
    5. 该版本将 receiveMetadata 回调改名为 ,并删除了回调中的 datatimeStamp 参数,你可以通过新增的 metadata 参数来获取 Metadata 的相关信息,包括 timeStamp(发送数据的时间戳)、uid(用户 ID)、channelId(源频道名称)等。
    6. -
    7. 该版本删除了 回调中的 bufferuidtimeStampMs 参数,你可以通过新增的 metadata 参数来获取 Metadata 的相关信息,包括 timeStampMs(发送数据的时间戳)、uid(用户 ID)、channelId(源频道名称)等。
    8. -
    9. 该版本修改了 中的以下成员名称: -
        -
      • d3d11_texture_2d 更名为 d3d11Texture2d
      • -
      • texture_slice_index 更名为 textureSliceIndex
      • -
      • metadata_buffer 更名为 metadataBuffer
      • -
      • metadata_size 更名为 metadataSize
      • -
    10. -
    - -
    - - 新增特性 - -
      -
    1. Lite SDK -

      自该版本起,声网推出 Lite 版 SDK,该 SDK 中仅包含音视频基础能力、对高阶音视频处理的功能进行部分裁剪,可有效减少集成 SDK 后的 App 体积。

      -
        -
      • Lite SDK 支持手动集成或三方仓库集成,详见
      • -
      • Lite SDK 包含的动态库信息详见
      • -
      • Lite SDK 支持的 API 清单详见 Lite SDK API 列表Lite SDK API 列表
      • -
      • 使用 Lite SDK 播放媒体文件时的限制和注意事项详见 RTC SDK 支持播放哪些格式的音频文件?
      • -
    2. -
    3. Alpha 透明特效 -

      该版本新增 Alpha 透明特效功能,支持在 SDK 采集和自定义采集视频的场景下,在发送端发布视频帧的 Alpha 通道、在接收端对 Alpha 通道进行渲染处理,实现透明礼物特效、接收端自定义主播背景等:

      -
        -
      • 中新增 alphaBuffer:设置 Alpha 通道数据。
      • -
      • 中新增 fillAlphaBuffer:对于 BGRA 或 RGBA 格式的视频数据,设置是否自动提取 Alpha 通道数据并填入到 alphaBuffer 中。
      • -
      • 中新增 alphaStitchMode:设置 alphaBuffer 和视频帧拼接的相对位置。
      • -
      -

      另外, 中新增成员 encodeAlpha,用于设置是否将 Alpha 信息编码并发送到远端。SDK 默认不对 Alpha 信息进行编码发送;如果需要对 Alpha 信息编码发送至远端(例如开启了虚拟背景功能),请显式调用 设置视频编码属性,并将 encodeAlpha 设置为 。 - -

      如需了解在各场景下实现 Alpha 特效的最佳实践,详见

      -

      -
    4. -
    5. AI 调音器 -

      该版本新增 AI 调音器功能,可以实现类似物理声卡对音质和音色的提升。你可以通过调用 方法并传入 枚举中支持的音效类型来启用 AI 调音器功能,实现大叔音、萝莉音、烟嗓歌声等声音效果。

      -
    6. -
    7. 版权音乐优化 -
        -
      • 该版本在 类下新增 方法,用于设置音乐资源的播放模式。在在线 K 歌房等场景下,你可以根据需求启用伴唱、原唱或导唱模式。
      • -
      • 该版本在 类下新增 方法,用于销毁音乐播放器并释放相应的资源。
      • -
      • 该版本废弃了 类下的 方法。如需销毁音乐播放器,请改用 类下新增 方法。
      • -
      -
    8. -
    9. 1v1 视频通话场景 -

      该版本在 类下新增枚举 (1v1 视频通话)。你可以调用 将视频业务场景设置为 1v1 视频通话,针对该场景低延迟、高画质的体验要求,SDK 进行了策略调优,提升了画质、首帧出图、中低端机延迟及弱网流畅度等性能表现。

      -
    10. -
    - -
    - - 改进 - -
      -
    1. 自适应硬解支持 (Android, Windows) -

      该版本新增自适应硬解支持,改进了低端机的渲染流畅性,有效降低系统负载。

      -
    2. -
    3. 渲染能力提升 (Windows) -

      Windows 设备上默认启用 DirectX 11 渲染器,可提供高性能、高质量的图形渲染能力。

      -
    4. -
    5. 人脸区域美颜 -

      为了避免磨皮美颜程度较高时丢失非脸部区域的细节,该版本改进了磨皮美颜效果的实现算法。磨皮美颜现在会识别人脸的各个部位,应用在除嘴巴、眼睛和眉毛之外的人脸皮肤区域,且支持最多同时对两张人脸磨皮。

      -
    6. -
    7. 其他改进 -

      该版本还进行了如下改进: -

        -
      • 优化了传输策略,调用 不再对传输链路的安全性产生影响。
      • -
      • 回调中新增 枚举,表示进行屏幕采集的显示器已断开连接。(Windows, macOS)
      • -
      • 优化了共享窗口的视频链路,降低了 CPU 占用率。(macOS)
      • -
      • 优化了屏幕共享场景下的回声消除。
      • -
      • 该版本在 中新增 channelId 参数,用于获取发送 Metadata 的源频道名称。
      • -
      • 废弃了 中的冗余枚举值
      • -
      • 废弃了冗余枚举值
      • -
      • 优化了以下 API 的参数类型。此改进有助于提升代码的可读性,减少潜在的错误,并便于后续维护。
          -
        • 废弃了 option 参数为 int 类型的 ,新增了 option 参数为 类型的重载函数
        • -
        • 废弃了 streamType 参数为 int 类型的 ,新增了 streamType 参数为 类型的重载函数
      • -

      -
    8. -
    - -
    - - 问题修复 - -

    该版本修复了以下问题:

    -
      -
    • 在实时互动过程中,当多个远端同时加入频道时 App 偶现崩溃。(iOS)
    • -
    • App 切后台一段时间、然后返回前台时,远端视频画面偶现卡住或花屏。(iOS)
    • -
    • 发送端调用 开始直接向 CDN 推流后,频繁开关或切换网络,偶现接收端黑屏但发送端未收到推流失败回调。(iOS)
    • -
    • 调用 推送外部音频数据,外部音频渲染的采样率如果不是 SDK 推荐的值时,比如 22050 Hz 和 11025 Hz,声音播放失败。
    • -
    - -
    -
    - diff --git a/dita/rtc_api.xpr b/dita/rtc_api.xpr index 11952bb119b..96b90771f7d 100644 --- a/dita/rtc_api.xpr +++ b/dita/rtc_api.xpr @@ -202,11 +202,11 @@ - RTC-NG/RTC_NG_API_CPP.ditamap + RTC-NG/RTC_NG_API_Harmony.ditamap - DITA Map HTML5 - NG CPP + DITA Map HTML5 - NG Harmony @@ -222,11 +222,11 @@ - RTC-NG/RTC_NG_API_Flutter.ditamap + RTC-NG/RTC_NG_API_iOS.ditamap - DITA Map HTML5 - NG Flutter + DITA Map HTML5 - NG iOS @@ -242,11 +242,11 @@ - RTC-NG/RTC_NG_API_Blueprint.ditamap + RTC-NG/RTC_NG_API_CS.ditamap - DITA Map HTML5 - NG Blueprint + DITA Map HTML5 - NG CS @@ -262,11 +262,11 @@ - RTC-NG/RTC_NG_API_Harmony.ditamap + RTC-NG/RTC_NG_Release_Unreal.ditamap - DITA Map HTML5 - NG Harmony + Release Notes HTML5 - NG Unreal @@ -282,11 +282,11 @@ - RTC-NG/RTC_NG_API_Unity.ditamap + RTC-NG/RTC_NG_Release_Unity.ditamap - DITA Map HTML5 - NG Unity + Release Notes HTML5 - NG Unity @@ -302,11 +302,11 @@ - RTC-NG/RTC_NG_API_iOS.ditamap + RTC-NG/RTC_NG_Release_RN.ditamap - DITA Map HTML5 - NG iOS + Release Notes HTML5 - NG RN @@ -322,11 +322,11 @@ - RTC-NG/RTC_NG_API_CS.ditamap + RTC-NG/RTC_NG_Release_macOS.ditamap - DITA Map HTML5 - NG CS + Release Notes HTML5 - NG macOS @@ -342,11 +342,11 @@ - RTC-NG/RTC_NG_Release_Unreal.ditamap + RTC-NG/RTC_NG_Release_iOS.ditamap - Release Notes HTML5 - NG Unreal + Release Notes HTML5 - NG iOS @@ -362,11 +362,11 @@ - RTC-NG/RTC_NG_Release_Unity.ditamap + RTC-NG/RTC_NG_Release_Flutter.ditamap - Release Notes HTML5 - NG Unity + Release Notes HTML5 - NG Flutter @@ -382,11 +382,11 @@ - RTC-NG/RTC_NG_Release_RN.ditamap + RTC-NG/RTC_NG_Release_Electron.ditamap - Release Notes HTML5 - NG RN + Release Notes HTML5 - NG Electron @@ -402,11 +402,11 @@ - RTC-NG/RTC_NG_Release_macOS.ditamap + RTC-NG/RTC_NG_Release_CS.ditamap - Release Notes HTML5 - NG macOS + Release Notes HTML5 - NG CS @@ -422,11 +422,11 @@ - RTC-NG/RTC_NG_Release_iOS.ditamap + RTC-NG/RTC_NG_Release_CPP.ditamap - Release Notes HTML5 - NG iOS + Release Notes HTML5 - NG CPP @@ -442,11 +442,11 @@ - RTC-NG/RTC_NG_Release_Flutter.ditamap + RTC-NG/RTC_NG_Release_Android.ditamap - Release Notes HTML5 - NG Flutter + Release Notes HTML5 - NG Android @@ -462,11 +462,11 @@ - RTC-NG/RTC_NG_Release_Electron.ditamap + RTC-NG/RTC_NG_API_RN.ditamap - Release Notes HTML5 - NG Electron + DITA Map HTML5 - NG RN @@ -482,11 +482,11 @@ - RTC-NG/RTC_NG_Release_CS.ditamap + RTC-NG/RTC_NG_API_Unreal.ditamap - Release Notes HTML5 - NG CS + DITA Map HTML5 - NG Unreal @@ -502,11 +502,11 @@ - RTC-NG/RTC_NG_Release_CPP.ditamap + RTC-NG/RTC_NG_API_Flutter.ditamap - Release Notes HTML5 - NG CPP + DITA Map HTML5 - NG Flutter @@ -522,11 +522,11 @@ - RTC-NG/RTC_NG_Release_Android.ditamap + RTC-NG/RTC_NG_API_macOS.ditamap - Release Notes HTML5 - NG Android + DITA Map HTML5 - NG macOS @@ -542,11 +542,11 @@ - RTC-NG/RTC_NG_API_RN.ditamap + RTC-NG/RTC_NG_API_Electron.ditamap - DITA Map HTML5 - NG RN + DITA Map HTML5 - NG Electron @@ -562,11 +562,11 @@ - RTC-NG/RTC_NG_API_Unreal.ditamap + RTC-NG/RTC_NG_API_Android.ditamap - DITA Map HTML5 - NG Unreal + DITA Map HTML5 - NG Android @@ -582,11 +582,11 @@ - RTC-NG/RTC_NG_API_macOS.ditamap + RTC-NG/RTC_NG_API_Unity.ditamap - DITA Map HTML5 - NG macOS + DITA Map HTML5 - NG Unity @@ -602,11 +602,11 @@ - RTC-NG/RTC_NG_API_Electron.ditamap + RTC-NG/RTC_NG_API_Blueprint.ditamap - DITA Map HTML5 - NG Electron + DITA Map HTML5 - NG Blueprint @@ -622,11 +622,11 @@ - RTC-NG/RTC_NG_API_Android.ditamap + RTC-NG/RTC_NG_API_CPP.ditamap - DITA Map HTML5 - NG Android + DITA Map HTML5 - NG CPP diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita index c40bad8a208..f31a24dec92 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita @@ -29,7 +29,7 @@
    Call timing

    Call this method before joining a channel.

    -
    +
    Restrictions

    None.

    @@ -42,7 +42,7 @@ delegate audioFrameObserver -

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

    +

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

    diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita index 96b94e049c5..c874590c13d 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita @@ -35,7 +35,7 @@
    Call timing

    Call this method before joining a channel.

    -
    +
    Restrictions

    When handling the video data returned in the callbacks, pay attention to the changes in the width and height parameters, which may be adapted under the following circumstances:

      @@ -50,7 +50,7 @@ observer delegate videoFrameObserver - The observer instance. See .To release the instance, set the value as . + The observer instance. See . To release the instance, set the value as . mode diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita index b463081ae45..3b37e553e2b 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita @@ -38,7 +38,7 @@ mode - The channel mode. See .
        + The channel mode. See .
        • (0): Original mode.
        • (1): Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel.
        • (2): Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel.
        • diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita index c8a1826e2c7..9b5bb73379e 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita @@ -14,7 +14,7 @@

          public abstract IAgoraMusicPlayer createMusicPlayer(); - public abstract createMusicPlayer():IAgoraMusicPlayer + (id<AgoraMusicPlayerProtocol> _Nullable)createMusicPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate> _Nullable)delegate NS_SWIFT_NAME(createMusicPlayer(delegate:)); virtual agora_refptr<IMusicPlayer> createMusicPlayer() = 0; abstract createMusicPlayer(): IMusicPlayer; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita index 9b944770280..2c4241b039e 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita @@ -19,10 +19,7 @@ mInstance.release(); mInstance = null; } - public static destroy():void -{ - RtcNapi.destroyMusicContentCenter() -} + + (void)destroy; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita index 70b607fbea7..eefa4ced277 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita @@ -14,7 +14,7 @@

          public abstract MusicCacheInfo[] getCaches(); - public abstract getCaches():MusicCacheInfo[] + - (NSArray *)getCaches NS_SWIFT_NAME(getCaches()); virtual int getCaches(MusicCacheInfo *cacheInfo, int32_t* cacheInfoSize) = 0; abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita index 2ea8b2aea23..2b96817082a 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita @@ -14,7 +14,7 @@

          public abstract String getLyric(long songCode, int lyricType); - public abstract getLyric(songCode:bigint,lyricType:number):string + - (NSString *)getLyricWithSongCode:(NSInteger)songCode lyricType:(NSInteger)lyricType NS_SWIFT_NAME(getLyric(songCode:lyricType:)); virtual int getLyric(agora::util::AString& requestId, int64_t songCode, int32_t LyricType = 0) = 0; abstract getLyric(songCode: number, lyricType?: number): string; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita index 5183a0b8d9c..37f3bbf0ebf 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita @@ -14,7 +14,7 @@

          public abstract String getMusicCharts(); - public abstract getMusicCharts():string + - (NSString *)getMusicCharts; virtual int getMusicCharts(agora::util::AString& requestId) = 0; abstract getMusicCharts(): string; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita index 8f81b8a45bc..330aae2961c 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita @@ -15,7 +15,7 @@

          public abstract String getMusicCollectionByMusicChartId( int musicChartId, int page, int pageSize, String jsonOption); - public abstract getMusicCollectionByMusicChartId(musicChartId:number,page:number,pageSize:number,jsonOption?:string):string + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita index bbee0de6908..39a11390276 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita @@ -14,7 +14,7 @@

          public abstract int initialize(MusicContentCenterConfiguration configuration); - public abstract initialize(configuration:MusicContentCenterConfiguration):number + + (instancetype)sharedContentCenterWithConfig:(AgoraMusicContentCenterConfig *)config NS_SWIFT_NAME(sharedContentCenter(config:)); virtual int initialize(const MusicContentCenterConfiguration & configuration) = 0; abstract initialize(configuration: MusicContentCenterConfiguration): number; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita index 0797a220e56..2f46b96ce41 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita @@ -14,7 +14,7 @@

          public abstract int isPreloaded(long songCode); - public abstract isPreloaded(songCode:bigint):number + - (NSInteger)isPreloadedWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(isPreloaded(songCode:)); virtual int isPreloaded(int64_t songCode) = 0; abstract isPreloaded(songCode: number): number; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita index ee569c9b150..7b23415e97c 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita @@ -14,7 +14,7 @@

          public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler); - public abstract registerEventHandler(eventHandler:IMusicContentCenterEventHandler):number + - (NSInteger)registerEventDelegate:(id<AgoraMusicContentCenterEventDelegate> _Nullable)eventDelegate; virtual int registerEventHandler(IMusicContentCenterEventHandler* eventHandler) = 0; abstract registerEventHandler( diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita index 427eea660ef..63db586172d 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita @@ -14,7 +14,7 @@

          public abstract int removeCache(long songCode); - public abstract removeCache(songCode:bigint):number + - (NSInteger)removeCacheWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(removeCache(songCode:)); virtual int removeCache(int64_t songCode) = 0; abstract removeCache(songCode: number): number; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita index d6a41a4ce2e..8080d8540a6 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita @@ -14,7 +14,7 @@

          public abstract int renewToken(String token); - public abstract renewToken(token:string):number + - (NSInteger)renewToken:(NSString * _Nonnull)token; virtual int renewToken(const char* token) = 0; abstract renewToken(token: string): number; diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita index 1848ae77264..efae2ecadbb 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita @@ -14,7 +14,7 @@

          public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption); - public abstract searchMusic(keyword:string,page:number,pageSize:number,jsonOption?:string):string + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita index 9af5ddb839f..3c8cdf4a10b 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita @@ -14,7 +14,7 @@

          public abstract int unregisterEventHandler(); - public abstract unregisterEventHandler():number + virtual int unregisterEventHandler() = 0; abstract unregisterEventHandler(): number; diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita index 3d69ed4bb92..20a0d01ac67 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita @@ -40,18 +40,18 @@

          Details

          You can call this method before sharing a screen or window to get a list of shareable screens and windows, which enables a user to use thumbnails in the list to easily choose a particular screen or window to share. This list also contains important information such as window ID and screen ID, with which you can call or to start the sharing.

          - This method applies to macOS and Windows only. + This method applies to macOS and Windows only.
          Parameters thumbSize - The target size of the screen or window thumbnail (the width and height are in pixels). See .The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and thumbSize is 100 × 100, the actual size of the thumbnail is 100 × 75. If the target size is larger than the original size, the thumbnail is the original image and the SDK does not scale it. + The target size of the screen or window thumbnail (the width and height are in pixels). See . The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and thumbSize is 100 × 100, the actual size of the thumbnail is 100 × 75. If the target size is larger than the original size, the thumbnail is the original image and the SDK does not scale it. iconSize - The target size of the icon corresponding to the application program (the width and height are in pixels). See .The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and iconSize is 100 × 100, the actual size of the icon is 100 × 75. If the target size is larger than the original size, the icon is the original image and the SDK does not scale it. + The target size of the icon corresponding to the application program (the width and height are in pixels). See . The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and iconSize is 100 × 100, the actual size of the icon is 100 × 75. If the target size is larger than the original size, the icon is the original image and the SDK does not scale it. includeScreen diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita b/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita index a0c9c2919ef..02e62779772 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita @@ -46,7 +46,7 @@
          • The highest frame rate supported by the device, if the method is called successfully. See .
          • If the call fails, returns .
            -
          • The highest frame rate supported by the device, if the method is called successfully. See .
              +
            • The highest frame rate supported by the device, if the method is called successfully. See .
              • 0: The device supports the frame rate of up to 15 fps.
              • 1: The device supports the frame rate of up to 30 fps.
              • 2: The device supports the frame rate of up to 60 fps.
            • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita index ac53b76c050..d3b8483b22a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita @@ -49,7 +49,7 @@ type -

              The metadata type. The SDK currently only supports . See .

              +

              The metadata type. The SDK currently only supports . See .

          diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita index c2b0cfc85a9..dc71c11947f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita @@ -48,7 +48,7 @@
          Call timing

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

          -
          +
          Restrictions

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

          @@ -60,7 +60,7 @@ profile -

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

            +

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

            • (0): The default value.
            • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita index 0bf3eb6e9f5..efa3eed3ebb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita @@ -62,7 +62,7 @@ role clientRoleType - The user role. See .
                + The user role. See .
                • (1): Host. A host can both send and receive streams.
                • (2): (Default) Audience. An audience member can only receive streams.
                diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita index 8cdb4bea7dc..e65709f1f83 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita @@ -42,7 +42,7 @@ filter -

                The output log level of the SDK. See .

                  +

                  The output log level of the SDK. See .

                  • (0): Do not output any log information.
                  • (0x080f): Output all log information. Set your log filter as DEBUG if you want to get the most complete log file.
                  • (0x0f): Output , , , and level log information. Agora recommends that you set the log level to this level.
                  • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita index c7c9eafe13c..6559f96225d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita @@ -44,7 +44,7 @@ option - Fallback options for the subscribed stream. See .
                      + Fallback options for the subscribed stream. See .
                      • (0): No fallback processing is performed on audio and video streams, and the quality of the audio and video streams cannot be guaranteed.
                      • (1): (Default) Under poor downlink network conditions, the remote video stream, to which you subscribe, falls back to the low-quality (low resolution and low bitrate) video stream.
                      • (2): When the network conditions are poor, try to receive the low-quality video stream first. If the video cannot be displayed due to extremely poor network environment, then fall back to receiving audio-only stream.
                      • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita index 54523c60202..7cd4d20fc1c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita @@ -40,7 +40,7 @@ userPriority -

                        The priority of the remote user. See .

                          +

                          The priority of the remote user. See .

                          • : The user's priority is high.
                          • : (Default) The user's priority is normal.

                          diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita index 5d63191478d..5195ab85033 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita @@ -43,7 +43,7 @@

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

          - This method is for Windows and macOS only. + This method is for Windows and macOS only.
          Applicable scenarios @@ -55,7 +55,7 @@
        • Call this method before joining a channel, and then call to join a channel and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
        • Call this method after joining a channel, and then call to join a channel and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.

        -
    +
    Restrictions

    None.

    @@ -70,7 +70,7 @@ regionRect - (Optional) Sets the relative location of the region to the screen. Pass in nil to share the entire screen. See .It consists of the following parameters:
      + (Optional) Sets the relative location of the region to the screen. Pass in nil to share the entire screen. See . It consists of the following parameters:
      • x: The horizontal offset from the top-left corner.
      • y: The vertical offset from the top-left corner.
      • width: The width of the region.
      • diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita index 97b1f4dfa49..055b1d6a00b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita @@ -29,7 +29,7 @@ rect regionRect - The relative location of the region to the screen or window. If you do not set this parameter, the SDK shares the whole screen. See .If the specified region overruns the screen or window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen or window. + The relative location of the region to the screen or window. If you do not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the screen or window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen or window.
    diff --git a/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita b/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita index 3d78ccd2577..ae674888f5c 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita @@ -37,7 +37,7 @@ frame audioFrame - The audio frame information. See .See . + The audio frame information. See . See . playerKit diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita index 8b446dee886..9f6de69cc94 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita @@ -14,7 +14,7 @@

    void onLyricResult(String requestId, long songCode, String lyricUrl, int reason); - onLyricResult?:(requestId:string,songCode:bigint,lyricUrl:string,reason:Constants.MusicContentCenterStateReason) => void + - (void)onLyricResult:(NSString*)requestId songCode:(NSInteger)songCode lyricUrl:(NSString* _Nullable)lyricUrl reason:(AgoraMusicContentCenterStateReason)reason; virtual void onLyricResult(const char* requestId, int64_t songCode, const char* lyricUrl, MusicContentCenterStateReason reason) = 0; onLyricResult?( diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita index 645c370dd9d..2e621b16ee0 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita @@ -14,7 +14,7 @@

    void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason); - onMusicChartsResult?:(requestId:string,list:MusicChartInfo[],reason:Constants.MusicContentCenterStateReason) => void + - (void)onMusicChartsResult:(NSString *)requestId result:(NSArray<AgoraMusicChartInfo*> *)result reason:(AgoraMusicContentCenterStateReason)reason; virtual void onMusicChartsResult(const char* requestId, agora_refptr<MusicChartCollection> result, MusicContentCenterStateReason reason) = 0; onMusicChartsResult?( diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita index ed8ad261bf4..4d0a505f73b 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita @@ -15,7 +15,7 @@

    void onMusicCollectionResult( String requestId, int page, int pageSize, int total, Music[] list, int reason); - onMusicCollectionResult?:(requestId:string,page:number,pageSize:number,total:number,list:Music[],reason:Constants.MusicContentCenterStateReason) => void + - (void)onMusicCollectionResult:(NSString *)requestId result:(AgoraMusicCollection *)result reason:(AgoraMusicContentCenterStateReason)reason; virtual void onMusicCollectionResult(const char* requestId, agora_refptr<MusicCollection> result, MusicContentCenterStateReason reason) = 0; onMusicCollectionResult?( diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita index 67e6cf127c9..69683bbacbf 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita @@ -15,7 +15,7 @@

    void onPreLoadEvent( String requestId, long songCode, int percent, String lyricUrl, int state, int reason); - onPreLoadEvent?:(requestId:string,songCode:bigint,percent:number,lyricUrl:string,state:number,reason:Constants.MusicContentCenterStateReason) => void + - (void)onPreLoadEvent:(NSString*)requestId songCode:(NSInteger)songCode percent:(NSInteger)percent lyricUrl:(NSString * _Nullable)lyricUrl state:(AgoraMusicContentCenterPreloadState)state reason:(AgoraMusicContentCenterStateReason)reason; virtual void onPreLoadEvent(const char* requestId, int64_t songCode, int percent, const char* lyricUrl, PreloadState state, MusicContentCenterStateReason reason) = 0; onPreLoadEvent?( diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita index 557286b13e3..2e5b1e6e6df 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita @@ -14,7 +14,7 @@

    void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason); - onSongSimpleInfoResult?:(requestId:string,songCode:bigint,simpleInfo:string,reason:Constants.MusicContentCenterStateReason) => void + - (void)onSongSimpleInfoResult:(NSString*)requestId songCode:(NSInteger)songCode simpleInfo:(NSString* _Nullable)simpleInfo reason:(AgoraMusicContentCenterStateReason)reason; virtual void onSongSimpleInfoResult(const char* requestId, int64_t songCode, const char* simpleInfo, MusicContentCenterStateReason reason) = 0; onSongSimpleInfoResult?( diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita index 3e8bd51e6c8..3ce5d7533ea 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita @@ -43,7 +43,7 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode; state - The playback state of the music file. See .

    + The playback state of the music file. See .

    • (710): The music file is playing.
    • (711): The music file pauses playing.
    • @@ -57,7 +57,7 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode; reasonCode reason - Error code. See .

      + Error code. See .

      • (0): No error.
      • (701): The SDK cannot open the music file.
      • diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita index 92a52c19413..00d08029e2d 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita @@ -72,7 +72,7 @@ quality - Audio quality of the user. See .
          + Audio quality of the user. See .
          diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita index 123ad62ab8a..4f535d1884b 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita @@ -56,7 +56,7 @@ state -

          The current connection state. See .

          +

          The current connection state. See .

          • (1): The SDK is disconnected from Agora's edge server.
          • (2): The SDK is connecting to Agora's edge server.
          • diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita index 710f36c7266..2e646a830b3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita @@ -57,7 +57,7 @@ error errorCode - The reason for local video mixing error. See . + The reason for local video mixing error. See . The reason for local video mixing error:
            • 1: The selected video source has not started video capture. You need to create a video track for it and start video capture.
            • 2: The video source type is invalid. You need to re-specify the supported video source type.
            • diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita index ee43bbee716..f6f4e230f9a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita @@ -68,13 +68,13 @@ txQuality - Uplink network quality rating of the user in terms of the transmission bit rate, packet loss rate, average RTT (Round-Trip Time) and jitter of the uplink network. This parameter is a quality rating helping you understand how well the current uplink network conditions can support the selected video encoder configuration. For example, a 1000 Kbps uplink network may be adequate for video frames with a resolution of 640 × 480 and a frame rate of 15 fps in the LIVE_BROADCASTING profile, but might be inadequate for resolutions higher than 1280 × 720. See .
                + Uplink network quality rating of the user in terms of the transmission bit rate, packet loss rate, average RTT (Round-Trip Time) and jitter of the uplink network. This parameter is a quality rating helping you understand how well the current uplink network conditions can support the selected video encoder configuration. For example, a 1000 Kbps uplink network may be adequate for video frames with a resolution of 640 × 480 and a frame rate of 15 fps in the LIVE_BROADCASTING profile, but might be inadequate for resolutions higher than 1280 × 720. See .
                rxQuality - Downlink network quality rating of the user in terms of packet loss rate, average RTT, and jitter of the downlink network. See .
                  + Downlink network quality rating of the user in terms of packet loss rate, average RTT, and jitter of the downlink network. See .
                  diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita index 8090b0eee49..6b2fa07d547 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita @@ -43,7 +43,7 @@
    Returns -

    Sets the raw data format of the SDK output. See .

    +

    Sets the raw data format of the SDK output. See .

    • (0): Raw video.
    • (1): I420.
    • diff --git a/en-US/dita/RTC-NG/API/class_beautyoptions.dita b/en-US/dita/RTC-NG/API/class_beautyoptions.dita index f15393fc08a..794349a2054 100644 --- a/en-US/dita/RTC-NG/API/class_beautyoptions.dita +++ b/en-US/dita/RTC-NG/API/class_beautyoptions.dita @@ -177,7 +177,7 @@ public: lighteningContrastLevel -

      The contrast level, used with the lighteningLevel parameter. The larger the value, the greater the contrast between light and dark. See .

        +

        The contrast level, used with the lighteningLevel parameter. The larger the value, the greater the contrast between light and dark. See .

        • (0): Low contrast level.
        • (1): Normal contrast level.
        • (2): High contrast level.
        • diff --git a/en-US/dita/RTC-NG/API/class_clientroleoptions.dita b/en-US/dita/RTC-NG/API/class_clientroleoptions.dita index c8e3fccccff..851263f41b1 100644 --- a/en-US/dita/RTC-NG/API/class_clientroleoptions.dita +++ b/en-US/dita/RTC-NG/API/class_clientroleoptions.dita @@ -80,7 +80,7 @@ public: audienceLatencyLevel - The latency level of an audience member in interactive live streaming. See .
            + The latency level of an audience member in interactive live streaming. See .
            • (1): Low latency.
            • (2): (Default) Ultra low latency.
            diff --git a/en-US/dita/RTC-NG/API/class_codeccaplevels.dita b/en-US/dita/RTC-NG/API/class_codeccaplevels.dita index 73222db379c..1d358536259 100644 --- a/en-US/dita/RTC-NG/API/class_codeccaplevels.dita +++ b/en-US/dita/RTC-NG/API/class_codeccaplevels.dita @@ -104,7 +104,7 @@ class CodecCapLevels { hwDecodingLevel - Hardware decoding capability level, which represents the device's ability to perform hardware decoding on videos of different quality. See . + Hardware decoding capability level, which represents the device's ability to perform hardware decoding on videos of different quality. See .
            • (-1): Unsupported video type. Currently, only H.264 and H.265 formats are supported. If the video is in another format, this value will be returned.
            • (5): Supports encoding and decoding videos up to 1080p and 30 fps.
            • @@ -114,7 +114,7 @@ class CodecCapLevels { swDecodingLevel - Software decoding capability level, which represents the device's ability to perform software decoding on videos of different quality. See . + Software decoding capability level, which represents the device's ability to perform software decoding on videos of different quality. See .
    diff --git a/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita b/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita index a55c85d11df..a3153e5905f 100644 --- a/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita +++ b/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita @@ -402,7 +402,7 @@ struct FEncodedVideoFrameInfo { streamType - The type of video streams. See . + The type of video streams. See .
    • (0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
    • diff --git a/en-US/dita/RTC-NG/API/class_livetranscoding.dita b/en-US/dita/RTC-NG/API/class_livetranscoding.dita index e608b52c7cb..2c20497d3a1 100644 --- a/en-US/dita/RTC-NG/API/class_livetranscoding.dita +++ b/en-US/dita/RTC-NG/API/class_livetranscoding.dita @@ -771,7 +771,7 @@ public: videoBitrate -

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

      +

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

      diff --git a/en-US/dita/RTC-NG/API/class_localvideostats.dita b/en-US/dita/RTC-NG/API/class_localvideostats.dita index 0a0ba4771c4..f32a452bc5a 100644 --- a/en-US/dita/RTC-NG/API/class_localvideostats.dita +++ b/en-US/dita/RTC-NG/API/class_localvideostats.dita @@ -517,7 +517,7 @@ public: qualityAdaptIndication - The quality adaptation of the local video stream in the reported interval (based on the target frame rate and target bitrate). See .

      + The quality adaptation of the local video stream in the reported interval (based on the target frame rate and target bitrate). See .

      • (0): The local video quality stays the same.
      • (1): The local video quality improves because the network bandwidth increases.
      • @@ -545,7 +545,7 @@ public: codecType - The codec type of the local video. See .

        + The codec type of the local video. See .

        • (1): VP8.
        • (2): H.264.
        • @@ -577,7 +577,7 @@ public: hwEncoderAccelerating - The local video encoding acceleration type. See .
            + The local video encoding acceleration type. See .
            • 0: Software encoding is applied without acceleration.
            • 1: Hardware encoding is applied for acceleration.
            diff --git a/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita b/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita index a17d1a86aa3..54272e4cbb0 100644 --- a/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita +++ b/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita @@ -112,14 +112,14 @@ public: level - The low-light enhancement level. See .
              + The low-light enhancement level. See .
              • (0): (Default) Promotes video quality during low-light enhancement. It processes the brightness, details, and noise of the video image. The performance consumption is moderate, the processing speed is moderate, and the overall video quality is optimal.
              • (1): Promotes performance during low-light enhancement. It processes the brightness and details of the video image. The processing speed is faster.
              mode - The low-light enhancement mode. See .
                + The low-light enhancement mode. See .
                • (0): (Default) Automatic mode. The SDK automatically enables or disables the low-light enhancement feature according to the ambient light to compensate for the lighting level or prevent overexposure, as necessary.
                • (1): Manual mode. Users need to enable or disable the low-light enhancement feature manually.
                diff --git a/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita b/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita index b6c61c33f32..35a777a85f4 100644 --- a/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita @@ -12,12 +12,6 @@ public int streamType = STREAM_TYPE_BOTH; public int maxDurationMs = 120000; public int recorderInfoUpdateInterval = 0; - public int width; - public int height; - public int fps; - public int sample_rate; - public int channel_num; - public int videoSourceType; public MediaRecorderConfiguration(String storagePath, int containerFormat, int streamType, int maxDurationMs, int recorderInfoUpdateInterval) { @@ -26,40 +20,18 @@ this.streamType = streamType; this.maxDurationMs = maxDurationMs; this.recorderInfoUpdateInterval = recorderInfoUpdateInterval; - this.width = 1280; - this.height = 720; - this.fps = 30; - this.sample_rate = 48000; - this.channel_num = 1; - this.videoSourceType = 0; - } - - public MediaRecorderConfiguration(String storagePath, int containerFormat, int streamType, - int maxDurationMs, int recorderInfoUpdateInterval, int width, int height, int fps, - int sample_rate, int channel_num, int videoSourceType) { - this.storagePath = storagePath; - this.containerFormat = containerFormat; - this.streamType = streamType; - this.maxDurationMs = maxDurationMs; - this.recorderInfoUpdateInterval = recorderInfoUpdateInterval; - this.width = width; - this.height = height; - this.fps = fps; - this.sample_rate = sample_rate; - this.channel_num = channel_num; - this.videoSourceType = videoSourceType; } } export class MediaRecorderConfiguration { - + public storagePath: string; - + public containerFormat: number = AgoraMediaRecorder.CONTAINER_MP4; - + public streamType: number = AgoraMediaRecorder.STREAM_TYPE_BOTH; - + public maxDurationMs: number = 120000; - + public recorderInfoUpdateInterval: number = 0; public constructor(storagePath: string, containerFormat: number, streamType: number, maxDurationMs: number, recorderInfoUpdateInterval: number) { @@ -75,52 +47,17 @@ @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat; @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType; @property(assign, nonatomic) NSUInteger maxDurationMs; -@property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval; -@property(assign, nonatomic) NSUInteger width; -@property(assign, nonatomic) NSUInteger height; -@property(assign, nonatomic) NSUInteger fps; -@property(assign, nonatomic) NSUInteger sample_rate; -@property(assign, nonatomic) NSUInteger channel_num; -@property(assign, nonatomic) AgoraVideoSourceType videoSourceType; -@end +@property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval; struct MediaRecorderConfiguration { const char* storagePath; MediaRecorderContainerFormat containerFormat; MediaRecorderStreamType streamType; int maxDurationMs; int recorderInfoUpdateInterval; - int width; - int height; - int fps; - int sample_rate; - int channel_num; - agora::rtc::VIDEO_SOURCE_TYPE videoSourceType; - MediaRecorderConfiguration() - : storagePath(NULL), - containerFormat(FORMAT_MP4), - streamType(STREAM_TYPE_BOTH), - maxDurationMs(120000), - recorderInfoUpdateInterval(0), - width(1280), - height(720), - fps(30), - sample_rate(48000), - channel_num(1), - videoSourceType(rtc::VIDEO_SOURCE_CAMERA_PRIMARY) {} - MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, - MediaRecorderStreamType type, int duration, int interval) - : storagePath(path), - containerFormat(format), - streamType(type), - maxDurationMs(duration), - recorderInfoUpdateInterval(interval), - width(1280), - height(720), - fps(30), - sample_rate(48000), - channel_num(1), - videoSourceType(rtc::VIDEO_SOURCE_CAMERA_PRIMARY) {}}; + MediaRecorderConfiguration() : storagePath(NULL), containerFormat(FORMAT_MP4), streamType(STREAM_TYPE_BOTH), maxDurationMs(120000), recorderInfoUpdateInterval(0) {} + MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {} +}; USTRUCT(BlueprintType) struct FMediaRecorderConfiguration { @@ -138,17 +75,16 @@ struct FMediaRecorderConfiguration int recorderInfoUpdateInterval; }; export class MediaRecorderConfiguration { + storagePath?: string; + containerFormat?: MediaRecorderContainerFormat; + streamType?: MediaRecorderStreamType; + maxDurationMs?: number; + recorderInfoUpdateInterval?: number; - width?: number; - height?: number; - fps?: number; - sample_rate?: number; - channel_num?: number; - videoSourceType?: VideoSourceType; } public struct MediaRecorderConfiguration { public string storagePath; @@ -156,41 +92,27 @@ struct FMediaRecorderConfiguration public MediaRecorderStreamType streamType; public int maxDurationMs; public int recorderInfoUpdateInterval; - public int width; - public int height; - public int fps; - public int sample_rate; - public int channel_num; - public VIDEO_SOURCE_TYPE videoSourceType; }; export class MediaRecorderConfiguration { + storagePath?: string; + containerFormat?: MediaRecorderContainerFormat; + streamType?: MediaRecorderStreamType; + maxDurationMs?: number; + recorderInfoUpdateInterval?: number; - width?: number; - height?: number; - fps?: number; - sample_rate?: number; - channel_num?: number; - videoSourceType?: VideoSourceType; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) -class MediaRecorderConfiguration { + class MediaRecorderConfiguration { const MediaRecorderConfiguration( {this.storagePath, this.containerFormat, this.streamType, this.maxDurationMs, - this.recorderInfoUpdateInterval, - this.width, - this.height, - this.fps, - this.sampleRate, - this.channelNum, - this.videoSourceType}); + this.recorderInfoUpdateInterval}); @JsonKey(name: 'storagePath') final String? storagePath; @@ -207,24 +129,6 @@ class MediaRecorderConfiguration { @JsonKey(name: 'recorderInfoUpdateInterval') final int? recorderInfoUpdateInterval; - @JsonKey(name: 'width') - final int? width; - - @JsonKey(name: 'height') - final int? height; - - @JsonKey(name: 'fps') - final int? fps; - - @JsonKey(name: 'sample_rate') - final int? sampleRate; - - @JsonKey(name: 'channel_num') - final int? channelNum; - - @JsonKey(name: 'videoSourceType') - final VideoSourceType? videoSourceType; - factory MediaRecorderConfiguration.fromJson(Map<String, dynamic> json) => _$MediaRecorderConfigurationFromJson(json); diff --git a/en-US/dita/RTC-NG/API/class_music.dita b/en-US/dita/RTC-NG/API/class_music.dita index 6455a8bc5c4..35cc497ddc6 100644 --- a/en-US/dita/RTC-NG/API/class_music.dita +++ b/en-US/dita/RTC-NG/API/class_music.dita @@ -86,31 +86,7 @@ return climaxSegments; } } - export class Music -{ - - public songCode:bigint = BigInt(0) - - public name:string = "" - - public singer:string = "" - - public poster:string = "" - - public releaseTime:string = "" - - public type:number = 0 - - public pitchType:number = 0 - - public durationS:number = 0 - - public lyricTypes?:number[] - - public mvProperties?:MvProperty[] - - public climaxSegments?:ClimaxSegment[] -} + __attribute__((visibility("default"))) @interface AgoraMusic : NSObject @property(nonatomic, assign) NSInteger songCode; @property(nonatomic, assign) NSInteger type; diff --git a/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita b/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita index 0dd394ae316..eb71c715c3c 100644 --- a/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita +++ b/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita @@ -12,13 +12,7 @@ public MusicCacheInfo() {} } - export class MusicCacheInfo -{ - - public songCode:bigint = BigInt(0) - - public status:number = 0 -} + __attribute__((visibility("default"))) @interface AgoraMusicCacheInfo : NSObject @property(nonatomic, assign) NSInteger songCode; diff --git a/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita b/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita index b44354be4da..03e016f62c6 100644 --- a/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita @@ -22,21 +22,7 @@ eventHandler = null; } } - export class MusicContentCenterConfiguration -{ - - public appId:string = "" - - public token:string = "" - - public mccUid:number = 0 - - public maxCacheSize:number = 10 - - public eventHandler?:IMusicContentCenterEventHandler - - public mccDomain?:string -} + __attribute__((visibility("default"))) @interface AgoraMusicContentCenterConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property (nonatomic, copy) NSString *appId; diff --git a/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita b/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita index 022d3b4c653..227b8750819 100644 --- a/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita +++ b/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita @@ -296,7 +296,7 @@ public: streamType mediaStreamType - The type of the media stream. See .
                  + The type of the media stream. See .
                  • (0): The type is unknown.
                  • (1): The video stream.
                  • (2): The audio stream.
                  • diff --git a/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita b/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita index 28bcf4c9f18..cd691274d8c 100644 --- a/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita +++ b/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita @@ -7,14 +7,13 @@

                    public class RecorderStreamInfo { - public int uid; public String channelId; - public int recorderStreamType; + public int uid; } export class RecorderStreamInfo { - + public uid: number = 0; - + public channelId: string; public constructor() { this.uid = 0; @@ -25,19 +24,15 @@ } } __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject -@property (nonatomic, nonatomic) NSUInteger uid; + @property (nonatomic, copy) NSString *_Nonnull channelId; -@property (assign, nonatomic) AgoraRecorderStreamType type; +@property (nonatomic, nonatomic) NSUInteger uid; + @end struct RecorderStreamInfo { - const char* channelId; - uid_t uid; - RecorderStreamType type; - RecorderStreamInfo() : channelId(NULL), uid(0), type(RTC) {} - RecorderStreamInfo(const char* channelId, uid_t uid) - : channelId(channelId), uid(uid), type(RTC) {} - RecorderStreamInfo(const char* channelId, uid_t uid, RecorderStreamType) - : channelId(channelId), uid(uid), type(RTC) {} + const char* channelId; + uid_t uid; + RecorderStreamInfo() : channelId(NULL), uid(0) {} }; USTRUCT(BlueprintType) struct FRecorderStreamInfo { @@ -50,23 +45,20 @@ struct FRecorderStreamInfo { int64 uid; }; - RecorderStreamInfo { - channelId?: string; - uid?: number; - type?: RecorderStreamType; - } + export class RecorderStreamInfo { + channelId?: string; + uid?: number; +} public class RecorderStreamInfo { public string channelId; public uint uid; - public RecorderStreamType type; }; - RecorderStreamInfo { - channelId?: string; - uid?: number; - type?: RecorderStreamType; - } + export class RecorderStreamInfo { + channelId?: string; + uid?: number; +} @JsonSerializable(explicitToJson: true, includeIfNull: false) class RecorderStreamInfo { const RecorderStreamInfo({this.channelId, this.uid}); @@ -77,9 +69,6 @@ class RecorderStreamInfo { @JsonKey(name: 'uid') final int? uid; - @JsonKey(name: 'type') - final RecorderStreamType? type; - factory RecorderStreamInfo.fromJson(Map<String, dynamic> json) => _$RecorderStreamInfoFromJson(json); diff --git a/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita b/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita index 0a5826a74c4..f6d53604106 100644 --- a/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita +++ b/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita @@ -423,7 +423,7 @@ class RemoteAudioStats { quality -

                    The quality of the audio stream sent by the user. See .

                    +

                    The quality of the audio stream sent by the user. See .

                    • (0): The quality is unknown.
                    • @@ -487,7 +487,7 @@ class RemoteAudioStats { qoeQuality -

                      The Quality of Experience (QoE) of the local user when receiving a remote audio stream. See .

                        +

                        The Quality of Experience (QoE) of the local user when receiving a remote audio stream. See .

                        • (0): The QoE of the local user is good.
                        • (1): The QoE of the local user is poor.

                        @@ -496,7 +496,7 @@ class RemoteAudioStats { qualityChangedReason -

                        Reasons why the QoE of the local user when receiving a remote audio stream is poor. See .

                          +

                          Reasons why the QoE of the local user when receiving a remote audio stream is poor. See .

                          • (0): No reason, indicating a good QoE of the local user.
                          • (1): The remote user's network quality is poor.
                          • (2): The local user's network quality is poor.
                          • diff --git a/en-US/dita/RTC-NG/API/class_remotevideostats.dita b/en-US/dita/RTC-NG/API/class_remotevideostats.dita index ea91c18db4d..d75591dd125 100644 --- a/en-US/dita/RTC-NG/API/class_remotevideostats.dita +++ b/en-US/dita/RTC-NG/API/class_remotevideostats.dita @@ -414,7 +414,7 @@ class RemoteVideoStats { rxStreamType - The type of the video stream. See .

                            + The type of the video stream. See .

                            • (0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
                            • (1): Low-quality stream, that is, a low-resolution and low-bitrate video stream.
                            • diff --git a/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita b/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita index 80c62c52582..edc5e9b753e 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita @@ -182,7 +182,7 @@ public: params parameters - (For Windows and macOS only) The screen capture configuration. See . + (For Windows and macOS only) The screen capture configuration. See . regionRect diff --git a/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita b/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita index a4153cd64aa..aad86bbe8c6 100644 --- a/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita @@ -248,7 +248,7 @@ public: position - The position of a window relative to the entire screen space (including all shareable screens). See .See . + The position of a window relative to the entire screen space (including all shareable screens). See . See . minimizeWindow diff --git a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita index 65ba9b23da0..ae74a7cdc82 100644 --- a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita +++ b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita @@ -216,7 +216,7 @@ public:
                            • 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.
                            • -
                            +
                          When setting the encoding resolution in the scenario of sharing documents (), choose one of the following two methods:
                          • If you require the best image quality, it is recommended to set the encoding resolution to be the same as the capture resolution.
                          • If you wish to achieve a relative balance between image quality, bandwidth, and system performance, then:
                              @@ -237,7 +237,7 @@ public: contentHint - The content hint for screen sharing. See .
                                + The content hint for screen sharing. See .
                                • (0): (Default) No content hint.
                                • (1): Motion-intensive content. Choose this option if you prefer smoothness or when you are sharing a video clip, movie, or video game.
                                • (2): Motionless content. Choose this option if you prefer sharpness or when you are sharing a picture, PowerPoint slides, or texts.
                                • diff --git a/en-US/dita/RTC-NG/API/class_segmentationproperty.dita b/en-US/dita/RTC-NG/API/class_segmentationproperty.dita index 9b49842ef25..914c35101af 100644 --- a/en-US/dita/RTC-NG/API/class_segmentationproperty.dita +++ b/en-US/dita/RTC-NG/API/class_segmentationproperty.dita @@ -114,7 +114,7 @@ public: modelType - The type of algorithms to user for background processing. See .
                                    + The type of algorithms to user for background processing. See .
                                    • (1): (Default) Use the algorithm suitable for all scenarios.
                                    • (2): Use the algorithm designed specifically for scenarios with a green screen background.
                                    diff --git a/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita b/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita index 5a95ba022d3..24bd7af9c2d 100644 --- a/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita +++ b/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita @@ -115,7 +115,7 @@ public: dimensions - The video dimension. See .The default value is 50% of the high-quality video stream. + The video dimension. See . The default value is 50% of the high-quality video stream. bitrate diff --git a/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita b/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita index 8b3aa2f5c0a..b72a02052c6 100644 --- a/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita +++ b/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita @@ -77,7 +77,7 @@ struct FUserAudioSpectrumInfo { audioSpectrumData spectrumData -

                                    Audio spectrum information of the remote user. See .

                                    +

                                    Audio spectrum information of the remote user. See .

                    diff --git a/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita b/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita index 917fbf85f43..bb51fd42b85 100644 --- a/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita +++ b/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita @@ -111,7 +111,7 @@ public: level - Video noise reduction level. See .
                      + Video noise reduction level. See .
                      • (0): (Default) Promotes video quality during low-light enhancement. It processes the brightness, details, and noise of the video image. The performance consumption is moderate, the processing speed is moderate, and the overall video quality is optimal.
                      • (1): Promotes reducing performance consumption during video noise reduction. It prioritizes reducing performance consumption over video noise reduction quality. The performance consumption is lower, and the video noise reduction speed is faster. To avoid a noticeable shadowing effect (shadows trailing behind moving objects) in the processed video, Agora recommends that you use this setting when the camera is fixed.
                      @@ -119,7 +119,7 @@ public: mode - Video noise reduction mode. See .
                        + Video noise reduction mode. See .
                        • (0): (Default) Automatic mode. The SDK automatically enables or disables the video noise reduction feature according to the ambient light.
                        • (1): Manual mode. Users need to enable or disable the video noise reduction feature manually.
                        diff --git a/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita b/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita index c4f8c49a657..d964f9685b4 100644 --- a/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita @@ -595,7 +595,7 @@ public: bitrate -

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

                        +

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

                        • (0): (Recommended) Standard bitrate mode.
                        • (-1): Adaptive bitrate mode. In general, Agora suggests that you do not use this value.
                        • diff --git a/en-US/dita/RTC-NG/API/class_videoframe.dita b/en-US/dita/RTC-NG/API/class_videoframe.dita index eb075247102..6169ab03551 100644 --- a/en-US/dita/RTC-NG/API/class_videoframe.dita +++ b/en-US/dita/RTC-NG/API/class_videoframe.dita @@ -907,7 +907,7 @@ class VideoFrame { 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/class_virtualbackgroundsource.dita b/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita index e1bef0fb006..5e2c6e98ca8 100644 --- a/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita +++ b/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita @@ -176,7 +176,7 @@ public: backgroundSourceType background_source_type - The custom background. See .
                                + The custom background. See .
                                • (0): Process the background as alpha data without replacement, only separating the portrait and the background. After setting this value, you can call to implement the picture-in-picture effect.
                                • (1): (Default) The background image is a solid color.
                                • (2): The background image is a file in PNG or JPG format.
                                • @@ -199,7 +199,7 @@ public: blurDegree blur_degree - The degree of blurring applied to the custom background image. See .
                                    + The degree of blurring applied to the custom background image. See .
                                    • (1): The degree of blurring applied to the custom background image is low. The user can almost see the background clearly.
                                    • (2): The degree of blurring applied to the custom background image is medium. It is difficult for the user to recognize details in the background.
                                    • (3): The degree of blurring applied to the custom background image is high. The user can barely see any distinguishing features in the background.
                                    • diff --git a/en-US/dita/RTC-NG/RTC_NG_Release_Blueprint.ditamap b/en-US/dita/RTC-NG/RTC_NG_Release_Blueprint.ditamap deleted file mode 100644 index 0d1f2b4f643..00000000000 --- a/en-US/dita/RTC-NG/RTC_NG_Release_Blueprint.ditamap +++ /dev/null @@ -1,17 +0,0 @@ - - - - Release Notes - - - - - - - - - - - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap index ff2b336b4bf..ebfb35e9545 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-blueprint.ditamap @@ -318,34 +318,6 @@ - - - - GetEventHandler - - - - - - - AddBlueprintCallbackExecutor - - - - - - - AddBlueprintCallbackExecutorEx - - - - - - - ClearAllEventHandlerCBExecutors - - - @@ -747,27 +719,13 @@ - - - - registerPlayerSourceObserver - - - - + GetMediaPlayerSourceObserver - - - - AddBlueprintCallbackExecutor - - - @@ -1215,20 +1173,6 @@ - - - - SetLocalRenderTargetFps - - - - - - - SetRemoteRenderTargetFps - - - @@ -1324,20 +1268,6 @@ - - - - GetFaceShapeAreaOptions - - - - - - - GetFaceShapeBeautyOptions - - - @@ -1373,27 +1303,6 @@ - - - - SetFaceShapeAreaOptions - - - - - - - SetFaceShapeBeautyOptions - - - - - - - SetFilterEffectOptions - - - @@ -1641,13 +1550,6 @@ - - - - TakeSnapshotWithConfigEx - - - @@ -2782,29 +2684,6 @@ - - - - - StartLocalAudioMixer - - - - - - - StopLocalAudioMixer - - - - - - - UpdateLocalAudioMixerConfiguration - - - - @@ -4097,13 +3976,6 @@ - - - - TakeSnapshotWithConfig - - - @@ -5493,27 +5365,6 @@ - - - - FUABT_FaceShapeAreaOptions - - - - - - - FUABT_FaceShapeBeautyOptions - - - - - - - FUABT_FilterEffectOptions - - - @@ -5640,24 +5491,10 @@ - - - - FUABT_MixedAudioStream - - - - - - - FUABT_LocalAudioMixerConfiguration - - - - FUABT_LowlightEnhanceOptions + FLowlightEnhanceOptions @@ -5797,7 +5634,7 @@ - FUABT_RtcConnection + FRtcConnection @@ -5885,13 +5722,6 @@ - - - - FUABT_SnapshotConfig - - - @@ -5965,21 +5795,21 @@ - FUABT_VideoDenoiserOptions + FVideoDenoiserOptions - FUABT_VideoDimensions + FVideoDimensions - FUABT_VideoEncoderConfiguration + FVideoEncoderConfiguration @@ -6062,69 +5892,6 @@ - - - - EUABT_AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -6783,13 +6550,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8410,14 +8170,7 @@ - EUABT_DEGRADATION_PREFERENCE - - - - - - - MAINTAIN_AUTO + EDEGRADATION_PREFERENCE @@ -9051,125 +8804,6 @@ - - - - EUABT_FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - EUABT_FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_MALE - - - @@ -9880,7 +9514,7 @@ - EUABT_LOW_LIGHT_ENHANCE_LEVEL + ELOW_LIGHT_ENHANCE_LEVEL @@ -9961,7 +9595,7 @@ - + MEDIA_DEVICE_STATE_PLUGGED_IN @@ -10384,7 +10018,7 @@ - EUABT_MEDIA_SOURCE_TYPE + EMEDIA_SOURCE_TYPE @@ -10678,7 +10312,7 @@ - EUABT_ORIENTATION_MODE + EORIENTATION_MODE @@ -11224,7 +10858,7 @@ - FUABT_AdvanceOptions + FAdvanceOptions @@ -12040,13 +11674,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -12127,7 +11754,7 @@ - EUABT_VIDEO_DENOISER_LEVEL + EVIDEO_DENOISER_LEVEL @@ -12155,7 +11782,7 @@ - EUABT_VIDEO_SOURCE_TYPE + EVIDEO_SOURCE_TYPE @@ -12365,7 +11992,7 @@ - EUABT_VIDEO_CODEC_TYPE + EVIDEO_CODEC_TYPE @@ -12554,7 +12181,7 @@ - EUABT_VIDEO_MIRROR_MODE_TYPE + EVIDEO_MIRROR_MODE_TYPE @@ -12582,7 +12209,7 @@ - EUABT_VIDEO_MODULE_POSITION + EVIDEO_MODULE_POSITION @@ -13265,4 +12892,4 @@ - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index e508e48ccb3..bf4073b8d0e 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -301,41 +301,6 @@ - - - - Canvas - - - - - - - Rte - - - - - - - Player - - - - - - - PlayerConfig - - - - - - - PlayerObserver - - - @@ -986,375 +951,6 @@ - - - - - AddView - - - - - - - Canvas - - - - - - - Code - - - - - - - Destroy - - - - - - - Message - - - - - - - GetAutoPlay - - - - - - - GetFromBridge - - - - - - - Rte - - - - - - - InitMediaEngine - - - - - - - RegisterObserver [1/2] - - - - - - - UnregisterObserver [1/2] - - - - - - - SetAutoPlay - - - - - - - SetAppId - - - - - - - SetCanvas - - - - - - - SetRenderMode - - - - - - - SetAbrFallbackLayer - - - - - - - SetAbrSubscriptionLayer - - - - - - - GetAbrFallbackLayer - - - - - - - GetAbrSubscriptionLayer - - - - - - - GetAppId - - - - - - - GetStats - - - - - - - GetMirrorMode - - - - - - - GetRenderMode - - - - - - - MuteAudio - - - - - - - MuteVideo - - - - - - - SetConfigs [1/3] - - - - - - - SetConfigs [2/3] - - - - - - - SetConfigs [3/3] - - - - - - - SetMirrorMode - - - - - - - SetJsonParameter - - - - - - - SetJsonParameter [2/2] - - - - - - - GetConfigs [1/3] - - - - - - - GetConfigs [2/3] - - - - - - - GetConfigs [3/3] - - - - - - - GetInfo - - - - - - - GetJsonParameter - - - - - - - GetJsonParameter [2/2] - - - - - - - - Pause - - - - - - - Play - - - - - - - Player - - - - - - - PreloadWithUrl - - - - - - - RemoveView - - - - - - - RegisterObserver - - - - - - - Stop - - - - - - - OpenWithUrl - - - - - - - UnregisterObserver - - - - - - - - - onAudioVolumeIndication - - - - - - - onEvent - - - - - - - onMetadata [2/2] - - - - - - - onPlayerInfoUpdated [2/2] - - - - - - - onResolutionChanged - - - - - - - onStateChanged - - - - @@ -1570,20 +1166,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1666,33 +1248,19 @@ - setAdvancedAudioOptions - - - - - - - setAINSMode - - - - - - - - - getFaceShapeAreaOptions + setAdvancedAudioOptions - + - getFaceShapeBeautyOptions + setAINSMode + + @@ -1728,27 +1296,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1992,14 +1539,7 @@ - takeSnapshotEx [1/2] - - - - - - - takeSnapshotEx [2/2] + takeSnapshotEx @@ -2145,13 +1685,6 @@ - - - - setExternalMediaProjection - - - @@ -3078,13 +2611,6 @@ - - - - setExternalRemoteEglContext - - - @@ -3158,30 +2684,7 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - - + @@ -3971,17 +3474,21 @@ - + - setRecordingDeviceMute + href="../API/api_iaudiodevicemanager_setrecordingdevicemute.dita" + setRecordingDeviceMute + - + - getRecordingDeviceMute + href="../API/api_iaudiodevicemanager_getrecordingdevicemute.dita" + getRecordingDeviceMute + @@ -4444,14 +3951,7 @@ - takeSnapshot [1/2] - - - - - - - takeSnapshot [2/2] + takeSnapshot @@ -5011,7 +4511,7 @@ - onMetaData [1/2] + onMetaData @@ -5095,7 +4595,7 @@ - onPlayerInfoUpdated [1/2] + onPlayerInfoUpdated @@ -5697,13 +5197,6 @@ - - - - CanvasConfig - - - @@ -5774,13 +5267,6 @@ - - - - Config - - - @@ -5844,13 +5330,6 @@ - - - - Error - - - @@ -5865,27 +5344,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -6019,20 +5477,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -6194,20 +5638,6 @@ - - - - RtePlayerInfo - - - - - - - RtePlayerStats - - - @@ -6278,13 +5708,6 @@ - - - - SnapshotConfig - - - @@ -6819,69 +6242,6 @@ - - - - AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -7176,13 +6536,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8947,13 +8300,6 @@ - - - - MAINTAIN_AUTO - - - @@ -9573,133 +8919,14 @@ - EXPERIENCE_QUALITY_GOOD - - - - - - - EXPERIENCE_QUALITY_BAD - - - - - - - FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE + EXPERIENCE_QUALITY_GOOD - + - FACE_SHAPE_BEAUTY_STYLE_MALE + EXPERIENCE_QUALITY_BAD @@ -10501,7 +9728,7 @@ - + MEDIA_DEVICE_STATE_PLUGGED_IN @@ -11320,668 +10547,416 @@ - - - - PLAYER_PRELOAD_EVENT_COMPLETE - - - - - - - PLAYER_PRELOAD_EVENT_ERROR - - - - - - - PRIORITY_TYPE - - - - - - - PRIORITY_HIGH - - - - - - - PRIORITY_NORMAL - - - - - - - QUALITY_ADAPT_INDICATION - - - - - - - ADAPT_NONE - - - - - - - ADAPT_UP_BANDWIDTH - - - - - - - ADAPT_DOWN_BANDWIDTH - - - - - - - QUALITY_REPORT_FORMAT_TYPE - - - - - - - QUALITY_REPORT_JSON - - - - - - - QUALITY_REPORT_HTML - - - - - - - QUALITY_TYPE - - - - - - - QUALITY_UNKNOWN - - - - - - - QUALITY_EXCELLENT - - - - - - - QUALITY_GOOD - - - - - - - QUALITY_POOR - - - - - - - QUALITY_BAD - - - - - - - QUALITY_VBAD - - - - - - - QUALITY_DOWN - - - - - - - QUALITY_UNSUPPORTED - - - - - - - QUALITY_DETECTING - - - - - - - RAW_AUDIO_FRAME_OP_MODE_TYPE - - - - - - - RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - - - - - - - RAW_AUDIO_FRAME_OP_MODE_READ_WRITE - - - - - - - REMOTE_AUDIO_STATE - - - - - - - REMOTE_AUDIO_STATE_STOPPED - - - - - - - REMOTE_AUDIO_STATE_STARTING - - - - - - - REMOTE_AUDIO_STATE_DECODING - - - - - - - REMOTE_AUDIO_STATE_FROZEN - - - - - - - REMOTE_AUDIO_STATE_FAILED - - - - - - - REMOTE_VIDEO_STATE - - - - - - - REMOTE_VIDEO_STATE_STOPPED - - - - - - - REMOTE_VIDEO_STATE_STARTING - - - - - - - REMOTE_VIDEO_STATE_DECODING - - - - - - - REMOTE_VIDEO_STATE_FROZEN - - - - + - REMOTE_VIDEO_STATE_FAILED + PLAYER_PRELOAD_EVENT_COMPLETE - + - RteErrorCode + PLAYER_PRELOAD_EVENT_ERROR - + - kRteOk + PRIORITY_TYPE - + - kRteErrorDefault + PRIORITY_HIGH - + - kRteErrorInvalidArgument + PRIORITY_NORMAL - + - kRteErrorInvalidOperation + QUALITY_ADAPT_INDICATION - + - kRteErrorNetworkError + ADAPT_NONE - + - kRteErrorAuthenticationFailed + ADAPT_UP_BANDWIDTH - + - kRteErrorStreamNotFound + ADAPT_DOWN_BANDWIDTH - + - RteVideoMirrorMode + QUALITY_REPORT_FORMAT_TYPE - + - kRteVideoMirrorModeAuto + QUALITY_REPORT_JSON - + - kRteVideoMirrorModeEnabled + QUALITY_REPORT_HTML - + - kRteVideoMirrorModeDisabled + QUALITY_TYPE - + - REMOTE_AUDIO_STATE_REASON + QUALITY_UNKNOWN - + - REMOTE_AUDIO_REASON_INTERNAL + QUALITY_EXCELLENT - + - REMOTE_AUDIO_REASON_NETWORK_CONGESTION + QUALITY_GOOD - + - REMOTE_AUDIO_REASON_NETWORK_RECOVERY + QUALITY_POOR - + - REMOTE_AUDIO_REASON_LOCAL_MUTED + QUALITY_BAD - + - REMOTE_AUDIO_REASON_LOCAL_UNMUTED + QUALITY_VBAD - + - REMOTE_AUDIO_REASON_REMOTE_MUTED + QUALITY_DOWN - + - REMOTE_AUDIO_REASON_REMOTE_UNMUTED + QUALITY_UNSUPPORTED - + - REMOTE_AUDIO_REASON_REMOTE_OFFLINE + QUALITY_DETECTING - + - REMOTE_VIDEO_STATE_REASON + RAW_AUDIO_FRAME_OP_MODE_TYPE - + - REMOTE_VIDEO_STATE_REASON_INTERNAL + RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - + - REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION + RAW_AUDIO_FRAME_OP_MODE_READ_WRITE - + - REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY + REMOTE_AUDIO_STATE - + - REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED + REMOTE_AUDIO_STATE_STOPPED - + - REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED + REMOTE_AUDIO_STATE_STARTING - + - REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED + REMOTE_AUDIO_STATE_DECODING - + - REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED + REMOTE_AUDIO_STATE_FROZEN - + - REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE + REMOTE_AUDIO_STATE_FAILED - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK + REMOTE_VIDEO_STATE - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY + REMOTE_VIDEO_STATE_STOPPED - + - REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND + REMOTE_VIDEO_STATE_STARTING - + - REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT + REMOTE_VIDEO_STATE_DECODING - + - RteAbrFallbackLayer + REMOTE_VIDEO_STATE_FROZEN - + - kRteAbrFallbackDisabled + REMOTE_VIDEO_STATE_FAILED - + - kRteAbrFallbackLow + REMOTE_AUDIO_STATE_REASON - + - kRteAbrFallbackAudioOnly + REMOTE_AUDIO_REASON_INTERNAL - + - kRteAbrFallbackLayer1 + REMOTE_AUDIO_REASON_NETWORK_CONGESTION - + - kRteAbrFallbackLayer2 + REMOTE_AUDIO_REASON_NETWORK_RECOVERY - + - kRteAbrFallbackLayer3 + REMOTE_AUDIO_REASON_LOCAL_MUTED - + - kRteAbrFallbackLayer4 + REMOTE_AUDIO_REASON_LOCAL_UNMUTED - + - kRteAbrFallbackLayer5 + REMOTE_AUDIO_REASON_REMOTE_MUTED - + - kRteAbrFallbackLayer6 + REMOTE_AUDIO_REASON_REMOTE_UNMUTED - + - RteAbrSubscriptionLayer + REMOTE_AUDIO_REASON_REMOTE_OFFLINE - + - kRteAbrSubscriptionHigh + REMOTE_VIDEO_STATE_REASON - + - kRteAbrSubscriptionLow + REMOTE_VIDEO_STATE_REASON_INTERNAL - + - kRteAbrSubscriptionLayer1 + REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION - + - kRteAbrSubscriptionLayer2 + REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY - + - kRteAbrSubscriptionLayer3 + REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED - + - kRteAbrSubscriptionLayer4 + REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED - + - kRteAbrSubscriptionLayer5 + REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED - + - kRteAbrSubscriptionLayer6 + REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED - + - RteVideoRenderMode + REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE - + - kRteVideoRenderModeHidden + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK - + - kRteVideoRenderModeFit + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY - + - RtePlayerMetadataType + REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND - + - kRtePlayerMetadataTypeSei + REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT @@ -12132,68 +11107,6 @@ - - - - RecorderStreamType - - - - - - - RTC - - - - - - - PREVIEW - - - - - - - RtePlayerEvent - - - - - - - kRtePlayerEventFreezeStart - - - - - - - kRtePlayerEventFreezeStop - - - - - - - kRtePlayerEventAuthenticationWillExpire - - - - - - - kRtePlayerEventAbrFallbackToAudioOnlyLayer - - - - - - kRtePlayerEventAbrRecoverFromAudioOnlyLayer - - - @@ -12382,69 +11295,6 @@ RTMP_STREAM_PUBLISH_STATE_DISCONNECTING - - - - - RtePlayerState - - - - - - - kRtePlayerStateIdle - - - - - - - kRtePlayerStateOpening - - - - - - - kRtePlayerStateOpenCompleted - - - - - - - kRtePlayerStatePlaying - - - - - - - kRtePlayerStatePaused - - - - - - - kRtePlayerStatePlaybackCompleted - - - - - - - kRtePlayerStateStopped - - - - - - - kRtePlayerStateFailed - - @@ -12957,13 +11807,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -14322,4 +13165,4 @@ - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap index 983e466ad3c..4af0e354d1b 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-electron.ditamap @@ -1108,20 +1108,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1217,20 +1203,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1266,27 +1238,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1501,13 +1452,6 @@ - - - - takeSnapshotWithConfigEx - - - @@ -2480,29 +2424,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3020,20 +2941,6 @@ - - - - setRecordingDeviceMute - - - - - - - getRecordingDeviceMute - - - @@ -3327,7 +3234,7 @@ - + onSongSimpleInfoResult @@ -3566,13 +3473,6 @@ - - - - takeSnapshotWithConfig - - - @@ -4927,27 +4827,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -5064,20 +4943,6 @@ MediaSource - - - - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration @@ -5284,27 +5149,20 @@ - - - - SnapshotConfig - - - - - - - SpatialAudioParams - - - - - - - SpatialAudioZone - - - + + + + SpatialAudioParams + + + + + + + SpatialAudioZone + + + @@ -5832,69 +5690,6 @@ - - - - AudioSourceType - - - - - - - AudioSourceMicrophone - - - - - - - AudioSourceCustom - - - - - - - AudioSourceMediaPlayer - - - - - - - AudioSourceLoopbackRecording - - - - - - - AudioSourceMixedStream - - - - - - - AudioSourceRemoteUser - - - - - - - AudioSourceRemoteChannel - - - - - - - AudioSourceUnknown - - - @@ -6077,13 +5872,6 @@ - - - - PreferCompressionAuto - - - @@ -7841,13 +7629,6 @@ - - - - MaintainAuto - - - @@ -8475,125 +8256,6 @@ ExperienceQualityBad - - - - - - - FaceShapeArea - - - - - - - FaceShapeAreaNone - - - - - - - FaceShapeAreaHeadscale - - - - - - - FaceShapeAreaForehead - - - - - - - FaceShapeAreaFacecontour - - - - - - - FaceShapeAreaFacelength - - - - - - - FaceShapeAreaFacewidth - - - - - - - FaceShapeAreaCheekbone - - - - - - - FaceShapeAreaCheek - - - - - - - FaceShapeAreaChin - - - - - - - FaceShapeAreaEyescale - - - - - - - FaceShapeAreaNoselength - - - - - - - FaceShapeAreaNosewidth - - - - - - - FaceShapeAreaMouthscale - - - - - - - FaceShapeBeautyStyle - - - - - - - FaceShapeBeautyStyleFemale - - - - - - - FaceShapeBeautyStyleMale @@ -9353,13 +9015,6 @@ - - - - MediaDeviceStatePluggedIn - - - @@ -10508,27 +10163,6 @@ - - - - RecorderStreamType - - - - - - - Rtc - - - - - - - Preview - - - @@ -11173,13 +10807,6 @@ - - - - ApplicationScenarioLiveshow - - - @@ -11271,7 +10898,7 @@ - + VideoDenoiserLevelStrength diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap index 6350f1ae356..96fafab5e72 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap @@ -1151,20 +1151,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1260,20 +1246,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1309,27 +1281,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1544,13 +1495,6 @@ - - - - takeSnapshotWithConfigEx - - - @@ -1637,13 +1581,6 @@ - - - - setExternalMediaProjection - - - @@ -2504,13 +2441,6 @@ - - - - setExternalRemoteEglContext - - - @@ -2570,29 +2500,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3253,20 +3160,6 @@ - - - - setRecordingDeviceMute - - - - - - - getRecordingDeviceMute - - - @@ -3717,13 +3610,6 @@ - - - - takeSnapshotWithConfig - - - @@ -4842,6 +4728,13 @@ + + + + AudioTrackConfig + + + @@ -4849,13 +4742,6 @@ - - - - AudioTrackConfig - - - @@ -5017,27 +4903,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -5150,20 +5015,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5381,13 +5232,6 @@ - - - - SnapshotConfig - - - @@ -6104,13 +5948,6 @@ - - - - preferCompressionAuto - - - @@ -7021,69 +6858,6 @@ - - - - AudioSourceType - - - - - - - audioSourceMicrophone - - - - - - - audioSourceCustom - - - - - - - audioSourceMediaPlayer - - - - - - - audioSourceLoopbackRecording - - - - - - - audioSourceMixedStream - - - - - - - audioSourceRemoteUser - - - - - - - audioSourceRemoteChannel - - - - - - - audioSourceUnknown - - - @@ -7728,13 +7502,6 @@ - - - - maintainAuto - - - @@ -8365,125 +8132,6 @@ - - - - FaceShapeArea - - - - - - - faceShapeAreaNone - - - - - - - faceShapeAreaHeadscale - - - - - - - faceShapeAreaForehead - - - - - - - faceShapeAreaFacecontour - - - - - - - faceShapeAreaFacelength - - - - - - - faceShapeAreaFacewidth - - - - - - - faceShapeAreaCheekbone - - - - - - - faceShapeAreaCheek - - - - - - - faceShapeAreaChin - - - - - - - faceShapeAreaEyescale - - - - - - - faceShapeAreaNoselength - - - - - - - faceShapeAreaNosewidth - - - - - - - faceShapeAreaMouthscale - - - - - - - FaceShapeBeautyStyle - - - - - - - faceShapeBeautyStyleFemale - - - - - - - faceShapeBeautyStyleMale - - - @@ -9247,13 +8895,6 @@ - - - - mediaDeviceStatePluggedIn - - - @@ -10549,27 +10190,6 @@ - - - - RecorderStreamType - - - - - - - rtc - - - - - - - preview - - - @@ -11200,13 +10820,6 @@ - - - - applicationScenarioLiveshow - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap index 42890708875..8795eee2fe2 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-harmony.ditamap @@ -23,14 +23,6 @@ - - - - API 列表 - API List - - - @@ -83,14 +75,14 @@ - + IAudioEffectManager - + IAudioFrameObserver @@ -111,7 +103,7 @@ - + IMediaPlayerCacheManager @@ -125,7 +117,7 @@ - + IMediaPlayerVideoFrameObserver @@ -160,7 +152,7 @@ - + IMetadataObserver @@ -174,7 +166,7 @@ - + IVideoFrameObserver @@ -195,7 +187,7 @@ - + IBaseSpatialAudioEngine @@ -209,28 +201,28 @@ - + AudioParams - + IMusicContentCenterEventHandler - + IAgoraMusicPlayer - + IAgoraMusicContentCenter @@ -247,7 +239,7 @@ - + create @@ -297,7 +289,7 @@ - + @@ -397,7 +389,7 @@ - + @@ -436,14 +428,14 @@ - getPlaySrc + getPlaySrc [1/2] - + - getPlaySrc [2/2] + getPlaySrc @@ -482,7 +474,7 @@ - + getMediaPlayerCacheManager @@ -553,6 +545,13 @@ + + + open [1/2] + + + + open @@ -594,14 +593,14 @@ - + registerAudioFrameObserver - + registerVideoFrameObserver @@ -629,7 +628,7 @@ - + selectAudioTrack @@ -741,6 +740,13 @@ + + + + openWithCustomSource + + + @@ -834,6 +840,13 @@ + + + + enableAudioQualityIndication + + + @@ -869,7 +882,7 @@ - + adjustUserPlaybackSignalVolume @@ -976,7 +989,7 @@ - + setVideoScenario @@ -1004,6 +1017,7 @@ + @@ -1011,6 +1025,13 @@ + + + + setRemoteRenderMode [1/2] + + + @@ -1025,6 +1046,20 @@ + + + + CreateRendererView + + + + + + + CreateTextureView + + + @@ -1174,7 +1209,7 @@ - + adjustUserPlaybackSignalVolumeEx @@ -1188,7 +1223,7 @@ - + createDataStreamEx [1/2] @@ -1202,7 +1237,7 @@ - + enableAudioVolumeIndicationEx @@ -1252,14 +1287,14 @@ - + muteRemoteAudioStreamEx - + muteRemoteVideoStreamEx @@ -1294,7 +1329,7 @@ - + setRemoteRenderModeEx @@ -1308,7 +1343,7 @@ - + setRemoteVideoStreamTypeEx @@ -1371,14 +1406,14 @@ - + takeSnapshotEx - + updateChannelMediaOptionsEx @@ -1392,84 +1427,84 @@ - + startRtmpStreamWithoutTranscodingEx - + startRtmpStreamWithTranscodingEx - + updateRtmpTranscodingEx - + stopRtmpStreamEx - + startOrUpdateChannelMediaRelayEx - + pauseAllChannelMediaRelayEx - + muteLocalAudioStreamEx - + muteLocalVideoStreamEx - + muteAllRemoteAudioStreamsEx - + muteAllRemoteVideoStreamsEx - + stopChannelMediaRelayEx - + resumeAllChannelMediaRelayEx @@ -1492,7 +1527,7 @@ - + updateScreenCaptureParameters @@ -1529,14 +1564,14 @@ - + setAudioMixingPlaybackSpeed - + @@ -1586,14 +1621,14 @@ - + getAudioMixingPlayoutVolume - + getAudioMixingPublishVolume @@ -1637,7 +1672,7 @@ - + getAudioEffectManager @@ -2010,7 +2045,7 @@ - + startRtmpStreamWithoutTranscoding @@ -2243,14 +2278,14 @@ - + pauseAllChannelMediaRelay - + resumeAllChannelMediaRelay @@ -2324,7 +2359,7 @@ - + isCameraFaceDetectSupported @@ -2340,7 +2375,7 @@ - + setEnableSpeakerphone @@ -2408,8 +2443,8 @@ - - + + enableDualStreamMode @@ -2423,15 +2458,21 @@ - - + + + + setDualStreamMode [1/2] + + + + setDualStreamMode - + setDualStreamModeEx @@ -2463,10 +2504,24 @@ + + + + startEchoTest [1/3] + + + + + + + startEchoTest [2/3] + + + - startEchoTest + startEchoTest [3/3] @@ -2514,15 +2569,15 @@ - - - + - pushExternalVideoFrameById + pushExternalVideoFrameById [1/2] - + + + @@ -2672,7 +2727,7 @@ - + @@ -2688,7 +2743,7 @@ - + @@ -2734,7 +2789,7 @@ - + @@ -2784,31 +2839,31 @@ - + - onEventWithContext + onEvent - + - onStartedWithContext + onStarted - + - onStoppedWithContext + onStopped - + - onErrorWithContext + onError @@ -2836,7 +2891,7 @@ - + @@ -2890,6 +2945,20 @@ + + + + setEncryptionMode + + + + + + + setEncryptionSecret + + + @@ -2989,7 +3058,7 @@ - + isCameraZoomSupported @@ -3010,7 +3079,7 @@ - + isCameraExposurePositionSupported @@ -3024,7 +3093,7 @@ - + isCameraAutoFocusFaceModeSupported @@ -3052,21 +3121,21 @@ - + setCameraExposurePosition - + setCameraTorchOn - + setCameraAutoFocusFaceModeEnabled @@ -3112,7 +3181,7 @@ - + @@ -3183,7 +3252,7 @@ - + @@ -3191,17 +3260,17 @@ - + open2 - + - stop [2/2] + stop @@ -3275,13 +3344,6 @@ - - - - destroyMusicPlayer - - - @@ -3352,15 +3414,8 @@ - - - - setPlayMode - - - - + @@ -3405,7 +3460,7 @@ - + enableContentInspect @@ -3491,7 +3546,7 @@ - + getErrorDescription @@ -3505,7 +3560,7 @@ - + getSdkVersion @@ -3554,7 +3609,7 @@ - + setLogFile @@ -3568,7 +3623,7 @@ - + setLogFilter @@ -3662,7 +3717,7 @@ - + onUserMuteAudio @@ -3704,21 +3759,21 @@ - + onTokenPrivilegeWillExpire - + onRequestToken - + onLocalUserRegistered @@ -3783,14 +3838,14 @@ - + onFirstLocalVideoFrame - + onAudioPublishStateChanged @@ -3806,7 +3861,7 @@ - + onAudioSubscribeStateChanged @@ -3820,7 +3875,7 @@ - + onFirstRemoteVideoFrame @@ -3848,14 +3903,14 @@ - + onUserEnableVideo - + onUserMuteVideo @@ -3869,7 +3924,7 @@ - + onVideoSubscribeStateChanged @@ -3950,42 +4005,42 @@ - + onMetaData - + onPlayerCacheStats - + onPlayerEvent - + onPlayerPlaybackStats - + onPlayerStateChanged - + onPositionChanged @@ -4006,14 +4061,14 @@ - + onPlayBufferUpdated - + onPreloadEvent @@ -4027,14 +4082,14 @@ - + onPlayerSrcInfoChanged - + onPlayerInfoUpdated @@ -4067,6 +4122,13 @@ + + + + onAudioMixingFinished + + + @@ -4074,7 +4136,7 @@ - + onAudioEffectFinished @@ -4115,7 +4177,7 @@ - + onChannelMediaRelayStateChanged @@ -4198,7 +4260,7 @@ - + @@ -4335,7 +4397,7 @@ - + @@ -4358,11 +4420,11 @@ - + - onCameraFocusPointChanged + onCameraFocusAreaChanged @@ -4373,7 +4435,7 @@ - + onCameraReady @@ -4397,7 +4459,7 @@ - + @@ -4422,7 +4484,7 @@ - + @@ -4430,7 +4492,7 @@ - + onTranscodedStreamLayoutInfo @@ -4491,7 +4553,7 @@ - + AdvancedAudioOptions @@ -4708,7 +4770,7 @@ - + AgoraVideoFrame @@ -4722,7 +4784,7 @@ - + AgoraFocalLengthInfo @@ -4981,13 +5043,6 @@ - - - - ScreenCaptureParameters - - - @@ -5068,7 +5123,7 @@ - AudioSpectrumInfo + UserAudioSpectrumInfo @@ -5767,38 +5822,31 @@ - - - - ContentInspectType - - - - INVALID + CONTENT_INSPECT_TYPE_INVALID - MODERATION + CONTENT_INSPECT_TYPE_MODERATION - SUPERVISE + CONTENT_INSPECT_TYPE_SUPERVISE - IMAGE_MODERATION + CONTENT_INSPECT_TYPE_IMAGE_MODERATION @@ -6120,28 +6168,28 @@ - STEREO + AUDIO_DUAL_MONO_STEREO - L + AUDIO_DUAL_MONO_L - R + AUDIO_DUAL_MONO_R - MIX + AUDIO_DUAL_MONO_MIX @@ -6180,108 +6228,94 @@ - - - - AudioMixingReason - - - - CAN_NOT_OPEN + AUDIO_MIXING_REASON_CAN_NOT_OPEN - TOO_FREQUENT_CALL + AUDIO_MIXING_REASON_TOO_FREQUENT_CALL - INTERRUPTED_EOF + AUDIO_MIXING_REASON_INTERRUPTED_EOF - OK + AUDIO_MIXING_REASON_OK - ONE_LOOP_COMPLETED + AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED - ALL_LOOPS_COMPLETED + AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED - STOPPED_BY_USER - - - - - - - AudioMixingState + AUDIO_MIXING_REASON_STOPPED_BY_USER - PLAYING + AUDIO_MIXING_STATE_PLAYING - PAUSED + AUDIO_MIXING_STATE_PAUSED - STOPPED + AUDIO_MIXING_STATE_STOPPED - FAILED + AUDIO_MIXING_STATE_FAILED - COMPLETED + AUDIO_MIXING_STATE_COMPLETED - ALL_LOOPS_COMPLETED + AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED @@ -6729,21 +6763,21 @@ - TYPE_32000 + AUDIO_SAMPLE_RATE_32000 - TYPE_44100 + AUDIO_SAMPLE_RATE_44100 - TYPE_48000 + AUDIO_SAMPLE_RATE_48000 @@ -6831,13 +6865,6 @@ - - - - ConnectionChangedReason - - - @@ -7132,234 +7159,220 @@ - - - - ChannelMediaRelayError - - - - OK + RELAY_OK - SERVER_ERROR_RESPONSE + RELAY_ERROR_SERVER_ERROR_RESPONSE - SERVER_NO_RESPONSE + RELAY_ERROR_SERVER_NO_RESPONSE - NO_RESOURCE_AVAILABLE + RELAY_ERROR_NO_RESOURCE_AVAILABLE - FAILED_JOIN_SRC + RELAY_ERROR_FAILED_JOIN_SRC - FAILED_JOIN_DEST + RELAY_ERROR_FAILED_JOIN_DEST - FAILED_PACKET_RECEIVED_FROM_SRC + RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC - FAILED_PACKET_SENT_TO_DEST + RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST - SERVER_CONNECTION_LOST + RELAY_ERROR_SERVER_CONNECTION_LOST - INTERNAL_ERROR + RELAY_ERROR_INTERNAL_ERROR - SRC_TOKEN_EXPIRED + RELAY_ERROR_SRC_TOKEN_EXPIRED - DEST_TOKEN_EXPIRED - - - - - - - ChannelMediaRelayState + RELAY_ERROR_DEST_TOKEN_EXPIRED - NETWORK_DISCONNECTED + RELAY_EVENT_NETWORK_DISCONNECTED - NETWORK_CONNECTED + RELAY_EVENT_NETWORK_CONNECTED - PACKET_JOINED_SRC_CHANNEL + RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL - PACKET_JOINED_DEST_CHANNEL + RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL - PACKET_SENT_TO_DEST_CHANNEL + RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL - PACKET_RECEIVED_VIDEO_FROM_SRC + RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC - PACKET_RECEIVED_AUDIO_FROM_SRC + RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC - PACKET_UPDATE_DEST_CHANNEL + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL - PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE - PACKET_UPDATE_DEST_CHANNEL_IS_NULL + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL - VIDEO_PROFILE_UPDATE + RELAY_EVENT_VIDEO_PROFILE_UPDATE - PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED - RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED - IDLE + RELAY_STATE_IDLE - CONNECTING + RELAY_STATE_CONNECTING - RUNNING + RELAY_STATE_RUNNING - FAILURE + RELAY_STATE_FAILURE @@ -7636,38 +7649,31 @@ - - - - EarMontoringFilterType - - - - NONE + EAR_MONITORING_FILTER_NONE - BUILT_IN_AUDIO_FILTERS + EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS - NOISE_SUPPRESSION + EAR_MONITORING_FILTER_NOISE_SUPPRESSION - REUSE_POST_PROCESSING_FILTER + EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER @@ -7825,13 +7831,6 @@ - - - - ERR_INIT_NET_ENGINE - - - @@ -8399,94 +8398,80 @@ - - - - LocalAudioStreamReason - - - - OK + LOCAL_AUDIO_STREAM_REASON_OK - FAILURE + LOCAL_AUDIO_STREAM_REASON_FAILURE - DEVICE_NO_PERMISSION + LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION - DEVICE_BUSY + LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY - CAPTURE_FAILURE + LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE - ENCODE_FAILURE + LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE - INTERRUPTED - - - - - - - LocalAudioStreamState + LOCAL_AUDIO_STREAM_REASON_INTERRUPTED - STOPPED + LOCAL_AUDIO_STREAM_STATE_STOPPED - RECORDING + LOCAL_AUDIO_STREAM_STATE_RECORDING - ENCODING + LOCAL_AUDIO_STREAM_STATE_ENCODING - FAILED + LOCAL_AUDIO_STREAM_STATE_FAILED @@ -8560,27 +8545,6 @@ - - - - SCREEN_CAPTURE_STOPPED_BY_USER - - - - - - - SCREEN_CAPTURE_INTERRUPTED_BY_OTHER - - - - - - - SCREEN_CAPTURE_STOPPED_BY_CALL - - - @@ -8969,105 +8933,105 @@ - UNKNOWN + PLAYER_EVENT_UNKNOWN - SEEK_BEGIN + PLAYER_EVENT_SEEK_BEGIN - SEEK_COMPLETE + PLAYER_EVENT_SEEK_COMPLETE - SEEK_ERROR + PLAYER_EVENT_SEEK_ERROR - AUDIO_TRACK_CHANGED + PLAYER_EVENT_AUDIO_TRACK_CHANGED - BUFFER_LOW + PLAYER_EVENT_BUFFER_LOW - BUFFER_RECOVER + PLAYER_EVENT_BUFFER_RECOVER - FREEZE_START + PLAYER_EVENT_FREEZE_START - FREEZE_STOP + PLAYER_EVENT_FREEZE_STOP - SWITCH_BEGIN + PLAYER_EVENT_SWITCH_BEGIN - SWITCH_COMPLETE + PLAYER_EVENT_SWITCH_COMPLETE - SWITCH_ERROR + PLAYER_EVENT_SWITCH_ERROR - FIRST_DISPLAYED + PLAYER_EVENT_FIRST_DISPLAYED - REACH_CACHE_FILE_MAX_COUNT + PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT - REACH_CACHE_FILE_MAX_SIZE + PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE @@ -9102,70 +9066,70 @@ - UNKNOWN + PLAYER_STATE_UNKNOWN - IDLE + PLAYER_STATE_IDLE - OPENING + PLAYER_STATE_OPENING - OPEN_COMPLETED + PLAYER_STATE_OPEN_COMPLETED - PLAYING + PLAYER_STATE_PLAYING - PAUSED + PLAYER_STATE_PAUSED - PLAYBACK_COMPLETED + PLAYER_STATE_PLAYBACK_COMPLETED - PLAYBACK_ALL_LOOPS_COMPLETED + PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED - STOPPED + PLAYER_STATE_STOPPED - FAILED + PLAYER_STATE_FAILED @@ -9361,88 +9325,60 @@ - OK + MUSIC_CONTENT_CENTER_STATE_REASON_OK - ERROR + MUSIC_CONTENT_CENTER_STATE_REASON_ERROR - GATEWAY + MUSIC_CONTENT_CENTER_STATE_REASON_GATEWAY - PERMISSION_AND_RESOURCE + MUSIC_CONTENT_CENTER_STATE_REASON_PERMISSION_AND_RESOURCE - INTERNAL_DATA_PARSE + MUSIC_CONTENT_CENTER_STATE_REASON_INTERNAL_DATA_PARSE - MUSIC_LOADING + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_LOADING - MUSIC_DECRYPTION + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_DECRYPTION - HTTP_INTERNAL - - - - - - - MusicPlayMode - - - - - - - ORIGINAL - - - - - - - ACCOMPANY - - - - - - - LEAD_SING - - - - + MUSIC_CONTENT_CENTER_STATE_REASON_HTTP_INTERNAL + + + + PreloadState @@ -9526,13 +9462,6 @@ - - - - PermissionType - - - @@ -9820,45 +9749,38 @@ - - - - RemoteVideoStreamState - - - - STOPPED + REMOTE_VIDEO_STATE_STOPPED - STARTING + REMOTE_VIDEO_STATE_STARTING - DECODING + REMOTE_VIDEO_STATE_DECODING - FROZEN + REMOTE_VIDEO_STATE_FROZEN - FAILED + REMOTE_VIDEO_STATE_FAILED @@ -10507,38 +10429,31 @@ - - - - StreamSubscribeState - - - - IDLE + SUB_STATE_IDLE - NO_SUBSCRIBED + SUB_STATE_NO_SUBSCRIBED - SUBSCRIBING + SUB_STATE_SUBSCRIBING - SUBSCRIBED + SUB_STATE_SUBSCRIBED @@ -10563,6 +10478,13 @@ + + + + VIDEO_BUFFER_RAW_DATA + + + @@ -10584,34 +10506,6 @@ - - - - VideoBufferType - - - - - - - RAW_DATA - - - - - - - ARRAY - - - - - - - TEXTURE - - - @@ -11718,62 +11612,6 @@ - - - - VideoTranscoderError - - - - - - - OK - - - - - - - VIDEO_SOURCE_NOT_READY - - - - - - - INVALID_VIDEO_SOURCE_TYPE - - - - - - - INVALID_IMAGE_PATH - - - - - - - UNSUPPORT_IMAGE_FORMAT - - - - - - - INVALID_LAYOUT - - - - - - - INTERNAL - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index f4ae555934f..6abda2d0f86 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -274,41 +274,6 @@ - - - - AgoraRteCanvas - - - - - - - AgoraRte - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerObserver - - - @@ -485,7 +450,7 @@ - createMediaPlayerWithDelegate: + createMediaPlayerWithDelegate: @@ -636,7 +601,13 @@ - + + + + open [2/2] + + + @@ -883,375 +854,6 @@ - - - - - addView:config:error: - - - - - - - initWithRte:initialConfig: - - - - - - - code - - - - - - - destroy: - - - - - - - message - - - - - - - autoPlay: - - - - - - - getFromBridge: - - - - - - - initWithInitialConfig: - - - - - - - initMediaEngine:error: - - - - - - - registerObserver:error: - - - - - - - unregisterObserver:error: - - - - - - - setAutoPlay:error: - - - - - - - setAppId:error: - - - - - - - setCanvas:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setAbrFallbackLayer:error: - - - - - - - setAbrSubscriptionLayer:error: - - - - - - - abrFallbackLayer: - - - - - - - abrSubscriptionLayer: - - - - - - - appId: - - - - - - - getStats: - - - - - - - videoMirrorMode: - - - - - - - videoRenderMode: - - - - - - - muteAudio: - - - - - - - muteVideo: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setJsonParameter:error: - - - - - - - setJsonParameter:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getInfo:error: - - - - - - - jsonParameter: - - - - - - - jsonParameter: - - - - - - - - pause: - - - - - - - play: - - - - - - - initWithRte:initialConfig: - - - - - - - preloadWithUrl:error: - - - - - - - removeView:config:error: - - - - - - - registerObserver:error: - - - - - - - pause: - - - - - - - openWithUrl:startTime:cb: - - - - - - - unregisterObserver:error: - - - - - - - - - onAudioVolumeIndication:volume: - - - - - - - onEvent: - - - - - - - onMetadata:data: - - - - - - - onPlayerInfoUpdated: - - - - - - - onResolutionChanged: - - - - - - - onStateChanged:newState:error: - - - - @@ -1472,20 +1074,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1574,34 +1162,6 @@ - - - - getFaceShapeAreaOptions: - - - - - - - getFaceShapeAreaOptions:sourceType: - - - - - - - getFaceShapeBeautyOptions - - - - - - - getFaceShapeBeautyOptions:sourceType: - - - @@ -1672,49 +1232,7 @@ - - - - setFaceShapeAreaOptions: - - - - - - - setFaceShapeAreaOptions:sourceType: - - - - - - - setFaceShapeBeautyOptions:options: - - - - - - - setFaceShapeBeautyOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options: - - - - + setFaceInfoDelegate: @@ -1905,13 +1423,6 @@ - - - - takeSnapshotExWithConfig:uid:config: - - - @@ -3840,29 +3351,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3940,13 +3428,6 @@ - - - - takeSnapshotWithConfig:config: - - - @@ -4043,7 +3524,7 @@ - getErrorDescription: + getErrorDescription: @@ -5205,13 +4686,6 @@ - - - - AgoraRteCanvasConfig - - - @@ -5282,13 +4756,6 @@ - - - - AgoraRteConfig - - - @@ -5345,13 +4812,6 @@ - - - - AgoraRteError - - - @@ -5365,27 +4825,6 @@ AgoraVideoFrame - - - - - AgoraFaceShapeAreaOptions - - - - - - - AgoraFaceShapeBeautyOptions - - - - - - - AgoraFilterEffectOptions - - @@ -5499,20 +4938,6 @@ - - - - AgoraMixedAudioStream - - - - - - - AgoraLocalAudioMixerConfiguration - - - @@ -5660,20 +5085,6 @@ - - - - AgoraRtePlayerInfo - - - - - - - AgoraRtePlayerStats - - - @@ -5723,13 +5134,6 @@ - - - - AgoraSnapshotConfig - - - @@ -6344,91 +5748,28 @@ - AgoraAudioEncodingTypeOPUS48000High - - - - - - - AgoraAudioTrackType - - - - - - - AgoraAudioTrackTypeMixable - - - - - - - AgoraAudioTrackTypeDirect - - - - - - - AgoraAudioSourceType - - - - - - - AgoraAudioSourceMicrophone - - - - - - - AgoraAudioSourceCustom - - - - - - - AgoraAudioSourceMediaPlayer - - - - - - - AgoraAudioSourceLoopbackRecording - - - - - - - AgoraAudioSourceMixedStream + AgoraAudioEncodingTypeOPUS48000High - + - AgoraAudioSourceRemoteUser + AgoraAudioTrackType - + - AgoraAudioSourceRemoteChannel + AgoraAudioTrackTypeMixable - + - AgoraAudioSourceTypeUnknown + AgoraAudioTrackTypeDirect @@ -8238,13 +7579,6 @@ - - - - AgoraCompressionAuto - - - @@ -8364,13 +7698,6 @@ - - - - AgoraDegradationMaintainAuto - - - @@ -9057,125 +8384,6 @@ - - - - AgoraFaceShapeArea - - - - - - - AgoraFaceShapeAreaNone - - - - - - - AgoraFaceShapeAreaHeadScale - - - - - - - AgoraFaceShapeAreaForehead - - - - - - - AgoraFaceShapeAreaFaceContour - - - - - - - AgoraFaceShapeAreaFaceLength - - - - - - - AgoraFaceShapeAreaFaceWidth - - - - - - - AgoraFaceShapeAreaCheekbone - - - - - - - AgoraFaceShapeAreaCheek - - - - - - - AgoraFaceShapeAreaChin - - - - - - - AgoraFaceShapeAreaEyeScale - - - - - - - AgoraFaceShapeAreaNoseLength - - - - - - - AgoraFaceShapeAreaNoseWidth - - - - - - - AgoraFaceShapeAreaMouthScale - - - - - - - AgoraFaceShapeStyle - - - - - - - AgoraFaceShapeStyleFemale - - - - - - - AgoraFaceShapeStyleMale - - - @@ -10478,395 +9686,241 @@ - - - - kPreloadStateRemoved - - - - - - - AgoraPermissionType - - - - - - - AgoraPermissionTypeRecordAudio - - - - - - - AgoraPermissionTypeCamera - - - - - - - AgoraMediaPlayerPreloadEvent - - - - - - - AgoraMediaPlayerPreloadEventBegin - - - - - - - AgoraMediaPlayerPreloadEventComplete - - - - - - - AgoraMediaPlayerPreloadEventError - - - - - - - AgoraNetworkQuality - - - - - - - AgoraNetworkQualityUnknown - - - - - - - AgoraNetworkQualityExcellent - - - - - - - AgoraNetworkQualityGood - - - - - - - AgoraNetworkQualityPoor - - - - - - - AgoraNetworkQualityBad - - - - - - - AgoraNetworkQualityVBad - - - - - - - AgoraNetworkQualityDown - - - - - - - AgoraNetworkQualityUnsupported - - - - - - - AgoraNetworkQualityDetecting - - - - - - - AgoraAudioRawFrameOperationMode - - - - - - - AgoraAudioRawFrameOperationModeReadOnly - - - - - - - AgoraAudioRawFrameOperationModeWriteOnly - - - - - - - AgoraAudioRawFrameOperationModeReadWrite - - - - + - AgoraAudioRemoteState + kPreloadStateRemoved - + - AgoraAudioRemoteStateStopped + AgoraPermissionType - + - AgoraAudioRemoteStateStarting + AgoraPermissionTypeRecordAudio - + - AgoraAudioRemoteStateDecoding + AgoraPermissionTypeCamera - + - AgoraAudioRemoteStateFrozen + AgoraMediaPlayerPreloadEvent - + - AgoraAudioRemoteStateFailed + AgoraMediaPlayerPreloadEventBegin - + - AgoraVideoRemoteState + AgoraMediaPlayerPreloadEventComplete - + - AgoraVideoRemoteStateStopped + AgoraMediaPlayerPreloadEventError - + - AgoraVideoRemoteStateStarting + AgoraNetworkQuality - + - AgoraVideoRemoteStateDecoding + AgoraNetworkQualityUnknown - + - AgoraVideoRemoteStateFrozen + AgoraNetworkQualityExcellent - + - AgoraVideoRemoteStateFailed + AgoraNetworkQualityGood - + - AgoraRteAbrFallbackLayer + AgoraNetworkQualityPoor - + - AgoraRteAbrFallbackDisabled + AgoraNetworkQualityBad - + - AgoraRteAbrFallbackLow + AgoraNetworkQualityVBad - + - AgoraRteAbrFallbackAudioOnly + AgoraNetworkQualityDown - + - AgoraRteAbrFallbackLayer1 + AgoraNetworkQualityUnsupported - + - AgoraRteAbrFallbackLayer2 + AgoraNetworkQualityDetecting - + - AgoraRteAbrFallbackLayer3 + AgoraAudioRawFrameOperationMode - + - AgoraRteAbrFallbackLayer4 + AgoraAudioRawFrameOperationModeReadOnly - + - AgoraRteAbrFallbackLayer5 + AgoraAudioRawFrameOperationModeWriteOnly - + - AgoraRteAbrFallbackLayer6 + AgoraAudioRawFrameOperationModeReadWrite - + - AgoraRteErrorCode + AgoraAudioRemoteState - + - AgoraRteOk + AgoraAudioRemoteStateStopped - + - AgoraRteErrorDefault + AgoraAudioRemoteStateStarting - + - AgoraRteErrorInvalidArgument + AgoraAudioRemoteStateDecoding - + - AgoraRteErrorInvalidOperation + AgoraAudioRemoteStateFrozen - + - AgoraRteErrorNetworkError + AgoraAudioRemoteStateFailed - + - AgoraRteErrorAuthenticationFailed + AgoraVideoRemoteState - + - AgoraRteErrorStreamNotFound + AgoraVideoRemoteStateStopped - + - AgoraRteVideoMirrorMode + AgoraVideoRemoteStateStarting - + - AgoraRteVideoMirrorModeAuto + AgoraVideoRemoteStateDecoding - + - AgoraRteVideoMirrorModeEnabled + AgoraVideoRemoteStateFrozen - + - AgoraRteVideoMirrorModeDisabled + AgoraVideoRemoteStateFailed @@ -11024,104 +10078,6 @@ - - - - AgoraRteAbrSubscriptionLayer - - - - - - - AgoraRteAbrSubscriptionHigh - - - - - - - AgoraRteAbrSubscriptionLow - - - - - - - AgoraRteAbrSubscriptionLayer1 - - - - - - - AgoraRteAbrSubscriptionLayer2 - - - - - - - AgoraRteAbrSubscriptionLayer3 - - - - - - - AgoraRteAbrSubscriptionLayer4 - - - - - - - AgoraRteAbrSubscriptionLayer5 - - - - - - - kRteAbrSubscriptionLayer6 - - - - - - - AgoraRteVideoRenderMode - - - - - - - AgoraRteVideoRenderModeHidden - - - - - - - AgoraRteVideoRenderModeFit - - - - - - - AgoraRtePlayerMetadataType - - - - - - - AgoraRtePlayerMetadataTypeSei - - - @@ -11283,68 +10239,6 @@ - - - - AgoraRecorderStreamType - - - - - - - AgoraRecorderStreamTypeRtc - - - - - - - AgoraRecorderStreamTypePreview - - - - - - - AgoraRtePlayerEvent - - - - - - - AgoraRtePlayerEventFreezeStart - - - - - - - AgoraRtePlayerEventFreezeStop - - - - - - - AgoraRtePlayerEventAuthenticationWillExpire - - - - - - - AgoraRtePlayerEventAbrFallbackToAudioOnlyLayer - - - - - - AgoraRtePlayerEventAbrRecoverFromAudioOnlyLayer - - - @@ -11533,69 +10427,6 @@ AgoraRtmpStreamingStateDisconnecting - - - - - AgoraRtePlayerState - - - - - - - AgoraRtePlayerStateIdle - - - - - - - AgoraRtePlayerStateOpening - - - - - - - AgoraRtePlayerStateOpenCompleted - - - - - - - AgoraRtePlayerStatePlaying - - - - - - - AgoraRtePlayerStatePaused - - - - - - - AgoraRtePlayerStatePlaybackCompleted - - - - - - - AgoraRtePlayerStateStopped - - - - - - - AgoraRtePlayerStateFailed - - @@ -12087,13 +10918,6 @@ - - - - AgoraApplicationLiveShowScenario - - - @@ -13275,4 +12099,4 @@ - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index baf188eaf26..be3fcc2ed72 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -48,14 +48,6 @@ - - - - AsyncCallback - - - - @@ -259,62 +251,6 @@ - - - - Canvas - - - - - - - Rte - - - - - - - Player - - - - - - - PlayerConfig - - - - - - - PlayerGetStatsCallback - - - - - - - PlayerObserver - - - - - - - Error - - - - - - - Config - - - @@ -827,7 +763,7 @@ - stop [1/2] + stop @@ -923,10426 +859,9277 @@ - - + + - AddView + enableAudio - + - Canvas + disableAudio - + - code + setAudioProfile [1/2] - + - destroy + setAudioProfile [2/2] - + - message + setAudioScenario - + - getAutoPlay + adjustRecordingSignalVolume - + - errorCode + adjustUserPlaybackSignalVolume - + - GetFromBridge + adjustPlaybackSignalVolume - + - Rte + adjustCustomAudioPlayoutVolume - + - initMediaEngine + adjustCustomAudioPublishVolume - + - registerObserver [1/2] + enableLocalAudio - + - unregisterObserver [1/2] + muteLocalAudioStream - + - setAutoPlay + muteRemoteAudioStream - + - setAppId + muteAllRemoteAudioStreams - + - setCanvas + muteRecordingSignal - + - setRenderMode + setSubscribeAudioBlocklist - + - setAbrFallbackLayer + setSubscribeAudioAllowlist - + + + - setAbrSubscriptionLayer + enableVideo - + - getAbrFallbackLayer + disableVideo - + - getAbrSubscriptionLayer + setSubscribeVideoBlocklist - + - getAppId + setSubscribeVideoAllowlist - + - getStats + setVideoScenario - + - getMirrorMode + setVideoEncoderConfiguration - + - getRenderMode + setupLocalVideo - + - muteAudio + setupRemoteVideo - + - muteVideo + setLocalRenderMode [1/2] - + - setConfigs [1/3] + setLocalRenderMode [2/2] - + - setConfigs [2/3] + setRemoteRenderMode - + - setConfigs [3/3] + setRemoteVideoSubscriptionOptions - + - setMirrorMode + startPreview [1/2] - + - setJsonParameter + startPreview [2/2] - + - setJsonParameter [2/2] + stopPreview [1/2] - + - getConfigs [1/3] + stopPreview [2/2] - + - getConfigs [2/3] + enableLocalVideo - + - getConfigs [3/3] + muteLocalVideoStream - + - getInfo + muteRemoteVideoStream - + - getJsonParameter + muteAllRemoteVideoStreams - + + + + + queryCodecCapability + + + + + - getJsonParameter [2/2] + setAdvancedAudioOptions - + - pause + setAINSMode - + + + - play + setBeautyEffectOptions [1/2] - + - Player + setBeautyEffectOptions [2/2] - + - preloadWithUrl + enableVirtualBackground [1/2] - + - removeView + enableVirtualBackground [2/2] - + - registerObserver + setLowlightEnhanceOptions [1/2] - + - stop + setLowlightEnhanceOptions [2/2] - + - openWithUrl + setVideoDenoiserOptions [1/2] - + - unregisterObserver + setVideoDenoiserOptions [2/2] - - - + - onAudioVolumeIndication + setColorEnhanceOptions [1/2] - + - onEvent + setColorEnhanceOptions [2/2] - + - onMetadata [2/2] + registerFaceInfoObserver - + + + - onPlayerInfoUpdated [2/2] + addVideoWatermarkEx - + - onResolutionChanged + adjustUserPlaybackSignalVolumeEx - + - onStateChanged + clearVideoWatermarkEx - - - + - enableAudio + createDataStreamEx [1/2] - + - disableAudio + createDataStreamEx [2/2] - + - setAudioProfile [1/2] + enableAudioVolumeIndicationEx - + - setAudioProfile [2/2] + getConnectionStateEx - + - setAudioScenario + getUserInfoByUid - + - adjustRecordingSignalVolume + getUserInfoByUserAccount - + - adjustUserPlaybackSignalVolume + joinChannelEx - + - adjustPlaybackSignalVolume + joinChannelWithUserAccountEx - + - adjustCustomAudioPlayoutVolume + leaveChannelEx [1/2] - + - adjustCustomAudioPublishVolume + leaveChannelEx [2/2] - + - enableLocalAudio + muteRemoteAudioStreamEx - + - muteLocalAudioStream + muteRemoteVideoStreamEx - + - muteRemoteAudioStream + pushExternalAudioFrameEx - + - muteAllRemoteAudioStreams + pushExternalEncodedVideoFrameEx - + - muteRecordingSignal + sendCustomReportMessageEx - + - setSubscribeAudioBlocklist + sendStreamMessageEx - + - setSubscribeAudioAllowlist + setRemoteRenderModeEx - - - + - enableVideo + setRemoteVoice3DPositionEx - + - disableVideo + setRemoteVideoStreamTypeEx [1/2] - + - setSubscribeVideoBlocklist + setRemoteVideoStreamTypeEx [2/2] - + - setSubscribeVideoAllowlist + setRemoteVideoSubscriptionOptionsEx - + - setVideoScenario + setRemoteVoicePositionEx - + - setVideoEncoderConfiguration + setSubscribeAudioBlocklistEx - + - setupLocalVideo + setSubscribeAudioAllowlistEx - + - setupRemoteVideo + setSubscribeVideoBlocklistEx - + - setLocalRenderMode [1/2] + setSubscribeVideoAllowlistEx - + - setLocalRenderMode [2/2] + setupRemoteVideoEx - + - setRemoteRenderMode + setVideoEncoderConfigurationEx - + - setLocalRenderTargetFps + takeSnapshotEx - + - setRemoteRenderTargetFps + updateChannelMediaOptionsEx - + - setRemoteVideoSubscriptionOptions + updatePreloadChannelToken - + - startPreview [1/2] + startRtmpStreamWithoutTranscodingEx - + - startPreview [2/2] + startRtmpStreamWithTranscodingEx - + - stopPreview [1/2] + updateRtmpTranscodingEx - + - stopPreview [2/2] + stopRtmpStreamEx - + - enableLocalVideo + startOrUpdateChannelMediaRelayEx - + - muteLocalVideoStream + pauseAllChannelMediaRelayEx - + - muteRemoteVideoStream + muteLocalAudioStreamEx - + - muteAllRemoteVideoStreams + muteLocalVideoStreamEx - - - - - queryCodecCapability - - - - - + - setAdvancedAudioOptions + muteAllRemoteAudioStreamsEx - + - setAINSMode + muteAllRemoteVideoStreamsEx - - - + - getFaceShapeAreaOptions [1/2] + stopChannelMediaRelayEx - + - getFaceShapeAreaOptions [2/2] + resumeAllChannelMediaRelayEx - + + + - getFaceShapeBeautyOptions [1/2] + startScreenCapture - + - getFaceShapeBeautyOptions [2/2] + stopScreenCapture - + - setBeautyEffectOptions [1/2] + updateScreenCaptureParameters - + - setBeautyEffectOptions [2/2] + startScreenCaptureByDisplayId - + - enableVirtualBackground [1/2] + queryScreenCaptureCapability - + - enableVirtualBackground [2/2] + setScreenCaptureScenario - + + + - setLowlightEnhanceOptions [1/2] + setAudioMixingDualMonoMode - + - setLowlightEnhanceOptions [2/2] + setAudioMixingPlaybackSpeed - + - setVideoDenoiserOptions [1/2] + startAudioMixing [1/2] - + - setVideoDenoiserOptions [2/2] + startAudioMixing [2/2] - + - setColorEnhanceOptions [1/2] + stopAudioMixing - + - setColorEnhanceOptions [2/2] + pauseAudioMixing - + - setFaceShapeAreaOptions [1/2] + resumeAudioMixing - + - setFaceShapeAreaOptions [2/2] + adjustAudioMixingVolume - + - setFaceShapeBeautyOptions [1/2] + adjustAudioMixingPlayoutVolume - + - setFaceShapeBeautyOptions [2/2] + adjustAudioMixingPublishVolume - + - setFilterEffectOptions [1/2] + getAudioMixingPlayoutVolume - + - setFilterEffectOptions [2/2] + getAudioMixingPublishVolume - + - registerFaceInfoObserver + getAudioMixingDuration - - - + - addVideoWatermarkEx + getAudioMixingCurrentPosition - + - adjustUserPlaybackSignalVolumeEx + getAudioTrackCount - + - clearVideoWatermarkEx + setAudioMixingPitch - + - createDataStreamEx [1/2] + setAudioMixingPosition - + + + - createDataStreamEx [2/2] + getAudioEffectManager - + - enableAudioVolumeIndicationEx + getEffectsVolume - + - getConnectionStateEx + setEffectsVolume - + - getUserInfoByUid + setVolumeOfEffect - + - getUserInfoByUserAccount + getVolumeOfEffect - + - joinChannelEx + playEffect [1/2] - + - joinChannelWithUserAccountEx + playEffect [2/2] - + - leaveChannelEx [1/2] + stopEffect - + - leaveChannelEx [2/2] + stopAllEffects - + - muteRemoteAudioStreamEx + preloadEffect - + - muteRemoteVideoStreamEx + unloadEffect - + - pushExternalAudioFrameEx + pauseEffect - + - pushExternalEncodedVideoFrameEx + pauseAllEffects - + - sendCustomReportMessageEx + resumeEffect - + - sendStreamMessageEx + resumeAllEffects - + - setRemoteRenderModeEx + setEffectPosition - + - setRemoteVoice3DPositionEx + getEffectDuration - + - setRemoteVideoStreamTypeEx [1/2] + getEffectCurrentPosition - - + + + + - setRemoteVideoStreamTypeEx [2/2] + startRhythmPlayer - + - setRemoteVideoSubscriptionOptionsEx + stopRhythmPlayer - + - setRemoteVoicePositionEx + configRhythmPlayer - + + + - setSubscribeAudioBlocklistEx + enableVoiceAITuner - + - setSubscribeAudioAllowlistEx + setLocalVoicePitch - + - setSubscribeVideoBlocklistEx + setLocalVoiceEqualization - + - setSubscribeVideoAllowlistEx + setLocalVoiceReverb - + - setupRemoteVideoEx + setVoiceBeautifierPreset - + - setVideoEncoderConfigurationEx + setVoiceBeautifierParameters - + - takeSnapshotEx [1/2] + setAudioEffectPreset - + - takeSnapshotEx [2/2] + setAudioEffectParameters - + - updateChannelMediaOptionsEx + setLocalVoiceFormant - + - updatePreloadChannelToken + setVoiceConversionPreset - + + + - startRtmpStreamWithoutTranscodingEx + enableSoundPositionIndication - + - startRtmpStreamWithTranscodingEx + setRemoteVoice3DPosition - + - updateRtmpTranscodingEx + setRemoteVoicePosition - + + + - stopRtmpStreamEx + muteLocalAudioStream - + - startOrUpdateChannelMediaRelayEx + muteAllRemoteAudioStreams - + - pauseAllChannelMediaRelayEx + setAudioRecvRange - + - muteLocalAudioStreamEx + setDistanceUnit - + - muteLocalVideoStreamEx + setMaxAudioRecvCount - + - muteAllRemoteAudioStreamsEx + updatePlayerPositionInfo - + - muteAllRemoteVideoStreamsEx + updateSelfPosition - + - stopChannelMediaRelayEx + setZones - + - resumeAllChannelMediaRelayEx + setPlayerAttenuation - - - + - startScreenCapture + setRemoteAudioAttenuation - + + + - setExternalMediaProjection + clearRemotePositions - + - stopScreenCapture + create - + - updateScreenCaptureParameters + initialize - + - startScreenCaptureByDisplayId + destroy - + - queryScreenCaptureCapability + removeRemotePosition - + - setScreenCaptureScenario + updateRemotePosition - - + + - setAudioMixingDualMonoMode + enableSpatialAudio - + - setAudioMixingPlaybackSpeed + setRemoteUserSpatialAudioParams - + - startAudioMixing [1/2] + setSpatialAudioParams - + + + - startAudioMixing [2/2] + addEventHandler - + - stopAudioMixing + create - + - pauseAudioMixing + enableSpatializer - + - resumeAudioMixing + enterRoom - + - adjustAudioMixingVolume + exitRoom - + - adjustAudioMixingPlayoutVolume + getTeammates - + - adjustAudioMixingPublishVolume + initialize - + - getAudioMixingPlayoutVolume + destroy - + - getAudioMixingPublishVolume + removeEventHandler - + - getAudioMixingDuration + renewToken - + - getAudioMixingCurrentPosition + setAudioRangeMode - + - getAudioTrackCount + setTeamId - + + + - setAudioMixingPitch + startRtmpStreamWithoutTranscoding - + - setAudioMixingPosition + startRtmpStreamWithTranscoding - - - + - getAudioEffectManager + updateRtmpTranscoding - + - getEffectsVolume + stopRtmpStream - + - setEffectsVolume + addBackgroundImage - + - setVolumeOfEffect + addUser - + - getVolumeOfEffect + addWatermark - + - playEffect [1/2] + getAdvancedFeatures - + - playEffect [2/2] + getBackgroundColor - + - stopEffect + getBackgroundImageList - + - stopAllEffects + getBlue - + - preloadEffect + getGreen - + - unloadEffect + getRed - + - pauseEffect + getUserCount - + - pauseAllEffects + getUsers - + - resumeEffect + getWatermarkList - + - resumeAllEffects + removeBackgroundImage - + - setEffectPosition + removeUser - + - getEffectDuration + removeWatermark - + - getEffectCurrentPosition + setAdvancedFeatures - - - + - startRhythmPlayer + setBackgroundColor [1/2] - + - stopRhythmPlayer + setBackgroundColor [2/2] - + - configRhythmPlayer + setBlue - - - + - enableVoiceAITuner + setDirectCdnStreamingAudioConfiguration - + - setLocalVoicePitch + setDirectCdnStreamingVideoConfiguration - + - setLocalVoiceEqualization + setGreen - + - setLocalVoiceReverb + setLiveTranscoding - + - setVoiceBeautifierPreset + setRed - + - setVoiceBeautifierParameters + setUsers [1/2] - + - setAudioEffectPreset + setUsers [2/2] - + - setAudioEffectParameters + startDirectCdnStreaming - + - setLocalVoiceFormant + stopDirectCdnStreaming - + - setVoiceConversionPreset + updateDirectCdnStreamingMediaOptions - - + + - enableSoundPositionIndication + pauseAllChannelMediaRelay - + - setRemoteVoice3DPosition + resumeAllChannelMediaRelay - + - setRemoteVoicePosition + startOrUpdateChannelMediaRelay - - - + - muteLocalAudioStream + stopChannelMediaRelay - + - muteAllRemoteAudioStreams + setSrcChannelInfo - + - setAudioRecvRange + setDestChannelInfo - + - setDistanceUnit + getDestChannelMediaInfos - + - setMaxAudioRecvCount + getSrcChannelMediaInfo - + - updatePlayerPositionInfo + removeDestChannelInfo - + + + - updateSelfPosition + enableAudioVolumeIndication - + + + - setZones + enableFaceDetection - + - setPlayerAttenuation + isCameraFaceDetectSupported - + + + - setRemoteAudioAttenuation + setDefaultAudioRouteToSpeakerphone - - - + - clearRemotePositions + setEnableSpeakerphone - + - create + setRouteInCommunicationMode - + - initialize + isSpeakerphoneEnabled - + + + - destroy + enableInEarMonitoring [1/2] - + - removeRemotePosition + enableInEarMonitoring [2/2] - + - updateRemotePosition + setEarMonitoringAudioFrameParameters - - - + - enableSpatialAudio + setInEarMonitoringVolume - + - setRemoteUserSpatialAudioParams + setHeadphoneEQParameters - + - setSpatialAudioParams + setHeadphoneEQPreset - - + + - addEventHandler + enableDualStreamMode [1/2] - + + - create + enableDualStreamMode [2/2] - + - enableSpatializer + enableDualStreamModeEx - + - enterRoom + setDualStreamMode [1/2] - + - exitRoom + setDualStreamMode [2/2] - + - getTeammates + setDualStreamModeEx - + - initialize + setRemoteVideoStreamType [1/2] - + - destroy + setRemoteVideoStreamType [2/2] - + - removeEventHandler + setRemoteDefaultVideoStreamType [1/2] - + - renewToken + setRemoteDefaultVideoStreamType [2/2] - + + + - setAudioRangeMode + setRemoteSubscribeFallbackOption [1/2] - + - setTeamId + setRemoteSubscribeFallbackOption [2/2] - - + + - startRtmpStreamWithoutTranscoding + startEchoTest - + - startRtmpStreamWithTranscoding + stopEchoTest - + - updateRtmpTranscoding + startLastmileProbeTest - + - stopRtmpStream + stopLastmileProbeTest - + + + - addBackgroundImage + createCustomVideoTrack - + - addUser + destroyCustomVideoTrack - + - addWatermark + setExternalVideoSource - + - getAdvancedFeatures + pushExternalVideoFrameById [1/2] - + - getBackgroundColor + pushExternalVideoFrame [1/2] - + - getBackgroundImageList + pushExternalVideoFrameById [2/2] - + - getBlue + pushExternalVideoFrame [2/2] - + - getGreen + pushExternalEncodedVideoFrame - + - getRed + isTextureEncodeSupported - + - getUserCount + getCurrentMonotonicTimeInMs - + + + - getUsers + createCustomAudioTrack - + - getWatermarkList + destroyCustomAudioTrack - + - removeBackgroundImage + enableCustomAudioLocalPlayback - + - removeUser + setExternalAudioSource [1/2] - + - removeWatermark + setExternalAudioSource [2/2] - + - setAdvancedFeatures + pushExternalAudioFrame [1/2] - + - setBackgroundColor [1/2] + pushExternalAudioFrame - + + + - setBackgroundColor [2/2] + startCameraCapture - + - setBlue + stopCameraCapture - + + + - setDirectCdnStreamingAudioConfiguration + setExternalAudioSink - + - setDirectCdnStreamingVideoConfiguration + pullPlaybackAudioFrame [1/2] - + - setGreen + pullPlaybackAudioFrame [2/2] - + + + - setLiveTranscoding + registerAudioEncodedFrameObserver - + - setRed + onPlaybackAudioEncodedFrame - + - setUsers [1/2] + onRecordAudioEncodedFrame - + - setUsers [2/2] + onMixedAudioEncodedFrame - + + + - startDirectCdnStreaming + registerVideoFrameObserver - + - stopDirectCdnStreaming + onEncodedVideoFrameReceived - + + + - updateDirectCdnStreamingMediaOptions + registerAudioFrameObserver - - - + - pauseAllChannelMediaRelay + setRecordingAudioFrameParameters - + - resumeAllChannelMediaRelay + setPlaybackAudioFrameParameters - + - startOrUpdateChannelMediaRelay + setMixedAudioFrameParameters - + - stopChannelMediaRelay + setPlaybackAudioFrameBeforeMixingParameters - + + + - setSrcChannelInfo + registerVideoEncodedFrameObserver - + + + - setDestChannelInfo + addExtension - + - getDestChannelMediaInfos + enableExtension - + - getSrcChannelMediaInfo + getExtensionProperty [1/2] - + - removeDestChannelInfo + getExtensionProperty [2/2] - - - + - enableAudioVolumeIndication + registerExtension - - - + - enableFaceDetection + setExtensionProperty - + - isCameraFaceDetectSupported + setExtensionProviderProperty - - - + - startLocalAudioMixer + onEventWithContext - + - stopLocalAudioMixer + onStartedWithContext - + - updateLocalAudioMixerConfiguration + onStoppedWithContext - - - + - setDefaultAudioRouteToSpeakerphone + onErrorWithContext - + + + - setEnableSpeakerphone + startLocalVideoTranscoder - + - setRouteInCommunicationMode + stopLocalVideoTranscoder - + - isSpeakerphoneEnabled + updateLocalTranscoderConfiguration - - + + - enableInEarMonitoring [1/2] + registerMediaMetadataObserver - + - enableInEarMonitoring [2/2] + unregisterMediaMetadataObserver - + + + - setEarMonitoringAudioFrameParameters + addVideoWatermark [1/2] - + - setInEarMonitoringVolume + addVideoWatermark [2/2] - + - setHeadphoneEQParameters + clearVideoWatermarks - + + + - setHeadphoneEQPreset + enableEncryption - - - + - enableDualStreamMode [1/2] + enableEncryptionEx - - - - - enableDualStreamMode [2/2] - - - - + + + - enableDualStreamModeEx + startAudioRecording [1/2] - + - setDualStreamMode [1/2] + startAudioRecording [2/2] - + - setDualStreamMode [2/2] + stopAudioRecording - + + + - setDualStreamModeEx + createMediaRecorder - + - setRemoteVideoStreamType [1/2] + destroyMediaRecorder - + - setRemoteVideoStreamType [2/2] + setMediaRecorderObserver - + - setRemoteDefaultVideoStreamType [1/2] + startRecording - + - setRemoteDefaultVideoStreamType [2/2] + stopRecording - - + + - setRemoteSubscribeFallbackOption [1/2] + onRecorderStateChanged - + - setRemoteSubscribeFallbackOption [2/2] + onRecorderInfoUpdated - - + + - startEchoTest + switchCamera [1/2] - + - stopEchoTest + switchCamera [2/2] - + - startLastmileProbeTest + queryCameraFocalLengthCapability - + - stopLastmileProbeTest + getCameraMaxZoomFactor - - - + - createCustomVideoTrack + isCameraZoomSupported - + - destroyCustomVideoTrack + isCameraTorchSupported - + - setExternalRemoteEglContext + isCameraFocusSupported - + - setExternalVideoSource + isCameraExposurePositionSupported - + - pushExternalVideoFrameById [1/2] + isCameraExposureSupported - + - pushExternalVideoFrame [1/2] + isCameraAutoFocusFaceModeSupported - + - pushExternalVideoFrameById [2/2] + setCameraZoomFactor - + - pushExternalVideoFrame [2/2] + setCameraFocusPositionInPreview - + - pushExternalEncodedVideoFrame + setCameraExposureFactor - + - isTextureEncodeSupported + setCameraExposurePosition - + - getCurrentMonotonicTimeInMs + setCameraTorchOn - - - + - createCustomAudioTrack + setCameraAutoFocusFaceModeEnabled - + + + - destroyCustomAudioTrack + getAudioDeviceInfo - + - enableCustomAudioLocalPlayback + startPlaybackDeviceTest - + - setExternalAudioSource [1/2] + stopPlaybackDeviceTest - + - setExternalAudioSource [2/2] + startRecordingDeviceTest - + - pushExternalAudioFrame [1/2] + stopRecordingDeviceTest - + + + - pushExternalAudioFrame + createDataStream [1/2] - - - + - startCameraCapture + createDataStream [2/2] - + - stopCameraCapture + sendStreamMessage - - + + - setExternalAudioSink + disableAudioSpectrumMonitor - + - pullPlaybackAudioFrame [1/2] + enableAudioSpectrumMonitor - + - pullPlaybackAudioFrame [2/2] + registerAudioSpectrumObserver - - - + - registerAudioEncodedFrameObserver + unregisterAudioSpectrumObserver - + + + - onPlaybackAudioEncodedFrame + enableEchoCancellationExternal - + + + - onRecordAudioEncodedFrame + setCameraCapturerConfiguration - + - onMixedAudioEncodedFrame + setLocalVideoMirrorMode - - + + - registerVideoFrameObserver + open [1/2] - + - onEncodedVideoFrameReceived + open [2/2] - - - + - registerAudioFrameObserver + stop - + - setRecordingAudioFrameParameters + preload [1/2] - + - setPlaybackAudioFrameParameters + preload [2/2] - + - setMixedAudioFrameParameters + isPreloaded - + - setPlaybackAudioFrameBeforeMixingParameters + initialize - - - + - registerVideoEncodedFrameObserver + release - - - + - addExtension + destroy [2/2] - + - enableExtension + destroy [1/2] - + - getExtensionProperty [1/2] + renewToken - + - getExtensionProperty [2/2] + unregisterEventHandler - + - registerExtension + registerEventHandler - + - setExtensionProperty - - - - - - - setExtensionProviderProperty + createMusicPlayer - + - onEventWithContext + destroyMusicPlayer - + - onStartedWithContext + getLyric - + - onStoppedWithContext + getMusicCharts - + - onErrorWithContext + getMusicCollectionByMusicChartId [1/2] - - - + - startLocalVideoTranscoder + getMusicCollectionByMusicChartId [2/2] - + - stopLocalVideoTranscoder + getCaches - + - updateLocalTranscoderConfiguration + removeCache - - - + - registerMediaMetadataObserver + getInternalSongCode - + - unregisterMediaMetadataObserver + getSongSimpleInfo - - - + - addVideoWatermark [1/2] + searchMusic [1/2] - + - addVideoWatermark [2/2] + searchMusic [2/2] - + - clearVideoWatermarks + setPlayMode - - + + - enableEncryption + onPreLoadEvent - + - enableEncryptionEx + onMusicChartsResult - - - + - startAudioRecording [1/2] + onMusicCollectionResult - + - startAudioRecording [2/2] + onLyricResult - + - stopAudioRecording + onSongSimpleInfoResult - - - - - createMediaRecorder - - - - - - - destroyMediaRecorder - - - - + + - setMediaRecorderObserver + takeSnapshot - + - startRecording + enableContentInspect - + - stopRecording + enableContentInspectEx - - - - - onRecorderStateChanged - - - - + + - onRecorderInfoUpdated + addInjectStreamUrl - - - + - switchCamera [1/2] + enableVideoImageSource - + - switchCamera [2/2] + removeInjectStreamUrl - + - queryCameraFocalLengthCapability + setAVSyncSource - + - getCameraMaxZoomFactor + setParameters - + - isCameraZoomSupported + addHandler - + - isCameraTorchSupported + complain - + - isCameraFocusSupported + getNetworkType - + - isCameraExposurePositionSupported + getNtpWallTimeInMs - + - isCameraExposureSupported + getCallId - + - isCameraAutoFocusFaceModeSupported + getCallIdEx - + - setCameraZoomFactor + getErrorDescription - + - setCameraFocusPositionInPreview + getNativeHandle - + - setCameraExposureFactor + getSdkVersion - + - setCameraExposurePosition + isFeatureAvailableOnDevice - + - setCameraTorchOn + queryDeviceScore - + - setCameraAutoFocusFaceModeEnabled + rate - - - + - getAudioDeviceInfo + removeHandler - + - startPlaybackDeviceTest + setLocalAccessPoint - + - stopPlaybackDeviceTest + setCloudProxy - + - startRecordingDeviceTest + setLogFile - + - stopRecordingDeviceTest + setLogFileSize - - - + - createDataStream [1/2] + setLogFilter - + - createDataStream [2/2] + setLogLevel - + - sendStreamMessage + sendCustomReportMessage - - - - - disableAudioSpectrumMonitor - - - - - - - enableAudioSpectrumMonitor - - - - - - - registerAudioSpectrumObserver - - - - - - - unregisterAudioSpectrumObserver - - - - - - - - - enableEchoCancellationExternal - - - - - - - - - setCameraCapturerConfiguration - - - - - - - setLocalVideoMirrorMode - - - - - - - - - open [1/2] - - - - - - - open [2/2] - - - - - - - stop [2/2] - - - - - - - preload [1/2] - - - - - - - preload [2/2] - - - - - - - isPreloaded - - - - - - - initialize - - - - - - - release - - - - - - - destroy [2/2] - - - - - - - destroy [1/2] - - - - - - - renewToken - - - - - - - unregisterEventHandler - - - - - - - registerEventHandler - - - - - - - createMusicPlayer - - - - - - - destroyMusicPlayer - - - - - - - getLyric - - - - - - - getMusicCharts - - - - - - - getMusicCollectionByMusicChartId [1/2] - - - - - - - getMusicCollectionByMusicChartId [2/2] - - - - - - - getCaches - - - - - - - removeCache - - - - - - - getInternalSongCode - - - - - - - getSongSimpleInfo - - - - - - - searchMusic [1/2] - - - - - - - searchMusic [2/2] - - - - - - - setPlayMode - - - - - - - - - onPreLoadEvent - - - - - - - onMusicChartsResult - - - - - - - onMusicCollectionResult - - - - - - - onLyricResult - - - - - - - onSongSimpleInfoResult - - - - - - - - - takeSnapshot [1/2] - - - - - - - takeSnapshot [2/2] - - - - - - - enableContentInspect - - - - - - - enableContentInspectEx - - - - - - - - - addInjectStreamUrl - - - - - - - enableVideoImageSource - - - - - - - removeInjectStreamUrl - - - - - - - setAVSyncSource - - - - - - - setParameters - - - - - - - addHandler - - - - - - - complain - - - - - - - getNetworkType - - - - - - - getNtpWallTimeInMs - - - - - - - getCallId - - - - - - - getCallIdEx - - - - - - - getErrorDescription - - - - - - - getNativeHandle - - - - - - - getSdkVersion - - - - - - - isFeatureAvailableOnDevice - - - - - - - queryDeviceScore - - - - - - - rate - - - - - - - removeHandler - - - - - - - setLocalAccessPoint - - - - - - - setCloudProxy - - - - - - - setLogFile - - - - - - - setLogFileSize - - - - - - - setLogFilter - - - - - - - setLogLevel - - - - - - - sendCustomReportMessage - - - - - - - - - - onConnectionStateChanged - - - - - - - onError - - - - - - - onFirstRemoteAudioDecoded - - - - - - - onFirstRemoteAudioFrame - - - - - - - onJoinChannelSuccess - - - - - - - onRejoinChannelSuccess - - - - - - - onLeaveChannel - - - - - - - onClientRoleChanged - - - - - - - onClientRoleChangeFailed - - - - - - - onUserJoined - - - - - - - onUserMuteAudio - - - - - - - onUserOffline - - - - - - - onNetworkTypeChanged - - - - - - - onConnectionInterrupted - - - - - - - onConnectionLost - - - - - - - onConnectionBanned - - - - - - - onTokenPrivilegeWillExpire - - - - - - - onRequestToken - - - - - - - onLocalUserRegistered - - - - - - - onUserInfoUpdated - - - - - - - onUplinkNetworkInfoUpdated - - - - - - - onVideoRenderingTracingResult - - - - - - - - - onLocalAudioStateChanged - - - - - - - onLocalVideoStateChanged - - - - - - - onVideoStopped - - - - - - - onFirstLocalAudioFramePublished - - - - - - - onFirstLocalVideoFramePublished - - - - - - - onFirstLocalVideoFrame - - - - - - - onAudioPublishStateChanged - - - - - - - onVideoPublishStateChanged - - - - - - - - - onAudioSubscribeStateChanged - - - - - - - onFirstRemoteVideoDecoded - - - - - - - onFirstRemoteVideoFrame - - - - - - - onRemoteAudioStateChanged - - - - - - - onRemoteVideoStateChanged - - - - - - - onUserEnableLocalVideo - - - - - - - onUserEnableVideo - - - - - - - onUserMuteVideo - - - - - - - onVideoSizeChanged - - - - - - - onVideoSubscribeStateChanged - - - - - - - - - onRtcStats - - - - - - - onNetworkQuality - - - - - - - onLocalAudioStats - - - - - - - onLocalVideoStats - - - - - - - onRemoteAudioStats - - - - - - - onRemoteAudioTransportStats - - - - - - - onRemoteVideoStats - - - - - - - onRemoteVideoTransportStats - - - - - - - onAudioQuality - - - - - - - - - onAudioVolumeIndication - - - - - - - onMetaData - - - - - - - onPlayerCacheStats - - - - - - - onPlayerEvent - - - - - - - onPlayerPlaybackStats - - - - - - - onPlayerStateChanged - - - - - - - onPositionChanged - - - - - - - onReadData - - - - - - - onSeek - - - - - - - onPlayBufferUpdated - - - - - - - onPreloadEvent - - - - - - - onAgoraCDNTokenWillExpire - - - - - - - onPlayerSrcInfoChanged - - - - - - - onPlayerInfoUpdated - - - - - - - - - - onDirectCdnStreamingStateChanged - - - - - - - onDirectCdnStreamingStats - - - - - - - - - onAudioMixingStateChanged - - - - - - - onAudioMixingFinished - - - - - - - onAudioMixingPositionChanged - - - - - - - onAudioEffectFinished - - - - - - - - - onResult - - - - - - - onResult - - - - - - - - - onEncryptionError - - - - - - - - - onRtmpStreamingEvent - - - - - - - onRtmpStreamingStateChanged - - - - - - - onTranscodingUpdated - - - - - - - - - onChannelMediaRelayStateChanged - - - - - - - - - onAudioVolumeIndication - - - - - - - onActiveSpeaker - - - - - - - - - onFacePositionChanged - - - - - - - - - onAudioRouteChanged - - - - - - - - - onRemoteSubscribeFallbackToAudioOnly - - - - - - - - - onLastmileQuality - - - - - - - onLastmileProbeResult - - - - - - - - - onLocalAudioSpectrum - - - - - - - onRemoteAudioSpectrum - - - - - - - - - onRecordAudioFrame - - - - - - - onPlaybackAudioFrame - - - - - - - onPlaybackAudioFrameBeforeMixing - - - - - - - onMixedAudioFrame - - - - - - - onFrame - - - - - - - getRecordAudioParams - - - - - - - getObservedAudioFramePosition - - - - - - - getMixedAudioParams - - - - - - - getPlaybackAudioParams - - - - - - - - - onCaptureVideoFrame - - - - - - - onFrame - - - - - - - onMediaPlayerVideoFrame - - - - - - - onRenderVideoFrame - - - - - - - getRotationApplied - - - - - - - getMirrorApplied - - - - - - - getVideoFormatPreference - - - - - - - getVideoFrameProcessMode - - - - - - - getObservedFramePosition - - - - - - - onPreEncodeVideoFrame - - - - - - - - - getMaxMetadataSize - - - - - - - onReadyToSendMetadata - - - - - - - onMetadataReceived - - - - - - - - - onCameraFocusAreaChanged - - - - - - - onCameraExposureAreaChanged - - - - - - - onCameraReady - - - - - - - - - onStreamMessage - - - - - - - onStreamMessageError - - - - - - - - - onConnectionStateChange - - - - - - - onTeammateJoined - - - - - - - onTeammateLeft - - - - - - - onTokenWillExpire - - - - - - - - - onEarMonitoringAudioFrame - - - - - - - getEarMonitoringAudioParams - - - - - - - - - onRhythmPlayerStateChanged - - - - - - - - - onLocalVideoTranscoderError - - - - - - - onTranscodedStreamLayoutInfo - - - - - - - - - onPermissionError - - - - - - - onProxyConnected - - - - - - - onFaceInfo - - - - - - - onSnapshotTaken - - - - - - - onContentInspectResult - - - - - - - OnVirtualBackgroundSourceEnabled - - - - - - - - - - AgoraFacePositionInfo - - - - - - - AdvancedAudioOptions - - - - - - - AdvanceOptions - - - - - - - AdvancedConfigInfo - - - - - - - AgoraRhythmPlayerConfig - - - - - - - AudioRecordingConfiguration - - - - - - - AudioEncodedFrameObserverConfig - - - - - - - AudioFrame - - - - - - - AudioSourceType - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - - - - - AudioSpectrumInfo - - - - - - - AudioTrackConfig - - - - - - - AudioVolumeInfo - - - - - - - BeautyOptions - - - - - - - CacheStatistics - - - - - - - CaptureFormat - - - - - - - CameraCapturerConfiguration - - - - - - - CanvasConfig - - - - - - - ChannelMediaInfo - - - - - - - ChannelMediaOptions - - - - - - - ChannelMediaRelayConfiguration - - - - - - - ClientRoleOptions - - - - - - - ClimaxSegment - - - - - - - CloudSpatialAudioConfig - - - - - - - ColorEnhanceOptions - - - - - - - ContentInspectConfig - - - - - - - ContentInspectModule - - - - - - - CodecCapInfo - - - - - - - CodecCapLevels - - - - - - - DataStreamConfig - - - - - - - DeviceInfo - - - - - - - DirectCdnStreamingMediaOptions - - - - - - - DirectCdnStreamingStats - - - - - - - EchoTestConfiguration - - - - - - - EncodedVideoFrameInfo - - - - - - - EncryptionConfig - - - - - - - ExtensionContext - - - - - - - AgoraVideoFrame - - - - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - - - - - IDirectCdnStreamingEventHandler - - - - - - - AgoraFocalLengthInfo - - - - - - - ImageTrackOptions - - - - - - - LiveInjectStreamConfig - - - - - - - LastmileProbeConfig - - - - - - - LastmileProbeOneWayResult - - - - - - - LastmileProbeResult - - - - - - - LeaveChannelOptions - - - - - - - LiveTranscoding - - - - - - - LocalAccessPointConfiguration - - - - - - - LogUploadServerInfo - - - - - - - LocalAudioMixerConfiguration - - - - - - - LocalAudioStats - - - - - - - LocalSpatialAudioConfig - - - - - - - LocalTranscoderConfiguration - - - - - - - LocalVideoStats - - - - - - - LogConfig - - - - - - - LowlightEnhanceOptions - - - - - - - Metadata - - - - - - - MediaRecorderConfiguration - - - - - - - MediaPlayerSource - - - - - - - MixedAudioStream - - - - - - - Music - - - - - - - MusicCacheInfo - - - - - - - MusicChartInfo - - - - - - - MusicCollection - - - - - - - MusicContentCenterConfiguration - - - - - - - MvProperty - - - - - - - PlayerPlaybackStats - - - - - - - MediaStreamInfo - - - - - - - PlayerUpdatedInfo - - - - - - - RecorderInfo - - - - - - - RecorderStreamInfo - - - - - - - Rectangle - - - - - - - RemoteAudioStats - - - - - - - RemoteVideoStats - - - - - - - RemoteVoicePositionInfo - - - - - - - RtcConnection - - - - - - - RtcEngineConfig - - - - - - - AgoraImage - - - - - - - RteException - - - - - - - PlayerInfo - - - - + + + + + + onConnectionStateChanged + + + + + + + onError + + + + + + + onFirstRemoteAudioDecoded + + + + + + + onFirstRemoteAudioFrame + + + + + + + onJoinChannelSuccess + + + + + + + onRejoinChannelSuccess + + + + + + + onLeaveChannel + + + + + + + onClientRoleChanged + + + + + + + onClientRoleChangeFailed + + + + + + + onUserJoined + + + + + + + onUserMuteAudio + + + + + + + onUserOffline + + + + + + + onNetworkTypeChanged + + + + + + + onConnectionInterrupted + + + + + + + onConnectionLost + + + + + + + onConnectionBanned + + + + + + + onTokenPrivilegeWillExpire + + + + + + + onRequestToken + + + + + + + onLocalUserRegistered + + + + + + + onUserInfoUpdated + + + + + + + onUplinkNetworkInfoUpdated + + + + + + + onVideoRenderingTracingResult + + + + + + + + + onLocalAudioStateChanged + + + + + + + onLocalVideoStateChanged + + + + + + + onVideoStopped + + + + + + + onFirstLocalAudioFramePublished + + + + + + + onFirstLocalVideoFramePublished + + + + + + + onFirstLocalVideoFrame + + + + + + + onAudioPublishStateChanged + + + + + + + onVideoPublishStateChanged + + + + + + + + + onAudioSubscribeStateChanged + + + + + + + onFirstRemoteVideoDecoded + + + + + + + onFirstRemoteVideoFrame + + + + + + + onRemoteAudioStateChanged + + + + + + + onRemoteVideoStateChanged + + + + + + + onUserEnableLocalVideo + + + + + + + onUserEnableVideo + + + + + + + onUserMuteVideo + + + + + + + onVideoSizeChanged + + + + + + + onVideoSubscribeStateChanged + + + + + + + + + onRtcStats + + + + + + + onNetworkQuality + + + + + + + onLocalAudioStats + + + + + + + onLocalVideoStats + + + + + + + onRemoteAudioStats + + + + + + + onRemoteAudioTransportStats + + + + + + + onRemoteVideoStats + + + + + + + onRemoteVideoTransportStats + + + + + + + onAudioQuality + + + + + + + + + onAudioVolumeIndication + + + + + + + onMetaData + + + + + + + onPlayerCacheStats + + + + + + + onPlayerEvent + + + + + + + onPlayerPlaybackStats + + + + + + + onPlayerStateChanged + + + + + + + onPositionChanged + + + + + + + onReadData + + + + + + + onSeek + + + + + + + onPlayBufferUpdated + + + + + + + onPreloadEvent + + + + + + + onAgoraCDNTokenWillExpire + + + + + + + onPlayerSrcInfoChanged + + + + + + + onPlayerInfoUpdated + + + + + + + + + + onDirectCdnStreamingStateChanged + + + + + + + onDirectCdnStreamingStats + + + + + + + + + onAudioMixingStateChanged + + + + + + + onAudioMixingFinished + + + + + + + onAudioMixingPositionChanged + + + + + + + onAudioEffectFinished + + + + + + + + + onEncryptionError + + + + + + + + + onRtmpStreamingEvent + + + + + + + onRtmpStreamingStateChanged + + + + + + + onTranscodingUpdated + + + + + + + + + onChannelMediaRelayStateChanged + + + + + + + + + onAudioVolumeIndication + + + + + + + onActiveSpeaker + + + + + + + + + onFacePositionChanged + + + + + + + + + onAudioRouteChanged + + + + + + + + + onRemoteSubscribeFallbackToAudioOnly + + + + + + + + + onLastmileQuality + + + + + + + onLastmileProbeResult + + + + + + + + + onLocalAudioSpectrum + + + + + + + onRemoteAudioSpectrum + + + + + + + + + onRecordAudioFrame + + + + + + + onPlaybackAudioFrame + + + + + + + onPlaybackAudioFrameBeforeMixing + + + + + + + onMixedAudioFrame + + + + + + + onFrame + + + + + + + getRecordAudioParams + + + + + + + getObservedAudioFramePosition + + + + + + + getMixedAudioParams + + + + + + + getPlaybackAudioParams + + + + + + + + + onCaptureVideoFrame + + + + + + + onFrame + + + + + + + onMediaPlayerVideoFrame + + + + + + + onRenderVideoFrame + + + + + + + getRotationApplied + + + + + + + getMirrorApplied + + + + + + + getVideoFormatPreference + + + + + + + getVideoFrameProcessMode + + + + + + + getObservedFramePosition + + + + + + + onPreEncodeVideoFrame + + + + + + + + + getMaxMetadataSize + + + + + + + onReadyToSendMetadata + + + + + + + onMetadataReceived + + + + + + + + + onCameraFocusAreaChanged + + + + + + + onCameraExposureAreaChanged + + + + + + + onCameraReady + + + + + + + + + onStreamMessage + + + + + + + onStreamMessageError + + + + + + + + + onConnectionStateChange + + + + + + + onTeammateJoined + + + + + + + onTeammateLeft + + + + + + + onTokenWillExpire + + + + + + + + + onEarMonitoringAudioFrame + + + + + + + getEarMonitoringAudioParams + + + + + + + + + onRhythmPlayerStateChanged + + + + + + + + + onLocalVideoTranscoderError + + + + + + + onTranscodedStreamLayoutInfo + + + + + + + + + onPermissionError + + + + + + + onProxyConnected + + + + + + + onFaceInfo + + + + + + + onSnapshotTaken + + + + + + + onContentInspectResult + + + + + + + OnVirtualBackgroundSourceEnabled + + + + + + + - PlayerStats + AgoraFacePositionInfo - + - RtcStats + AdvancedAudioOptions - + - ScreenCaptureParameters + AdvanceOptions - + - ScreenCaptureParameters + AdvancedConfigInfo - + - AudioCaptureParameters + AgoraRhythmPlayerConfig - + - VideoCaptureParameters + AudioRecordingConfiguration - + - SegmentationProperty + AudioEncodedFrameObserverConfig - + - SimulcastStreamConfig + AudioFrame - + - SnapshotConfig + AudioSpectrumInfo - + + + + AudioTrackConfig + + + + - SpatialAudioParams + AudioVolumeInfo - + - SpatialAudioZone + BeautyOptions - + - SrcInfo + CacheStatistics - + - TranscodingUser + CaptureFormat - + - TranscodingVideoStream + CameraCapturerConfiguration - + - UplinkNetworkInfo + ChannelMediaInfo - + - UserAudioSpectrumInfo + ChannelMediaOptions - + - UserInfo + ChannelMediaRelayConfiguration - + - VideoCanvas + ClientRoleOptions - + - VideoDenoiserOptions + ClimaxSegment - + - VideoDimensions + CloudSpatialAudioConfig - + - VD_120x120 + ColorEnhanceOptions - + - VD_160x120 + ContentInspectConfig - + - VD_180x180 + ContentInspectModule - + - VD_240x180 + CodecCapInfo - + - VD_320x180 + CodecCapLevels - + - VD_240x240 + DataStreamConfig - + - VD_320x240 + DeviceInfo - + - VD_424x240 + DirectCdnStreamingMediaOptions - + - VD_360x360 + DirectCdnStreamingStats - + - VD_480x360 + EchoTestConfiguration - + - VD_640x360 + EncodedVideoFrameInfo - + - VD_480x480 + EncryptionConfig - + - VD_640x480 + ExtensionContext - + - VD_840x480 + AgoraVideoFrame - + - VD_960x720 + IDirectCdnStreamingEventHandler - + - VD_960x540 + AgoraFocalLengthInfo - + - VD_1280x720 + ImageTrackOptions - + - VD_1920x1080 + LiveInjectStreamConfig - + - VD_2540x1440 + LastmileProbeConfig - + - VD_3840x2160 + LastmileProbeOneWayResult - + - VideoEncoderConfiguration + LastmileProbeResult - + - VideoFrame + LeaveChannelOptions - + - VideoLayout + LiveTranscoding - + - VideoRenderingTracingInfo + LocalAccessPointConfiguration - + - VideoSubscriptionOptions + LogUploadServerInfo - + - VirtualBackgroundSource + LocalAudioStats - + - BLUR_DEGREE_LOW + LocalSpatialAudioConfig - + - BLUR_DEGREE_MEDIUM + LocalTranscoderConfiguration - + - BLUR_DEGREE_HIGH + LocalVideoStats - + - BACKGROUND_NONE + LogConfig - + - BACKGROUND_COLOR + LowlightEnhanceOptions - + - BACKGROUND_IMG + Metadata - + - BACKGROUND_BLUR + MediaRecorderConfiguration - + - BACKGROUND_VIDEO + MediaPlayerSource - + - SaeDeployRegion + Music - + - SAE_DEPLOY_REGION_NONE + MusicCacheInfo - + - SAE_DEPLOY_REGION_CN + MusicChartInfo - + - SAE_DEPLOY_REGION_NA + MusicCollection - + - SAE_DEPLOY_REGION_EU + MusicContentCenterConfiguration - + - SAE_DEPLOY_REGION_AS + MvProperty - + - WatermarkOptions + PlayerPlaybackStats - - - + - AlphaStitchMode + MediaStreamInfo - + - ALPHA_NO_STITCH + PlayerUpdatedInfo - + - ALPHA_STITCH_UP + RecorderInfo - + - ALPHA_STITCH_BELOW + RecorderStreamInfo - + - ALPHA_STITCH_LEFT + Rectangle - + - ALPHA_STITCH_RIGHT + RemoteAudioStats - + - ADAPT_NONE + RemoteVideoStats - + - ADAPT_UP_BANDWIDTH + RemoteVoicePositionInfo - + - ADAPT_DOWN_BANDWIDTH + RtcConnection - + - AreaCode + RtcEngineConfig - + - AREA_CODE_CN + AgoraImage - + - AREA_CODE_NA + RtcStats - + - AREA_CODE_EU + ScreenCaptureParameters - + - AREA_CODE_AS + ScreenCaptureParameters - + - AREA_CODE_JP + AudioCaptureParameters - + - AREA_CODE_IN + VideoCaptureParameters - + - AREA_CODE_GLOB + SegmentationProperty - + - AUDIENCE_LATENCY_LEVEL_LOW_LATENCY + SimulcastStreamConfig - + - AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY + SpatialAudioParams - + - AudioCodecProfileType + SpatialAudioZone - + - LC_AAC + SrcInfo - + - HE_AAC + TranscodingUser - + - HE_AAC_V2 + TranscodingVideoStream - + - AUDIO_CODEC_OPUS + UplinkNetworkInfo - + - AUDIO_CODEC_PCMA + UserAudioSpectrumInfo - + - AUDIO_CODEC_PCMU + UserInfo - + - AUDIO_CODEC_G722 + VideoCanvas - + - AUDIO_CODEC_AACLC + VideoDenoiserOptions - + - AUDIO_CODEC_HEAAC + VideoDimensions - + - AUDIO_CODEC_JC1 + VD_120x120 - + - AUDIO_CODEC_HEAAC2 + VD_160x120 - + - AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC + VD_180x180 - + - AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK + VD_240x180 - + - AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED + VD_320x180 - + - AUDIO_ENCODING_TYPE_AAC_16000_LOW + VD_240x240 - + - AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM + VD_320x240 - + - AUDIO_ENCODING_TYPE_AAC_32000_LOW + VD_424x240 - + - AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM + VD_360x360 - + - AUDIO_ENCODING_TYPE_AAC_32000_HIGH + VD_480x360 - + - AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM + VD_640x360 - + - AUDIO_ENCODING_TYPE_AAC_48000_HIGH + VD_480x480 - + - AUDIO_ENCODING_TYPE_OPUS_16000_LOW + VD_640x480 - + - AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM + VD_840x480 - + - AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM + VD_960x720 - + - AUDIO_ENCODING_TYPE_OPUS_48000_HIGH + VD_960x540 - + - AUDIO_EFFECT_OFF + VD_1280x720 - + - COMPRESSION_PREFERENCE + VD_1920x1080 - + - PREFER_COMPRESSION_AUTO + VD_2540x1440 - + - PREFER_LOW_LATENCY + VD_3840x2160 - + - PREFER_QUALITY + VideoEncoderConfiguration - + - CONTENT_INSPECT_DEVICE_TYPE + VideoFrame - + - CONTENT_INSPECT_DEVICE_INVALID + VideoLayout - + - CONTENT_INSPECT_DEVICE_AGORA + VideoRenderingTracingInfo - + - CONTENT_INSPECT_DEVICE_HIVE + VideoSubscriptionOptions - + - CONTENT_INSPECT_DEVICE_TUPU + VirtualBackgroundSource - + - CONTENT_INSPECT_NEUTRAL + BLUR_DEGREE_LOW - + - CONTENT_INSPECT_SEXY + BLUR_DEGREE_MEDIUM - + - CONTENT_INSPECT_PORN + BLUR_DEGREE_HIGH - + - CONTENT_INSPECT_TYPE_INVALID + BACKGROUND_NONE - + - CONTENT_INSPECT_TYPE_MODERATION + BACKGROUND_COLOR - + - CONTENT_INSPECT_TYPE_SUPERVISE + BACKGROUND_IMG - + - CONTENT_INSPECT_TYPE_IMAGE_MODERATION + BACKGROUND_BLUR - + - ENCODING_PREFERENCE + BACKGROUND_VIDEO - + - PREFER_AUTO + SaeDeployRegion - + - PREFER_SOFTWARE + SAE_DEPLOY_REGION_NONE - + - PREFER_HARDWARE + SAE_DEPLOY_REGION_CN - + - ExternalVideoSourceType + SAE_DEPLOY_REGION_NA - + - VIDEO_FRAME + SAE_DEPLOY_REGION_EU - + - ENCODED_VIDEO_FRAME + SAE_DEPLOY_REGION_AS - + - ROOM_ACOUSTICS_KTV + WatermarkOptions - + + + - ROOM_ACOUSTICS_VOCAL_CONCERT + VIDEO_NO_ALPHA_STITCH - + - ROOM_ACOUSTICS_STUDIO + VIDEO_ALPHA_STITCH_UP - + - ROOM_ACOUSTICS_PHONOGRAPH + VIDEO_ALPHA_STITCH_BELOW - + - ROOM_ACOUSTICS_VIRTUAL_STEREO + VIDEO_ALPHA_STITCH_LEFT - + - ROOM_ACOUSTICS_SPACIAL + VIDEO_ALPHA_STITCH_RIGHT - + - ROOM_ACOUSTICS_ETHEREAL + ADAPT_NONE - + - ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND + ADAPT_UP_BANDWIDTH - + - ROOM_ACOUSTICS_CHORUS + ADAPT_DOWN_BANDWIDTH - + - ROOM_ACOUSTICS_3D_VOICE + AreaCode - + - VOICE_CHANGER_EFFECT_UNCLE + AREA_CODE_CN - + - VOICE_CHANGER_EFFECT_OLDMAN + AREA_CODE_NA - + - VOICE_CHANGER_EFFECT_BOY + AREA_CODE_EU - + - VOICE_CHANGER_EFFECT_SISTER + AREA_CODE_AS - + - VOICE_CHANGER_EFFECT_GIRL + AREA_CODE_JP - + - VOICE_CHANGER_EFFECT_PIGKING + AREA_CODE_IN - + - VOICE_CHANGER_EFFECT_HULK + AREA_CODE_GLOB - + - STYLE_TRANSFORMATION_RNB + AUDIENCE_LATENCY_LEVEL_LOW_LATENCY - + - STYLE_TRANSFORMATION_POPULAR + AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY - + - PITCH_CORRECTION + AudioCodecProfileType - + - AUDIO_EQUALIZATION_BAND_FREQUENCY + LC_AAC - + - AUDIO_EQUALIZATION_BAND_31 + HE_AAC - + - AUDIO_EQUALIZATION_BAND_62 + HE_AAC_V2 - + - AUDIO_EQUALIZATION_BAND_125 + AUDIO_CODEC_OPUS - + - AUDIO_EQUALIZATION_BAND_250 + AUDIO_CODEC_PCMA - + - AUDIO_EQUALIZATION_BAND_500 + AUDIO_CODEC_PCMU - + - AUDIO_EQUALIZATION_BAND_1K + AUDIO_CODEC_G722 - + - AUDIO_EQUALIZATION_BAND_2K + AUDIO_CODEC_AACLC - + - AUDIO_EQUALIZATION_BAND_4K + AUDIO_CODEC_HEAAC - + - AUDIO_EQUALIZATION_BAND_8K + AUDIO_CODEC_JC1 - + - AUDIO_EQUALIZATION_BAND_16K + AUDIO_CODEC_HEAAC2 - + - FRAME_TYPE_PCM16 + AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC - + - POSITION_PLAYBACK + AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK - + - POSITION_RECORD + AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED - + - POSITION_MIXED + AUDIO_ENCODING_TYPE_AAC_16000_LOW - + - POSITION_BEFORE_MIXING + AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM - + - POSITION_EAR_MONITORING + AUDIO_ENCODING_TYPE_AAC_32000_LOW - + - AudioDualMonoMode + AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM - + - AUDIO_DUAL_MONO_STEREO + AUDIO_ENCODING_TYPE_AAC_32000_HIGH - + - AUDIO_DUAL_MONO_L + AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM - + - AUDIO_DUAL_MONO_R + AUDIO_ENCODING_TYPE_AAC_48000_HIGH - + - AUDIO_DUAL_MONO_MIX + AUDIO_ENCODING_TYPE_OPUS_16000_LOW - + - AudioMixingDualMonoMode + AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM - + - AUDIO_MIXING_DUAL_MONO_AUTO + AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM - + - AUDIO_MIXING_DUAL_MONO_L + AUDIO_ENCODING_TYPE_OPUS_48000_HIGH - + - AUDIO_MIXING_DUAL_MONO_R + AUDIO_EFFECT_OFF - + - AUDIO_MIXING_DUAL_MONO_MIX + COMPRESSION_PREFERENCE - + - AUDIO_MIXING_REASON_CAN_NOT_OPEN + PREFER_LOW_LATENCY - + - AUDIO_MIXING_REASON_TOO_FREQUENT_CALL + PREFER_QUALITY - + - AUDIO_MIXING_REASON_INTERRUPTED_EOF + CONTENT_INSPECT_DEVICE_TYPE - + - AUDIO_MIXING_REASON_OK + CONTENT_INSPECT_DEVICE_INVALID - + - AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED + CONTENT_INSPECT_DEVICE_AGORA - + - AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED + CONTENT_INSPECT_DEVICE_HIVE - + - AUDIO_MIXING_REASON_STOPPED_BY_USER + CONTENT_INSPECT_DEVICE_TUPU - + - AUDIO_MIXING_STATE_PLAYING + CONTENT_INSPECT_NEUTRAL - + - AUDIO_MIXING_STATE_PAUSED + CONTENT_INSPECT_SEXY - + - AUDIO_MIXING_STATE_STOPPED + CONTENT_INSPECT_PORN - + - AUDIO_MIXING_STATE_FAILED + CONTENT_INSPECT_TYPE_INVALID - + - AUDIO_MIXING_STATE_COMPLETED + CONTENT_INSPECT_TYPE_MODERATION - + - AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED + CONTENT_INSPECT_TYPE_SUPERVISE - + - AgoraAudioProcessChannels + CONTENT_INSPECT_TYPE_IMAGE_MODERATION - + - AGORA_AUDIO_MONO_PROCESSING + ENCODING_PREFERENCE - + - AGORA_AUDIO_STEREO_PROCESSING + PREFER_AUTO - + - AudioProfile + PREFER_SOFTWARE - + - DEFAULT + PREFER_HARDWARE - + - SPEECH_STANDARD + ExternalVideoSourceType - + - MUSIC_STANDARD + VIDEO_FRAME - + - MUSIC_STANDARD_STEREO + ENCODED_VIDEO_FRAME - + - MUSIC_HIGH_QUALITY + ROOM_ACOUSTICS_KTV - + - MUSIC_HIGH_QUALITY_STEREO + ROOM_ACOUSTICS_VOCAL_CONCERT - + - AUDIO_PROFILE_IOT + ROOM_ACOUSTICS_STUDIO - + - AUDIO_PROFILE_NUM + ROOM_ACOUSTICS_PHONOGRAPH - + - AudioRangeMode + ROOM_ACOUSTICS_VIRTUAL_STEREO - + - AUDIO_RANGE_MODE_WORLD + ROOM_ACOUSTICS_SPACIAL - + - AUDIO_RANGE_MODE_TEAM + ROOM_ACOUSTICS_ETHEREAL - + - AUDIO_FILE_RECORDING_MIC + ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND - + - AUDIO_FILE_RECORDING_PLAYBACK + ROOM_ACOUSTICS_CHORUS - + - AUDIO_FILE_RECORDING_MIXED + ROOM_ACOUSTICS_3D_VOICE - + - AUDIO_RECORDING_QUALITY_LOW + VOICE_CHANGER_EFFECT_UNCLE - + - AUDIO_RECORDING_QUALITY_MEDIUM + VOICE_CHANGER_EFFECT_OLDMAN - + - AUDIO_RECORDING_QUALITY_HIGH + VOICE_CHANGER_EFFECT_BOY - + - AUDIO_RECORDING_QUALITY_ULTRA_HIGH + VOICE_CHANGER_EFFECT_SISTER - + - AUDIO_REVERB_OFF + VOICE_CHANGER_EFFECT_GIRL - + - AUDIO_REVERB_FX_KTV + VOICE_CHANGER_EFFECT_PIGKING - + - AUDIO_REVERB_FX_VOCAL_CONCERT + VOICE_CHANGER_EFFECT_HULK - + - AUDIO_REVERB_FX_UNCLE + STYLE_TRANSFORMATION_RNB - + - AUDIO_REVERB_FX_SISTER + STYLE_TRANSFORMATION_POPULAR - + - AUDIO_REVERB_FX_STUDIO + PITCH_CORRECTION - + - AUDIO_REVERB_FX_POPULAR + AUDIO_EQUALIZATION_BAND_FREQUENCY - + - AUDIO_REVERB_FX_RNB + AUDIO_EQUALIZATION_BAND_31 - + - AUDIO_REVERB_FX_PHONOGRAPH + AUDIO_EQUALIZATION_BAND_62 - + - AUDIO_REVERB_POPULAR + AUDIO_EQUALIZATION_BAND_125 - + - AUDIO_REVERB_RNB + AUDIO_EQUALIZATION_BAND_250 - + - AUDIO_REVERB_ROCK + AUDIO_EQUALIZATION_BAND_500 - + - AUDIO_REVERB_HIPHOP + AUDIO_EQUALIZATION_BAND_1K - + - AUDIO_REVERB_VOCAL_CONCERT + AUDIO_EQUALIZATION_BAND_2K - + - AUDIO_REVERB_KTV + AUDIO_EQUALIZATION_BAND_4K - + - AUDIO_REVERB_STUDIO + AUDIO_EQUALIZATION_BAND_8K - + - AUDIO_VIRTUAL_STEREO + AUDIO_EQUALIZATION_BAND_16K - + - AUDIO_ELECTRONIC_VOICE + FRAME_TYPE_PCM16 - + - AUDIO_THREEDIM_VOICE + POSITION_PLAYBACK - + - AUDIO_REVERB_TYPE + POSITION_RECORD - + - AUDIO_REVERB_DRY_LEVEL + POSITION_MIXED - + - AUDIO_REVERB_WET_LEVEL + POSITION_BEFORE_MIXING - + - AUDIO_REVERB_ROOM_SIZE + POSITION_EAR_MONITORING - + - AUDIO_REVERB_WET_DELAY + AudioDualMonoMode - + - AUDIO_REVERB_STRENGTH + AUDIO_DUAL_MONO_STEREO - + - AUDIO_ROUTE_DEFAULT + AUDIO_DUAL_MONO_L - + - AUDIO_ROUTE_HEADSET + AUDIO_DUAL_MONO_R - + - AUDIO_ROUTE_EARPIECE + AUDIO_DUAL_MONO_MIX - + - AUDIO_ROUTE_HEADSETNOMIC + AudioMixingDualMonoMode - + - AUDIO_ROUTE_SPEAKERPHONE + AUDIO_MIXING_DUAL_MONO_AUTO - + - AUDIO_ROUTE_LOUDSPEAKER + AUDIO_MIXING_DUAL_MONO_L - + - AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP + AUDIO_MIXING_DUAL_MONO_R - + - AUDIO_ROUTE_USB + AUDIO_MIXING_DUAL_MONO_MIX - + - AUDIO_ROUTE_HDMI + AUDIO_MIXING_REASON_CAN_NOT_OPEN - + - AUDIO_ROUTE_DISPLAYPORT + AUDIO_MIXING_REASON_TOO_FREQUENT_CALL - + - AUDIO_ROUTE_AIRPLAY + AUDIO_MIXING_REASON_INTERRUPTED_EOF - + - AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP + AUDIO_MIXING_REASON_OK - + - AudioSampleRateType + AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED - + - AUDIO_SAMPLE_RATE_32000 + AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED - + - AUDIO_SAMPLE_RATE_44100 + AUDIO_MIXING_REASON_STOPPED_BY_USER - + - AUDIO_SAMPLE_RATE_48000 + AUDIO_MIXING_STATE_PLAYING - + - AudioScenario + AUDIO_MIXING_STATE_PAUSED - + - AUDIO_SCENARIO_DEFAULT + AUDIO_MIXING_STATE_STOPPED - + - AUDIO_SCENARIO_CHATROOM + AUDIO_MIXING_STATE_FAILED - + - AUDIO_SCENARIO_GAME_STREAMING + AUDIO_MIXING_STATE_COMPLETED - + - AUDIO_SCENARIO_CHORUS + AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED - + - AUDIO_SCENARIO_MEETING + AgoraAudioProcessChannels - + - CONNECTION_STATE_DISCONNECTED + AGORA_AUDIO_MONO_PROCESSING - + - CONNECTION_STATE_CONNECTING + AGORA_AUDIO_STEREO_PROCESSING - + - CONNECTION_STATE_CONNECTED + AudioProfile - + - CONNECTION_STATE_RECONNECTING + DEFAULT - + - CONNECTION_STATE_FAILED + SPEECH_STANDARD - + - CONNECTION_CHANGED_CONNECTING + MUSIC_STANDARD - + - CONNECTION_CHANGED_JOIN_SUCCESS + MUSIC_STANDARD_STEREO - + - CONNECTION_CHANGED_INTERRUPTED + MUSIC_HIGH_QUALITY - + - CONNECTION_CHANGED_BANNED_BY_SERVER + MUSIC_HIGH_QUALITY_STEREO - + - CONNECTION_CHANGED_JOIN_FAILED + AUDIO_PROFILE_IOT - + - CONNECTION_CHANGED_LEAVE_CHANNEL + AUDIO_PROFILE_NUM - + - CONNECTION_CHANGED_INVALID_APP_ID + AudioRangeMode - + - CONNECTION_CHANGED_INVALID_CHANNEL_NAME + AUDIO_RANGE_MODE_WORLD - + - CONNECTION_CHANGED_INVALID_TOKEN + AUDIO_RANGE_MODE_TEAM - + - CONNECTION_CHANGED_TOKEN_EXPIRED + AUDIO_FILE_RECORDING_MIC - + - CONNECTION_CHANGED_REJECTED_BY_SERVER + AUDIO_FILE_RECORDING_PLAYBACK - + - CONNECTION_CHANGED_SETTING_PROXY_SERVER + AUDIO_FILE_RECORDING_MIXED - + - CONNECTION_CHANGED_RENEW_TOKEN + AUDIO_RECORDING_QUALITY_LOW - + - CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED + AUDIO_RECORDING_QUALITY_MEDIUM - + - CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT + AUDIO_RECORDING_QUALITY_HIGH - + - CONNECTION_CHANGED_REJOIN_SUCCESS + AUDIO_RECORDING_QUALITY_ULTRA_HIGH - + - CONNECTION_CHANGED_LOST + AUDIO_REVERB_OFF - + - CONNECTION_CHANGED_ECHO_TEST + AUDIO_REVERB_FX_KTV - + - CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER + AUDIO_REVERB_FX_VOCAL_CONCERT - + - CONNECTION_CHANGED_SAME_UID_LOGIN + AUDIO_REVERB_FX_UNCLE - + - CONNECTION_CHANGED_TOO_MANY_BROADCASTERS + AUDIO_REVERB_FX_SISTER - + - CONTAINER_MP4 + AUDIO_REVERB_FX_STUDIO - - - - AudioTrackType - - - - - - - AUDIO_TRACK_MIXABLE - - - - - - - AUDIO_TRACK_DIRECT - - - - + - CAMERA_DIRECTION + AUDIO_REVERB_FX_POPULAR - + - CAMERA_REAR + AUDIO_REVERB_FX_RNB - + - CAMERA_FRONT + AUDIO_REVERB_FX_PHONOGRAPH - + - CAMERA_EXTRA + AUDIO_REVERB_POPULAR - + - CAMERA_FOCAL_LENGTH_TYPE + AUDIO_REVERB_RNB - + - CAMERA_FOCAL_LENGTH_DEFAULT + AUDIO_REVERB_ROCK - + - CAMERA_FOCAL_LENGTH_WIDE_ANGLE + AUDIO_REVERB_HIPHOP - + - CAMERA_FOCAL_LENGTH_ULTRA_WIDE + AUDIO_REVERB_VOCAL_CONCERT - + - CAPTURE_BRIGHTNESS_LEVEL_INVALID + AUDIO_REVERB_KTV - + - CAPTURE_BRIGHTNESS_LEVEL_NORMAL + AUDIO_REVERB_STUDIO - + - CAPTURE_BRIGHTNESS_LEVEL_BRIGHT + AUDIO_VIRTUAL_STEREO - + - CAPTURE_BRIGHTNESS_LEVEL_DARK + AUDIO_ELECTRONIC_VOICE - + - CAPTURER_OUTPUT_PREFERENCE + AUDIO_THREEDIM_VOICE - + - CAPTURER_OUTPUT_PREFERENCE_AUTO + AUDIO_REVERB_TYPE - + - CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE + AUDIO_REVERB_DRY_LEVEL - + - CAPTURER_OUTPUT_PREFERENCE_PREVIEW + AUDIO_REVERB_WET_LEVEL - + - CAPTURER_OUTPUT_PREFERENCE_MANUAL + AUDIO_REVERB_ROOM_SIZE - + - RELAY_OK + AUDIO_REVERB_WET_DELAY - + - RELAY_ERROR_SERVER_ERROR_RESPONSE + AUDIO_REVERB_STRENGTH - + - RELAY_ERROR_SERVER_NO_RESPONSE + AUDIO_ROUTE_DEFAULT - + - RELAY_ERROR_NO_RESOURCE_AVAILABLE + AUDIO_ROUTE_HEADSET - + - RELAY_ERROR_FAILED_JOIN_SRC + AUDIO_ROUTE_EARPIECE - + - RELAY_ERROR_FAILED_JOIN_DEST + AUDIO_ROUTE_HEADSETNOMIC - + - RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC + AUDIO_ROUTE_SPEAKERPHONE - + - RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST + AUDIO_ROUTE_LOUDSPEAKER - + - RELAY_ERROR_SERVER_CONNECTION_LOST + AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP - + - RELAY_ERROR_INTERNAL_ERROR + AUDIO_ROUTE_USB - + - RELAY_ERROR_SRC_TOKEN_EXPIRED + AUDIO_ROUTE_HDMI - + - RELAY_ERROR_DEST_TOKEN_EXPIRED + AUDIO_ROUTE_DISPLAYPORT - + - RELAY_EVENT_NETWORK_DISCONNECTED + AUDIO_ROUTE_AIRPLAY - + - RELAY_EVENT_NETWORK_CONNECTED + AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP - + - RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL + AudioSampleRateType - + - RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL + AUDIO_SAMPLE_RATE_32000 - + - RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL + AUDIO_SAMPLE_RATE_44100 - + - RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC + AUDIO_SAMPLE_RATE_48000 - + - RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC + AudioScenario - + - RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL + AUDIO_SCENARIO_DEFAULT - + - RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE + AUDIO_SCENARIO_CHATROOM - + - RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL + AUDIO_SCENARIO_GAME_STREAMING - + - RELAY_EVENT_VIDEO_PROFILE_UPDATE + AUDIO_SCENARIO_CHORUS - + - RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + AUDIO_SCENARIO_MEETING - + - RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED + CONNECTION_STATE_DISCONNECTED - + - RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS + CONNECTION_STATE_CONNECTING - + - RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED + CONNECTION_STATE_CONNECTED - + - RELAY_STATE_IDLE + CONNECTION_STATE_RECONNECTING - + - RELAY_STATE_CONNECTING + CONNECTION_STATE_FAILED - + - RELAY_STATE_RUNNING + CONNECTION_CHANGED_CONNECTING - + - RELAY_STATE_FAILURE + CONNECTION_CHANGED_JOIN_SUCCESS - + - CHANNEL_PROFILE_COMMUNICATION + CONNECTION_CHANGED_INTERRUPTED - + - CHANNEL_PROFILE_LIVE_BROADCASTING + CONNECTION_CHANGED_BANNED_BY_SERVER - + - CHANNEL_PROFILE_GAME + CONNECTION_CHANGED_JOIN_FAILED - + - CHANNEL_PROFILE_CLOUD_GAMING + CONNECTION_CHANGED_LEAVE_CHANNEL - + - CHANNEL_PROFILE_COMMUNICATION_1v1 + CONNECTION_CHANGED_INVALID_APP_ID - + - CLIENT_ROLE_BROADCASTER + CONNECTION_CHANGED_INVALID_CHANNEL_NAME - + - CLIENT_ROLE_AUDIENCE + CONNECTION_CHANGED_INVALID_TOKEN - + - CLIENT_ROLE_CHANGE_FAILED_TOO_MANY_BROADCASTERS + CONNECTION_CHANGED_TOKEN_EXPIRED - + - CLIENT_ROLE_CHANGE_FAILED_NOT_AUTHORIZED + CONNECTION_CHANGED_REJECTED_BY_SERVER - + - CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT + CONNECTION_CHANGED_SETTING_PROXY_SERVER - + - CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED + CONNECTION_CHANGED_RENEW_TOKEN - + - TRANSPORT_TYPE_NONE_PROXY + CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED - + - TRANSPORT_TYPE_UDP_PROXY + CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT - + - TRANSPORT_TYPE_TCP_PROXY + CONNECTION_CHANGED_REJOIN_SUCCESS - + - PROXY_TYPE_NONE_PROXY + CONNECTION_CHANGED_LOST - + - PROXY_TYPE_UDP_CLOUD_PROXY + CONNECTION_CHANGED_ECHO_TEST - + - PROXY_TYPE_TCP_CLOUD_PROXY + CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER - + - PROXY_TYPE_LOCAL_PROXY + CONNECTION_CHANGED_SAME_UID_LOGIN - + - PROXY_TYPE_TCP_AUTO_FALLBACK + CONNECTION_CHANGED_TOO_MANY_BROADCASTERS - + - DEGRADATION_PREFERENCE + CONTAINER_MP4 - + + + + AudioTrackType + + + + + + + AUDIO_TRACK_MIXABLE + + + + + + + AUDIO_TRACK_DIRECT + + + + - MAINTAIN_AUTO + CAMERA_DIRECTION - + - MAINTAIN_QUALITY + CAMERA_REAR - + - MAINTAIN_FRAMERATE + CAMERA_FRONT - + - MAINTAIN_BALANCED + CAMERA_EXTRA - + - MAINTAIN_RESOLUTION + CAMERA_FOCAL_LENGTH_TYPE - + - DirectCdnStreamingReason + CAMERA_FOCAL_LENGTH_DEFAULT - + - OK + CAMERA_FOCAL_LENGTH_WIDE_ANGLE - + - FAILED + CAMERA_FOCAL_LENGTH_ULTRA_WIDE - + - AUDIO_PUBLICATION + CAPTURE_BRIGHTNESS_LEVEL_INVALID - + - VIDEO_PUBLICATION + CAPTURE_BRIGHTNESS_LEVEL_NORMAL - + - NET_CONNECT + CAPTURE_BRIGHTNESS_LEVEL_BRIGHT - + - BAD_NAME + CAPTURE_BRIGHTNESS_LEVEL_DARK - + - DirectCdnStreamingState + CAPTURER_OUTPUT_PREFERENCE - + - IDLE + CAPTURER_OUTPUT_PREFERENCE_AUTO - + - RUNNING + CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE - + - STOPPED + CAPTURER_OUTPUT_PREFERENCE_PREVIEW - + - FAILED + CAPTURER_OUTPUT_PREFERENCE_MANUAL - + - RECOVERING + RELAY_OK - + - EAR_MONITORING_FILTER_NONE + RELAY_ERROR_SERVER_ERROR_RESPONSE - + - EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS + RELAY_ERROR_SERVER_NO_RESPONSE - + - EAR_MONITORING_FILTER_NOISE_SUPPRESSION + RELAY_ERROR_NO_RESOURCE_AVAILABLE - + - EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER + RELAY_ERROR_FAILED_JOIN_SRC - + - ENCRYPTION_ERROR_TYPE + RELAY_ERROR_FAILED_JOIN_DEST - + - ENCRYPTION_ERROR_INTERNAL_FAILURE + RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC - + - ENCRYPTION_ERROR_DECRYPTION_FAILURE + RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST - + - ENCRYPTION_ERROR_ENCRYPTION_FAILURE + RELAY_ERROR_SERVER_CONNECTION_LOST - + - ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE + RELAY_ERROR_INTERNAL_ERROR - + - ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE + RELAY_ERROR_SRC_TOKEN_EXPIRED - + - ERR_OK + RELAY_ERROR_DEST_TOKEN_EXPIRED - + - ERR_FAILED + RELAY_EVENT_NETWORK_DISCONNECTED - + - ERR_INVALID_ARGUMENT + RELAY_EVENT_NETWORK_CONNECTED - + - ERR_NOT_READY + RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL - + - ERR_NOT_SUPPORTED + RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL - + - ERR_REFUSED + RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL - + - ERR_BUFFER_TOO_SMALL + RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC - + - ERR_NOT_INITIALIZED + RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC - + - ERR_INVALID_STATE + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL - + - ERR_NO_PERMISSION + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE - + - ERR_TIMEDOUT + RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL - + - ERR_JOIN_CHANNEL_REJECTED + RELAY_EVENT_VIDEO_PROFILE_UPDATE - + - ERR_LEAVE_CHANNEL_REJECTED + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - + - ERR_ALREADY_IN_USE + RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED - + - ERR_ABORTED + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS - + - ERR_RESOURCE_LIMITED + RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED - + - ERR_INVALID_APP_ID + RELAY_STATE_IDLE - + - ERR_INVALID_CHANNEL_NAME + RELAY_STATE_CONNECTING - + - ERR_NO_SERVER_RESOURCES + RELAY_STATE_RUNNING - + - ERR_TOKEN_EXPIRED + RELAY_STATE_FAILURE - + - ERR_INVALID_TOKEN + CHANNEL_PROFILE_COMMUNICATION - + - ERR_CONNECTION_INTERRUPTED + CHANNEL_PROFILE_LIVE_BROADCASTING - + - ERR_CONNECTION_LOST + CHANNEL_PROFILE_GAME - + - ERR_NOT_IN_CHANNEL + CHANNEL_PROFILE_CLOUD_GAMING - + - ERR_SIZE_TOO_LARGE + CHANNEL_PROFILE_COMMUNICATION_1v1 - + - ERR_BITRATE_LIMIT + CLIENT_ROLE_BROADCASTER - + - ERR_TOO_MANY_DATA_STREAMS + CLIENT_ROLE_AUDIENCE - + - ERR_STREAM_MESSAGE_TIMEOUT + CLIENT_ROLE_CHANGE_FAILED_TOO_MANY_BROADCASTERS - + - ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED + CLIENT_ROLE_CHANGE_FAILED_NOT_AUTHORIZED - + - ERR_DECRYPTION_FAILED + CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT - + - ERR_INVALID_USER_ID + CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED - + - ERR_CLIENT_IS_BANNED_BY_SERVER + TRANSPORT_TYPE_NONE_PROXY - + - ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH + TRANSPORT_TYPE_UDP_PROXY - + - ERR_LICENSE_CREDENTIAL_INVALID + TRANSPORT_TYPE_TCP_PROXY - + - ERR_INVALID_USER_ACCOUNT + PROXY_TYPE_NONE_PROXY - + - ERR_MODULE_NOT_FOUND + PROXY_TYPE_UDP_CLOUD_PROXY - + - ERR_LOAD_MEDIA_ENGINE + PROXY_TYPE_TCP_CLOUD_PROXY - + - ERR_ADM_GENERAL_ERROR + PROXY_TYPE_LOCAL_PROXY - + - ERR_ADM_INIT_PLAYOUT + PROXY_TYPE_TCP_AUTO_FALLBACK - + - ERR_ADM_START_PLAYOUT + DEGRADATION_PREFERENCE - + - ERR_ADM_STOP_PLAYOUT + MAINTAIN_QUALITY - + - ERR_ADM_INIT_RECORDING + MAINTAIN_FRAMERATE - + - ERR_ADM_START_RECORDING + MAINTAIN_BALANCED - + - ERR_ADM_STOP_RECORDING + MAINTAIN_RESOLUTION - + - ERR_VDM_CAMERA_NOT_AUTHORIZED + DirectCdnStreamingReason - + - ERR_DATASTREAM_DECRYPTION_FAILED + OK - + - EncryptionMode + FAILED - + - AES_128_XTS + AUDIO_PUBLICATION - + - AES_128_ECB + VIDEO_PUBLICATION - + - AES_256_XTS + NET_CONNECT - + - SM4_128_ECB + BAD_NAME - + - AES_128_GCM + DirectCdnStreamingState - + - AES_256_GCM + IDLE - + - AES_128_GCM2 + RUNNING - + - AES_256_GCM2 + STOPPED - + - MODE_END + FAILED - + - EXPERIENCE_REASON_NONE + RECOVERING - + - REMOTE_NETWORK_QUALITY_POOR + EAR_MONITORING_FILTER_NONE - + - LOCAL_NETWORK_QUALITY_POOR + EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS - + - WIRELESS_SIGNAL_POOR + EAR_MONITORING_FILTER_NOISE_SUPPRESSION - + - WIFI_BLUETOOTH_COEXIST + EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER - + - EXPERIENCE_QUALITY_GOOD + ENCRYPTION_ERROR_TYPE - + - EXPERIENCE_QUALITY_BAD + ENCRYPTION_ERROR_INTERNAL_FAILURE - + - FACE_SHAPE_AREA_NONE + ENCRYPTION_ERROR_DECRYPTION_FAILURE - + - FACE_SHAPE_AREA_HEADSCALE + ENCRYPTION_ERROR_ENCRYPTION_FAILURE - + - FACE_SHAPE_AREA_FOREHEAD + ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE - + - FACE_SHAPE_AREA_FACECONTOUR + ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE - + - FACE_SHAPE_AREA_FACELENGTH + ERR_OK - + - FACE_SHAPE_AREA_FACEWIDTH + ERR_FAILED - + - FACE_SHAPE_AREA_CHEEKBONE + ERR_INVALID_ARGUMENT - + - FACE_SHAPE_AREA_CHEEK + ERR_NOT_READY - + - FACE_SHAPE_AREA_CHIN + ERR_NOT_SUPPORTED - + - FACE_SHAPE_AREA_EYESCALE + ERR_REFUSED - + - FACE_SHAPE_AREA_NOSELENGTH + ERR_BUFFER_TOO_SMALL - + - FACE_SHAPE_AREA_NOSEWIDTH + ERR_NOT_INITIALIZED - + - FACE_SHAPE_AREA_MOUTHSCALE + ERR_INVALID_STATE - + - FACE_SHAPE_BEAUTY_STYLE_FEMALE + ERR_NO_PERMISSION - + - FACE_SHAPE_BEAUTY_STYLE_MALE + ERR_TIMEDOUT - + - FeatureType + ERR_JOIN_CHANNEL_REJECTED - + - VIDEO_VIRTUAL_BACKGROUND + ERR_LEAVE_CHANNEL_REJECTED - + - VIDEO_BEAUTY_EFFECT + ERR_ALREADY_IN_USE - + - FRAME_RATE + ERR_ABORTED - + - FRAME_RATE_FPS_1 + ERR_RESOURCE_LIMITED - + - FRAME_RATE_FPS_7 + ERR_INVALID_APP_ID - + - FRAME_RATE_FPS_10 + ERR_INVALID_CHANNEL_NAME - + - FRAME_RATE_FPS_15 + ERR_NO_SERVER_RESOURCES - + - FRAME_RATE_FPS_24 + ERR_TOKEN_EXPIRED - + - FRAME_RATE_FPS_30 + ERR_INVALID_TOKEN - + - FRAME_RATE_FPS_60 + ERR_CONNECTION_INTERRUPTED - + - HEADPHONE_EQUALIZER_PRESET + ERR_CONNECTION_LOST - + - HEADPHONE_EQUALIZER_OFF + ERR_NOT_IN_CHANNEL - + - HEADPHONE_EQUALIZER_OVEREAR + ERR_SIZE_TOO_LARGE - + - HEADPHONE_EQUALIZER_INEAR + ERR_BITRATE_LIMIT - + - LASTMILE_PROBE_RESULT_COMPLETE + ERR_TOO_MANY_DATA_STREAMS - + - LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE + ERR_STREAM_MESSAGE_TIMEOUT - + - LASTMILE_PROBE_RESULT_UNAVAILABLE + ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED - + - LIGHTENING_CONTRAST_LOW + ERR_DECRYPTION_FAILED - + - LIGHTENING_CONTRAST_NORMAL + ERR_INVALID_USER_ID - + - LIGHTENING_CONTRAST_HIGH + ERR_CLIENT_IS_BANNED_BY_SERVER - + - INJECT_STREAM_STATUS_START_SUCCESS + ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH - + - INJECT_STREAM_STATUS_START_ALREADY_EXISTS + ERR_LICENSE_CREDENTIAL_INVALID - + - INJECT_STREAM_STATUS_START_UNAUTHORIZED + ERR_INVALID_USER_ACCOUNT - + - INJECT_STREAM_STATUS_START_TIMEDOUT + ERR_MODULE_NOT_FOUND - + - INJECT_STREAM_STATUS_START_FAILED + ERR_LOAD_MEDIA_ENGINE - + - INJECT_STREAM_STATUS_STOP_SUCCESS + ERR_ADM_GENERAL_ERROR - + - INJECT_STREAM_STATUS_STOP_NOT_FOUND + ERR_ADM_INIT_PLAYOUT - + - INJECT_STREAM_STATUS_STOP_UNAUTHORIZED + ERR_ADM_START_PLAYOUT - + - INJECT_STREAM_STATUS_STOP_TIMEDOUT + ERR_ADM_STOP_PLAYOUT - + - INJECT_STREAM_STATUS_STOP_FAILED + ERR_ADM_INIT_RECORDING - + - INJECT_STREAM_STATUS_BROKEN + ERR_ADM_START_RECORDING - + - LOCAL_AUDIO_STREAM_REASON_OK + ERR_ADM_STOP_RECORDING - + - LOCAL_AUDIO_STREAM_REASON_FAILURE + ERR_VDM_CAMERA_NOT_AUTHORIZED - + - LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION + ERR_DATASTREAM_DECRYPTION_FAILED - + - LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY + EncryptionMode - + - LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE + AES_128_XTS - + - LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE + AES_128_ECB - + - LOCAL_AUDIO_STREAM_REASON_INTERRUPTED + AES_256_XTS - + - LOCAL_AUDIO_STREAM_STATE_STOPPED + SM4_128_ECB - + - LOCAL_AUDIO_STREAM_STATE_RECORDING + AES_128_GCM - + - LOCAL_AUDIO_STREAM_STATE_ENCODING + AES_256_GCM - + - LOCAL_AUDIO_STREAM_STATE_FAILED + AES_128_GCM2 - + - LOCAL_RPOXY_CONNECTIVITY_FIRST + AES_256_GCM2 - + - LOCAL_RPOXY_LOCAL_ONLY + MODE_END - + - LOCAL_VIDEO_STREAM_REASON_OK + EXPERIENCE_REASON_NONE - + - LOCAL_VIDEO_STREAM_REASON_FAILURE + REMOTE_NETWORK_QUALITY_POOR - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION + LOCAL_NETWORK_QUALITY_POOR - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY + WIRELESS_SIGNAL_POOR - + - LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE + WIFI_BLUETOOTH_COEXIST - + - LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT + EXPERIENCE_QUALITY_GOOD - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND + EXPERIENCE_QUALITY_BAD - + - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_MINIMIZED + FeatureType - + - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_CLOSED + VIDEO_VIRTUAL_BACKGROUND - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT + VIDEO_BEAUTY_EFFECT - + - LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR + FRAME_RATE - + - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_FAILURE + FRAME_RATE_FPS_1 - + - LOCAL_VIDEO_STREAM_STATE_STOPPED + FRAME_RATE_FPS_7 - + - LOCAL_VIDEO_STREAM_STATE_CAPTURING + FRAME_RATE_FPS_10 - + - LOCAL_VIDEO_STREAM_STATE_ENCODING + FRAME_RATE_FPS_15 - + - LOCAL_VIDEO_STREAM_STATE_FAILED + FRAME_RATE_FPS_24 - - - - ERR_SCREEN_CAPTURE_PERMISSION_DENIED - - - - - - - ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED - - - - + - ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED + FRAME_RATE_FPS_30 - + - LOG_FILTER_OFF + FRAME_RATE_FPS_60 - + - LOG_FILTER_DEBUG + HEADPHONE_EQUALIZER_PRESET - + - LOG_FILTER_INFO + HEADPHONE_EQUALIZER_OFF - + - LOG_FILTER_WARN + HEADPHONE_EQUALIZER_OVEREAR - + - LOG_FILTER_ERROR + HEADPHONE_EQUALIZER_INEAR - + - LOG_FILTER_CRITICAL + LASTMILE_PROBE_RESULT_COMPLETE - + - LogLevel + LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE - + - LOG_LEVEL_NONE + LASTMILE_PROBE_RESULT_UNAVAILABLE - + - LOG_LEVEL_INFO + LIGHTENING_CONTRAST_LOW - + - LOG_LEVEL_WARN + LIGHTENING_CONTRAST_NORMAL - + - LOG_LEVEL_ERROR + LIGHTENING_CONTRAST_HIGH - + - LOG_LEVEL_FATAL + INJECT_STREAM_STATUS_START_SUCCESS - + - LOW_LIGHT_ENHANCE_AUTO + INJECT_STREAM_STATUS_START_ALREADY_EXISTS - + - LOW_LIGHT_ENHANCE_MANUAL + INJECT_STREAM_STATUS_START_UNAUTHORIZED - + - LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY + INJECT_STREAM_STATUS_START_TIMEDOUT - + - LOW_LIGHT_ENHANCE_LEVEL_FAST + INJECT_STREAM_STATUS_START_FAILED - + - MEDIA_DEVICE_STATE_ACTIVE + INJECT_STREAM_STATUS_STOP_SUCCESS - + - MEDIA_DEVICE_STATE_DISABLED + INJECT_STREAM_STATUS_STOP_NOT_FOUND - + - MEDIA_DEVICE_STATE_NOT_PRESENT + INJECT_STREAM_STATUS_STOP_UNAUTHORIZED - + - MEDIA_DEVICE_STATE_UNPLUGGED + INJECT_STREAM_STATUS_STOP_TIMEDOUT - + - MEDIA_DEVICE_STATE_UNRECOMMENDED + INJECT_STREAM_STATUS_STOP_FAILED - + - AUDIO_APPLICATION_PLAYOUT_DEVICE + INJECT_STREAM_STATUS_BROKEN - + - MediaPlayerReason + LOCAL_AUDIO_STREAM_REASON_OK - + - PLAYER_REASON_NONE + LOCAL_AUDIO_STREAM_REASON_FAILURE - + - PLAYER_REASON_INVALID_ARGUMENTS + LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION - + - PLAYER_REASON_INTERNAL + LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY - + - PLAYER_REASON_NO_RESOURCE + LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE - + - PLAYER_REASON_INVALID_MEDIA_SOURCE + LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE - + - PLAYER_REASON_UNKNOWN_STREAM_TYPE + LOCAL_AUDIO_STREAM_REASON_INTERRUPTED - + - PLAYER_REASON_OBJ_NOT_INITIALIZED + LOCAL_AUDIO_STREAM_STATE_STOPPED - + - PLAYER_REASON_CODEC_NOT_SUPPORTED + LOCAL_AUDIO_STREAM_STATE_RECORDING - + - PLAYER_REASON_VIDEO_RENDER_FAILED + LOCAL_AUDIO_STREAM_STATE_ENCODING - + - PLAYER_REASON_INVALID_STATE + LOCAL_AUDIO_STREAM_STATE_FAILED - + - PLAYER_REASON_URL_NOT_FOUND + LOCAL_RPOXY_CONNECTIVITY_FIRST - + - PLAYER_REASON_INVALID_CONNECTION_STATE + LOCAL_RPOXY_LOCAL_ONLY - + - PLAYER_REASON_SRC_BUFFER_UNDERFLOW + LOCAL_VIDEO_STREAM_REASON_OK - + - PLAYER_REASON_INTERRUPTED + LOCAL_VIDEO_STREAM_REASON_FAILURE - + - PLAYER_REASON_NOT_SUPPORTED + LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION - + - PLAYER_REASON_TOKEN_EXPIRED + LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY - + - PLAYER_REASON_IP_EXPIRED + LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE - + - PLAYER_REASON_UNKNOWN + LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT - + - MediaPlayerEvent + LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND - + - PLAYER_EVENT_UNKNOWN + LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_MINIMIZED - + - PLAYER_EVENT_SEEK_BEGIN + LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_WINDOW_CLOSED - + - PLAYER_EVENT_SEEK_COMPLETE + LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT - + - PLAYER_EVENT_SEEK_ERROR + LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR - + - PLAYER_EVENT_AUDIO_TRACK_CHANGED + LOCAL_VIDEO_STREAM_STATE_STOPPED - + - PLAYER_EVENT_BUFFER_LOW + LOCAL_VIDEO_STREAM_STATE_CAPTURING - + - PLAYER_EVENT_BUFFER_RECOVER + LOCAL_VIDEO_STREAM_STATE_ENCODING - + - PLAYER_EVENT_FREEZE_START + LOCAL_VIDEO_STREAM_STATE_FAILED + + + + ERR_SCREEN_CAPTURE_PERMISSION_DENIED + + + + + + + ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED + + + - + - PLAYER_EVENT_FREEZE_STOP + ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED - + - PLAYER_EVENT_SWITCH_BEGIN + LOG_FILTER_OFF - + - PLAYER_EVENT_SWITCH_COMPLETE + LOG_FILTER_DEBUG - + - PLAYER_EVENT_SWITCH_ERROR + LOG_FILTER_INFO - + - PLAYER_EVENT_FIRST_DISPLAYED + LOG_FILTER_WARN - + - PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT + LOG_FILTER_ERROR - + - PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE + LOG_FILTER_CRITICAL - + - MediaPlayerMetadataType + LogLevel - + - PLAYER_METADATA_TYPE_UNKNOWN + LOG_LEVEL_NONE - + - PLAYER_METADATA_TYPE_SEI + LOG_LEVEL_INFO - + - MediaPlayerState + LOG_LEVEL_WARN - + - PLAYER_STATE_UNKNOWN + LOG_LEVEL_ERROR - + - PLAYER_STATE_IDLE + LOG_LEVEL_FATAL - + - PLAYER_STATE_OPENING + LOW_LIGHT_ENHANCE_AUTO - + - PLAYER_STATE_OPEN_COMPLETED + LOW_LIGHT_ENHANCE_MANUAL - + - PLAYER_STATE_PLAYING + LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY - + - PLAYER_STATE_PAUSED + LOW_LIGHT_ENHANCE_LEVEL_FAST - + - PLAYER_STATE_PLAYBACK_COMPLETED + MEDIA_DEVICE_STATE_ACTIVE - + - PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED + MEDIA_DEVICE_STATE_DISABLED - + - PLAYER_STATE_STOPPED + MEDIA_DEVICE_STATE_NOT_PRESENT - + - PLAYER_STATE_FAILED + MEDIA_DEVICE_STATE_UNPLUGGED - + - MediaSourceType + MEDIA_DEVICE_STATE_UNRECOMMENDED - + - AUDIO_PLAYOUT_SOURCE + AUDIO_APPLICATION_PLAYOUT_DEVICE - + - AUDIO_RECORDING_SOURCE + MediaPlayerReason - + - PRIMARY_CAMERA_SOURCE + PLAYER_REASON_NONE - + - SECONDARY_CAMERA_SOURCE + PLAYER_REASON_INVALID_ARGUMENTS - + - CUSTOM_VIDEO_SOURCE + PLAYER_REASON_INTERNAL - + - SPEECH_DRIVEN_VIDEO_SOURCE + PLAYER_REASON_NO_RESOURCE - + - UNKNOWN_MEDIA_SOURCE + PLAYER_REASON_INVALID_MEDIA_SOURCE - + - MEDIA_TRACE_EVENT + PLAYER_REASON_UNKNOWN_STREAM_TYPE - + - MEDIA_TRACE_EVENT_VIDEO_RENDERED + PLAYER_REASON_OBJ_NOT_INITIALIZED - + - MEDIA_TRACE_EVENT_VIDEO_DECODED + PLAYER_REASON_CODEC_NOT_SUPPORTED - + - MediaStreamType + PLAYER_REASON_VIDEO_RENDER_FAILED - + - STREAM_TYPE_UNKNOWN + PLAYER_REASON_INVALID_STATE - + - STREAM_TYPE_VIDEO + PLAYER_REASON_URL_NOT_FOUND - + - STREAM_TYPE_AUDIO + PLAYER_REASON_INVALID_CONNECTION_STATE - + - STREAM_TYPE_SUBTITLE + PLAYER_REASON_SRC_BUFFER_UNDERFLOW - + - UNKNOWN_METADATA + PLAYER_REASON_INTERRUPTED - + - VIDEO_METADATA + PLAYER_REASON_NOT_SUPPORTED - + - NETWORK_TYPE_UNKNOWN + PLAYER_REASON_TOKEN_EXPIRED - + - NETWORK_TYPE_DISCONNECTED + PLAYER_REASON_IP_EXPIRED - + - NETWORK_TYPE_LAN + PLAYER_REASON_UNKNOWN - + - NETWORK_TYPE_WIFI + MediaPlayerEvent - + - NETWORK_TYPE_MOBILE_2G + PLAYER_EVENT_UNKNOWN - + - NETWORK_TYPE_MOBILE_3G + PLAYER_EVENT_SEEK_BEGIN - + - NETWORK_TYPE_MOBILE_4G + PLAYER_EVENT_SEEK_COMPLETE - + - NETWORK_TYPE_MOBILE_5G + PLAYER_EVENT_SEEK_ERROR - + - MusicContentCenterStateReason + PLAYER_EVENT_AUDIO_TRACK_CHANGED - + - MUSIC_CONTENT_CENTER_STATE_REASON_OK + PLAYER_EVENT_BUFFER_LOW - + - MUSIC_CONTENT_CENTER_STATE_REASON_ERROR + PLAYER_EVENT_BUFFER_RECOVER - + - MUSIC_CONTENT_CENTER_STATE_REASON_GATEWAY + PLAYER_EVENT_FREEZE_START - + - MUSIC_CONTENT_CENTER_STATE_REASON_PERMISSION_AND_RESOURCE + PLAYER_EVENT_FREEZE_STOP - + - MUSIC_CONTENT_CENTER_STATE_REASON_INTERNAL_DATA_PARSE + PLAYER_EVENT_SWITCH_BEGIN - + - MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_LOADING + PLAYER_EVENT_SWITCH_COMPLETE - + - MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_DECRYPTION + PLAYER_EVENT_SWITCH_ERROR - + - MUSIC_CONTENT_CENTER_STATE_REASON_HTTP_INTERNAL + PLAYER_EVENT_FIRST_DISPLAYED - - + + - MusicPlayMode + PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT - + - MUSIC_PLAY_MODE_ORIGINAL + PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE - + - MUSIC_PLAY_MODE_ACCOMPANY + MediaPlayerMetadataType - + - MUSIC_PLAY_MODE_LEAD_SING + PLAYER_METADATA_TYPE_UNKNOWN - + - PreloadState + PLAYER_METADATA_TYPE_SEI - + - PRELOAD_STATE_COMPLETED + MediaPlayerState - + - PRELOAD_STATE_FAILED + PLAYER_STATE_UNKNOWN - + - PRELOAD_STATE_PRELOADING + PLAYER_STATE_IDLE - + - PRELOAD_STATE_REMOVED + PLAYER_STATE_OPENING - + - MusicCacheStatusType + PLAYER_STATE_OPEN_COMPLETED - + - MUSIC_CACHE_STATUS_TYPE_CACHED + PLAYER_STATE_PLAYING - + - MUSIC_CACHE_STATUS_TYPE_CACHING + PLAYER_STATE_PAUSED - + - ORIENTATION_MODE + PLAYER_STATE_PLAYBACK_COMPLETED - + - ORIENTATION_MODE_ADAPTIVE + PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED - + - ORIENTATION_FIXED_LANDSCAPE + PLAYER_STATE_STOPPED - + - ORIENTATION_FIXED_PORTRAIT + PLAYER_STATE_FAILED - + - RECORD_AUDIO + MediaSourceType - + - CAMERA + AUDIO_PLAYOUT_SOURCE - + - SCREEN_CAPTURE + AUDIO_RECORDING_SOURCE - + - ScreenScenarioType + PRIMARY_CAMERA_SOURCE - + - SCREEN_SCENARIO_DOCUMENT + SECONDARY_CAMERA_SOURCE - + - SCREEN_SCENARIO_GAMING + CUSTOM_VIDEO_SOURCE - + - SCREEN_SCENARIO_VIDEO + SPEECH_DRIVEN_VIDEO_SOURCE - + - MediaPlayerPreloadEvent + UNKNOWN_MEDIA_SOURCE - + - PLAYER_PRELOAD_EVENT_BEGIN + MEDIA_TRACE_EVENT - + - PLAYER_PRELOAD_EVENT_COMPLETE + MEDIA_TRACE_EVENT_VIDEO_RENDERED - + - PLAYER_PRELOAD_EVENT_ERROR + MEDIA_TRACE_EVENT_VIDEO_DECODED - + - USER_PRIORITY_HIGH + MediaStreamType - + - USER_PRIORITY_NORANL + STREAM_TYPE_UNKNOWN - + - QUALITY_REPORT_FORMAT_TYPE + STREAM_TYPE_VIDEO - + - QUALITY_REPORT_JSON + STREAM_TYPE_AUDIO - + - QUALITY_REPORT_HTML + STREAM_TYPE_SUBTITLE - + - QUALITY_UNKNOWN + UNKNOWN_METADATA - + - QUALITY_EXCELLENT + VIDEO_METADATA - + - QUALITY_GOOD + NETWORK_TYPE_UNKNOWN - + - QUALITY_POOR + NETWORK_TYPE_DISCONNECTED - + - QUALITY_BAD + NETWORK_TYPE_LAN - + - QUALITY_VBAD + NETWORK_TYPE_WIFI - + - QUALITY_DOWN + NETWORK_TYPE_MOBILE_2G - + - QUALITY_UNSUPPORTED + NETWORK_TYPE_MOBILE_3G - + - QUALITY_DETECTING + NETWORK_TYPE_MOBILE_4G - + - RAW_AUDIO_FRAME_OP_MODE_READ_ONLY + NETWORK_TYPE_MOBILE_5G - + - RAW_AUDIO_FRAME_OP_MODE_READ_WRITE + MusicContentCenterStateReason - + - RECORDER_REASON_NONE + MUSIC_CONTENT_CENTER_STATE_REASON_OK - + - RECORDER_ERROR_WRITE_FAILED + MUSIC_CONTENT_CENTER_STATE_REASON_ERROR - + - RECORDER_ERROR_NO_STREAM + MUSIC_CONTENT_CENTER_STATE_REASON_GATEWAY - + - RECORDER_ERROR_OVER_MAX_DURATION + MUSIC_CONTENT_CENTER_STATE_REASON_PERMISSION_AND_RESOURCE - + - RECORDER_ERROR_CONFIG_CHANGED + MUSIC_CONTENT_CENTER_STATE_REASON_INTERNAL_DATA_PARSE - + - RECORDER_STATE_ERROR + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_LOADING - + - RECORDER_STATE_START + MUSIC_CONTENT_CENTER_STATE_REASON_MUSIC_DECRYPTION - + - RECORDER_STATE_STOP + MUSIC_CONTENT_CENTER_STATE_REASON_HTTP_INTERNAL - - + + - REMOTE_AUDIO_STATE_STOPPED + MusicPlayMode - + - REMOTE_AUDIO_STATE_STARTING + MUSIC_PLAY_MODE_ORIGINAL - + - REMOTE_AUDIO_STATE_DECODING + MUSIC_PLAY_MODE_ACCOMPANY - + - REMOTE_AUDIO_STATE_FROZEN + MUSIC_PLAY_MODE_LEAD_SING - + - REMOTE_AUDIO_STATE_FAILED + PreloadState - + - REMOTE_VIDEO_STATE_STOPPED + PRELOAD_STATE_COMPLETED - + - REMOTE_VIDEO_STATE_STARTING + PRELOAD_STATE_FAILED - + - REMOTE_VIDEO_STATE_DECODING + PRELOAD_STATE_PRELOADING - + - REMOTE_VIDEO_STATE_FROZEN + PRELOAD_STATE_REMOVED - + - REMOTE_VIDEO_STATE_FAILED + MusicCacheStatusType - + - REMOTE_AUDIO_REASON_INTERNAL + MUSIC_CACHE_STATUS_TYPE_CACHED - + - REMOTE_AUDIO_REASON_NETWORK_CONGESTION + MUSIC_CACHE_STATUS_TYPE_CACHING - + - REMOTE_AUDIO_REASON_NETWORK_RECOVERY + ORIENTATION_MODE - + - REMOTE_AUDIO_REASON_LOCAL_MUTED + ORIENTATION_MODE_ADAPTIVE - + - REMOTE_AUDIO_REASON_LOCAL_UNMUTED + ORIENTATION_FIXED_LANDSCAPE - + - REMOTE_AUDIO_REASON_REMOTE_MUTED + ORIENTATION_FIXED_PORTRAIT - + - REMOTE_AUDIO_REASON_REMOTE_UNMUTED + RECORD_AUDIO - + - REMOTE_AUDIO_REASON_REMOTE_OFFLINE + CAMERA - + - REMOTE_VIDEO_STATE_REASON_INTERNAL + SCREEN_CAPTURE - + - REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION + ScreenScenarioType - + - REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY + SCREEN_SCENARIO_DOCUMENT - + - REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED + SCREEN_SCENARIO_GAMING - + - REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED + SCREEN_SCENARIO_VIDEO - + - REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED + MediaPlayerPreloadEvent - + - REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED + PLAYER_PRELOAD_EVENT_BEGIN - + - REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE + PLAYER_PRELOAD_EVENT_COMPLETE - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK + PLAYER_PRELOAD_EVENT_ERROR - - + - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY + USER_PRIORITY_HIGH - + - REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT + USER_PRIORITY_NORANL - + - RENDER_MODE_HIDDEN + QUALITY_REPORT_FORMAT_TYPE - + - RENDER_MODE_FIT + QUALITY_REPORT_JSON - + - RENDER_MODE_ADAPTIVE + QUALITY_REPORT_HTML - + - ErrorCode + QUALITY_UNKNOWN - + - OK + QUALITY_EXCELLENT - + - DEFAULT + QUALITY_GOOD - + - INVALID_ARGUMENT + QUALITY_POOR - + - INVALID_OPERATION + QUALITY_BAD - + - NETWORK_ERROR + QUALITY_VBAD - + - AUTHENTICATION_FAILED + QUALITY_DOWN - + - STREAM_NOT_FOUND + RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - + - VideoMirrorMode + RAW_AUDIO_FRAME_OP_MODE_READ_WRITE - + - AUTO + RECORDER_REASON_NONE - + - ENABLED + RECORDER_ERROR_WRITE_FAILED - + - DISABLED + RECORDER_ERROR_NO_STREAM - + - AbrFallbackLayer + RECORDER_ERROR_OVER_MAX_DURATION - + - DISABLED + RECORDER_ERROR_CONFIG_CHANGED - + - LOW + RECORDER_STATE_ERROR - + - AUDIO_ONLY + RECORDER_STATE_START - + - LAYER1 + RECORDER_STATE_STOP - + - LAYER2 + REMOTE_AUDIO_STATE_STOPPED - + - LAYER3 + REMOTE_AUDIO_STATE_STARTING - + - LAYER4 + REMOTE_AUDIO_STATE_DECODING - + - LAYER5 + REMOTE_AUDIO_STATE_FROZEN - + - LAYER6 + REMOTE_AUDIO_STATE_FAILED - + - AbrSubscriptionLayer + REMOTE_VIDEO_STATE_STOPPED - + - HIGH + REMOTE_VIDEO_STATE_STARTING - + - LOW + REMOTE_VIDEO_STATE_DECODING - + - LAYER1 + REMOTE_VIDEO_STATE_FROZEN - + - LAYER2 + REMOTE_VIDEO_STATE_FAILED - + - LAYER3 + REMOTE_AUDIO_REASON_INTERNAL - + - LAYER4 + REMOTE_AUDIO_REASON_NETWORK_CONGESTION - + - LAYER5 + REMOTE_AUDIO_REASON_NETWORK_RECOVERY - + - LAYER6 + REMOTE_AUDIO_REASON_LOCAL_MUTED - + - VideoRenderMode + REMOTE_AUDIO_REASON_LOCAL_UNMUTED - + - HIDDEN + REMOTE_AUDIO_REASON_REMOTE_MUTED - + - FIT + REMOTE_AUDIO_REASON_REMOTE_UNMUTED - + - PlayerEvent + REMOTE_AUDIO_REASON_REMOTE_OFFLINE - + - FREEZE_START + REMOTE_VIDEO_STATE_REASON_INTERNAL - + - FREEZE_STOP + REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION - + - AUTHENTICATION_WILL_EXPIRE + REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY - + - ABR_FALLBACK_TO_AUDIO_ONLY_LAYER + REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED - + - ABR_RECOVER_FROM_AUDIO_ONLY_LAYER + REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED - + - PlayerState + REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED - + - IDLE + REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED - + - OPENING + REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE - + - OPEN_COMPLETED + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK - + + - PLAYING + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY - + - PAUSED + REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT - + - PLAYBACK_COMPLETED + RENDER_MODE_HIDDEN - + - STOPPED + RENDER_MODE_FIT - + - FAILED + RENDER_MODE_ADAPTIVE @@ -11885,13 +10672,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 567589c09b6..170af666800 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -231,41 +231,6 @@ - - - - AgoraRteCanvas - - - - - - - AgoraRte - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerConfig - - - - - - - AgoraRtePlayerObserver - - - @@ -442,7 +407,7 @@ - createMediaPlayerWithDelegate: + createMediaPlayerWithDelegate: @@ -593,7 +558,13 @@ - + + + + open [2/2] + + + @@ -840,375 +811,6 @@ - - - - - addView:config:error: - - - - - - - initWithRte:initialConfig: - - - - - - - code - - - - - - - destroy: - - - - - - - message - - - - - - - autoPlay: - - - - - - - getFromBridge: - - - - - - - initWithInitialConfig: - - - - - - - initMediaEngine:error: - - - - - - - registerObserver:error: - - - - - - - unregisterObserver:error: - - - - - - - setAutoPlay:error: - - - - - - - setAppId:error: - - - - - - - setCanvas:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setAbrFallbackLayer:error: - - - - - - - setAbrSubscriptionLayer:error: - - - - - - - abrFallbackLayer: - - - - - - - abrSubscriptionLayer: - - - - - - - appId: - - - - - - - getStats: - - - - - - - videoMirrorMode: - - - - - - - videoRenderMode: - - - - - - - muteAudio: - - - - - - - muteVideo: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setConfigs:error: - - - - - - - setVideoMirrorMode:error: - - - - - - - setJsonParameter:error: - - - - - - - setJsonParameter:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getConfigs:error: - - - - - - - getInfo:error: - - - - - - - jsonParameter: - - - - - - - jsonParameter: - - - - - - - - pause: - - - - - - - play: - - - - - - - initWithRte:initialConfig: - - - - - - - preloadWithUrl:error: - - - - - - - removeView:config:error: - - - - - - - registerObserver:error: - - - - - - - pause: - - - - - - - openWithUrl:startTime:cb: - - - - - - - unregisterObserver:error: - - - - - - - - - onAudioVolumeIndication:volume: - - - - - - - onEvent: - - - - - - - onMetadata:data: - - - - - - - onPlayerInfoUpdated: - - - - - - - onResolutionChanged: - - - - - - - onStateChanged:newState:error: - - - - @@ -1429,20 +1031,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1524,34 +1112,6 @@ - - - - getFaceShapeAreaOptions: - - - - - - - getFaceShapeAreaOptions:sourceType: - - - - - - - getFaceShapeBeautyOptions - - - - - - - getFaceShapeBeautyOptions:sourceType: - - - @@ -1622,48 +1182,6 @@ - - - - setFaceShapeAreaOptions: - - - - - - - setFaceShapeAreaOptions:sourceType: - - - - - - - setFaceShapeBeautyOptions:options: - - - - - - - setFaceShapeBeautyOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options:sourceType: - - - - - - - setFilterEffectOptions:options: - - - @@ -1869,13 +1387,6 @@ - - - - takeSnapshotExWithConfig:uid:config: - - - @@ -2035,7 +1546,7 @@ - stopScreenCapture + stopScreenCapture [1/2] @@ -3593,29 +3104,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3679,13 +3167,6 @@ - - - - takeSnapshotWithConfig:config: - - - @@ -3782,7 +3263,7 @@ - getErrorDescription: + getErrorDescription: @@ -4900,13 +4381,6 @@ - - - - AgoraRteCanvasConfig - - - @@ -4970,13 +4444,6 @@ - - - - AgoraRteConfig - - - @@ -5033,13 +4500,6 @@ - - - - AgoraRteError - - - @@ -5054,27 +4514,6 @@ - - - - AgoraFaceShapeAreaOptions - - - - - - - AgoraFaceShapeBeautyOptions - - - - - - - AgoraFilterEffectOptions - - - @@ -5173,20 +4612,6 @@ - - - - AgoraMixedAudioStream - - - - - - - AgoraLocalAudioMixerConfiguration - - - @@ -5292,20 +4717,6 @@ - - - - AgoraRtePlayerInfo - - - - - - - AgoraRtePlayerStats - - - @@ -5348,13 +4759,6 @@ - - - - AgoraSnapshotConfig - - - @@ -5962,91 +5366,28 @@ - AgoraAudioEncodingTypeOPUS48000High - - - - - - - AgoraAudioTrackType - - - - - - - AgoraAudioTrackTypeMixable - - - - - - - AgoraAudioTrackTypeDirect - - - - - - - AgoraAudioSourceType - - - - - - - AgoraAudioSourceMicrophone - - - - - - - AgoraAudioSourceCustom - - - - - - - AgoraAudioSourceMediaPlayer - - - - - - - AgoraAudioSourceLoopbackRecording - - - - - - - AgoraAudioSourceMixedStream + AgoraAudioEncodingTypeOPUS48000High - + - AgoraAudioSourceRemoteUser + AgoraAudioTrackType - + - AgoraAudioSourceRemoteChannel + AgoraAudioTrackTypeMixable - + - AgoraAudioSourceTypeUnknown + AgoraAudioTrackTypeDirect @@ -7800,13 +7141,6 @@ - - - - AgoraCompressionAuto - - - @@ -7926,13 +7260,6 @@ - - - - AgoraDegradationMaintainAuto - - - @@ -8619,125 +7946,6 @@ - - - - AgoraFaceShapeArea - - - - - - - AgoraFaceShapeAreaNone - - - - - - - AgoraFaceShapeAreaHeadScale - - - - - - - AgoraFaceShapeAreaForehead - - - - - - - AgoraFaceShapeAreaFaceContour - - - - - - - AgoraFaceShapeAreaFaceLength - - - - - - - AgoraFaceShapeAreaFaceWidth - - - - - - - AgoraFaceShapeAreaCheekbone - - - - - - - AgoraFaceShapeAreaCheek - - - - - - - AgoraFaceShapeAreaChin - - - - - - - AgoraFaceShapeAreaEyeScale - - - - - - - AgoraFaceShapeAreaNoseLength - - - - - - - AgoraFaceShapeAreaNoseWidth - - - - - - - AgoraFaceShapeAreaMouthScale - - - - - - - AgoraFaceShapeStyle - - - - - - - AgoraFaceShapeStyleFemale - - - - - - - AgoraFaceShapeStyleMale - - - @@ -9951,395 +9159,241 @@ - - - - AgoraVideoOutputOrientationModeFixedPortrait - - - - - - - AgoraPermissionType - - - - - - - AgoraPermissionTypeRecordAudio - - - - - - - AgoraPermissionTypeCamera - - - - - - - AgoraMediaPlayerPreloadEvent - - - - - - - AgoraMediaPlayerPreloadEventBegin - - - - - - - AgoraMediaPlayerPreloadEventComplete - - - - - - - AgoraMediaPlayerPreloadEventError - - - - - - - AgoraNetworkQuality - - - - - - - AgoraNetworkQualityUnknown - - - - - - - AgoraNetworkQualityExcellent - - - - - - - AgoraNetworkQualityGood - - - - - - - AgoraNetworkQualityPoor - - - - - - - AgoraNetworkQualityBad - - - - - - - AgoraNetworkQualityVBad - - - - - - - AgoraNetworkQualityDown - - - - - - - AgoraNetworkQualityUnsupported - - - - - - - AgoraNetworkQualityDetecting - - - - - - - AgoraAudioRawFrameOperationMode - - - - - - - AgoraAudioRawFrameOperationModeReadOnly - - - - - - - AgoraAudioRawFrameOperationModeWriteOnly - - - - - - - AgoraAudioRawFrameOperationModeReadWrite - - - - + - AgoraAudioRemoteState + AgoraVideoOutputOrientationModeFixedPortrait - + - AgoraAudioRemoteStateStopped + AgoraPermissionType - + - AgoraAudioRemoteStateStarting + AgoraPermissionTypeRecordAudio - + - AgoraAudioRemoteStateDecoding + AgoraPermissionTypeCamera - + - AgoraAudioRemoteStateFrozen + AgoraMediaPlayerPreloadEvent - + - AgoraAudioRemoteStateFailed + AgoraMediaPlayerPreloadEventBegin - + - AgoraVideoRemoteState + AgoraMediaPlayerPreloadEventComplete - + - AgoraVideoRemoteStateStopped + AgoraMediaPlayerPreloadEventError - + - AgoraVideoRemoteStateStarting + AgoraNetworkQuality - + - AgoraVideoRemoteStateDecoding + AgoraNetworkQualityUnknown - + - AgoraVideoRemoteStateFrozen + AgoraNetworkQualityExcellent - + - AgoraVideoRemoteStateFailed + AgoraNetworkQualityGood - + - AgoraRteAbrFallbackLayer + AgoraNetworkQualityPoor - + - AgoraRteAbrFallbackDisabled + AgoraNetworkQualityBad - + - AgoraRteAbrFallbackLow + AgoraNetworkQualityVBad - + - AgoraRteAbrFallbackAudioOnly + AgoraNetworkQualityDown - + - AgoraRteAbrFallbackLayer1 + AgoraNetworkQualityUnsupported - + - AgoraRteAbrFallbackLayer2 + AgoraNetworkQualityDetecting - + - AgoraRteAbrFallbackLayer3 + AgoraAudioRawFrameOperationMode - + - AgoraRteAbrFallbackLayer4 + AgoraAudioRawFrameOperationModeReadOnly - + - AgoraRteAbrFallbackLayer5 + AgoraAudioRawFrameOperationModeWriteOnly - + - AgoraRteAbrFallbackLayer6 + AgoraAudioRawFrameOperationModeReadWrite - + - AgoraRteErrorCode + AgoraAudioRemoteState - + - AgoraRteOk + AgoraAudioRemoteStateStopped - + - AgoraRteErrorDefault + AgoraAudioRemoteStateStarting - + - AgoraRteErrorInvalidArgument + AgoraAudioRemoteStateDecoding - + - AgoraRteErrorInvalidOperation + AgoraAudioRemoteStateFrozen - + - AgoraRteErrorNetworkError + AgoraAudioRemoteStateFailed - + - AgoraRteErrorAuthenticationFailed + AgoraVideoRemoteState - + - AgoraRteErrorStreamNotFound + AgoraVideoRemoteStateStopped - + - AgoraRteVideoMirrorMode + AgoraVideoRemoteStateStarting - + - AgoraRteVideoMirrorModeAuto + AgoraVideoRemoteStateDecoding - + - AgoraRteVideoMirrorModeEnabled + AgoraVideoRemoteStateFrozen - + - AgoraRteVideoMirrorModeDisabled + AgoraVideoRemoteStateFailed @@ -10497,104 +9551,6 @@ - - - - AgoraRteAbrSubscriptionLayer - - - - - - - AgoraRteAbrSubscriptionHigh - - - - - - - AgoraRteAbrSubscriptionLow - - - - - - - AgoraRteAbrSubscriptionLayer1 - - - - - - - AgoraRteAbrSubscriptionLayer2 - - - - - - - AgoraRteAbrSubscriptionLayer3 - - - - - - - AgoraRteAbrSubscriptionLayer4 - - - - - - - AgoraRteAbrSubscriptionLayer5 - - - - - - - kRteAbrSubscriptionLayer6 - - - - - - - AgoraRteVideoRenderMode - - - - - - - AgoraRteVideoRenderModeHidden - - - - - - - AgoraRteVideoRenderModeFit - - - - - - - AgoraRtePlayerMetadataType - - - - - - - AgoraRtePlayerMetadataTypeSei - - - @@ -10756,68 +9712,6 @@ - - - - AgoraRecorderStreamType - - - - - - - AgoraRecorderStreamTypeRtc - - - - - - - AgoraRecorderStreamTypePreview - - - - - - - AgoraRtePlayerEvent - - - - - - - AgoraRtePlayerEventFreezeStart - - - - - - - AgoraRtePlayerEventFreezeStop - - - - - - - AgoraRtePlayerEventAuthenticationWillExpire - - - - - - - AgoraRtePlayerEventAbrFallbackToAudioOnlyLayer - - - - - - AgoraRtePlayerEventAbrRecoverFromAudioOnlyLayer - - - @@ -11006,69 +9900,6 @@ AgoraRtmpStreamingStateDisconnecting - - - - - AgoraRtePlayerState - - - - - - - AgoraRtePlayerStateIdle - - - - - - - AgoraRtePlayerStateOpening - - - - - - - AgoraRtePlayerStateOpenCompleted - - - - - - - AgoraRtePlayerStatePlaying - - - - - - - AgoraRtePlayerStatePaused - - - - - - - AgoraRtePlayerStatePlaybackCompleted - - - - - - - AgoraRtePlayerStateStopped - - - - - - - AgoraRtePlayerStateFailed - - @@ -11532,13 +10363,6 @@ - - - - AgoraApplicationLiveShowScenario - - - @@ -12735,4 +11559,4 @@ - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap index 14688433be3..80eba449e27 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap @@ -1136,20 +1136,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1234,6 +1220,13 @@ + + + + FocalLengthInfo + + + @@ -1252,20 +1245,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1301,27 +1280,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1529,13 +1487,6 @@ - - - - takeSnapshotWithConfigEx - - - @@ -1629,13 +1580,6 @@ - - - - setExternalMediaProjection - - - @@ -2461,13 +2405,6 @@ - - - - setExternalRemoteEglContext - - - @@ -2527,29 +2464,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -3247,7 +3161,7 @@ kMusicPlayModeLeadSing - + @@ -3538,13 +3452,6 @@ - - - - takeSnapshotWithConfig - - - @@ -4880,34 +4787,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - - - - - FocalLengthInfo - - - @@ -5020,20 +4899,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5222,13 +5087,6 @@ SimulcastStreamConfig - - - - - SnapshotConfig - - @@ -5771,69 +5629,6 @@ - - - - AudioSourceType - - - - - - - AudioSourceMicrophone - - - - - - - AudioSourceCustom - - - - - - - AudioSourceMediaPlayer - - - - - - - AudioSourceLoopbackRecording - - - - - - - AudioSourceMixedStream - - - - - - - AudioSourceRemoteUser - - - - - - - AudioSourceRemoteChannel - - - - - - - AudioSourceUnknown - - - @@ -6058,13 +5853,6 @@ - - - - PreferCompressionAuto - - - @@ -7857,13 +7645,6 @@ - - - - MaintainAuto - - - @@ -8494,125 +8275,6 @@ - - - - FaceShapeArea - - - - - - - FaceShapeAreaNone - - - - - - - FaceShapeAreaHeadscale - - - - - - - FaceShapeAreaForehead - - - - - - - FaceShapeAreaFacecontour - - - - - - - FaceShapeAreaFacelength - - - - - - - FaceShapeAreaFacewidth - - - - - - - FaceShapeAreaCheekbone - - - - - - - FaceShapeAreaCheek - - - - - - - FaceShapeAreaChin - - - - - - - FaceShapeAreaEyescale - - - - - - - FaceShapeAreaNoselength - - - - - - - FaceShapeAreaNosewidth - - - - - - - FaceShapeAreaMouthscale - - - - - - - FaceShapeBeautyStyle - - - - - - - FaceShapeBeautyStyleFemale - - - - - - - FaceShapeBeautyStyleMale - - - @@ -9313,13 +8975,6 @@ - - - - MediaDeviceStatePluggedIn - - - @@ -10475,27 +10130,6 @@ - - - - RecorderStreamType - - - - - - - Rtc - - - - - - - Preview - - - @@ -11133,13 +10767,6 @@ - - - - ApplicationScenarioLiveshow - - - @@ -11231,7 +10858,7 @@ - + VideoDenoiserLevelStrength diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap index 3dd95163ec8..8480f2f4bbc 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unity.ditamap @@ -1089,20 +1089,6 @@ - - - - SetLocalRenderTargetFps - - - - - - - SetRemoteRenderTargetFps - - - @@ -1191,20 +1177,6 @@ - - - - GetFaceShapeAreaOptions - - - - - - - GetFaceShapeBeautyOptions - - - @@ -1212,13 +1184,6 @@ - - - - SetLocalVideoDataSourcePosition - - - @@ -1247,27 +1212,6 @@ - - - - SetFaceShapeAreaOptions - - - - - - - SetFaceShapeBeautyOptions - - - - - - - SetFilterEffectOptions - - - @@ -1555,14 +1499,7 @@ - TakeSnapshotEx [1/2] - - - - - - - TakeSnapshotEx [2/2] + TakeSnapshotEx @@ -1666,13 +1603,6 @@ - - - - SetExternalMediaProjection - - - @@ -2572,13 +2502,6 @@ - - - - SetExternalRemoteEglContext - - - @@ -2638,29 +2561,6 @@ - - - - - StartLocalAudioMixer - - - - - - - StopLocalAudioMixer - - - - - - - UpdateLocalAudioMixerConfiguration - - - - @@ -3397,14 +3297,14 @@ - + SetRecordingDeviceMute - + GetRecordingDeviceMute @@ -3775,14 +3675,7 @@ - TakeSnapshot [1/2] - - - - - - - TakeSnapshot [2/2] + TakeSnapshot @@ -4704,7 +4597,7 @@ - SendMetadata + SendMetaData @@ -5130,27 +5023,6 @@ ExtensionContext - - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - @@ -5278,20 +5150,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5497,13 +5355,6 @@ - - - - SnapshotConfig - - - @@ -7025,13 +6876,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -7074,69 +6918,6 @@ - - - - AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -7249,13 +7030,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8082,13 +7856,6 @@ - - - - MAINTAIN_AUTO - - - @@ -8782,125 +8549,6 @@ - - - - FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_MALE - - - @@ -9419,13 +9067,6 @@ - - - - LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_FAILURE - - - @@ -9601,13 +9242,6 @@ - - - - MEDIA_DEVICE_STATE_PLUGGED_IN - - - @@ -11050,27 +10684,6 @@ - - - - RecorderStreamType - - - - - - - RTC - - - - - - - PREVIEW - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap index 03158390efc..7380987015b 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-unreal.ditamap @@ -1166,20 +1166,6 @@ - - - - setLocalRenderTargetFps - - - - - - - setRemoteRenderTargetFps - - - @@ -1275,20 +1261,6 @@ - - - - getFaceShapeAreaOptions - - - - - - - getFaceShapeBeautyOptions - - - @@ -1324,27 +1296,6 @@ - - - - setFaceShapeAreaOptions - - - - - - - setFaceShapeBeautyOptions - - - - - - - setFilterEffectOptions - - - @@ -1592,13 +1543,6 @@ - - - - takeSnapshotEx [2/2] - - - @@ -1741,13 +1685,6 @@ - - - - setExternalMediaProjection - - - @@ -2674,13 +2611,6 @@ - - - - setExternalRemoteEglContext - - - @@ -2754,29 +2684,6 @@ - - - - - startLocalAudioMixer - - - - - - - stopLocalAudioMixer - - - - - - - updateLocalAudioMixerConfiguration - - - - @@ -4048,13 +3955,6 @@ - - - - takeSnapshot [2/2] - - - @@ -5444,27 +5344,6 @@ - - - - FaceShapeAreaOptions - - - - - - - FaceShapeBeautyOptions - - - - - - - FilterEffectOptions - - - @@ -5598,20 +5477,6 @@ - - - - MixedAudioStream - - - - - - - LocalAudioMixerConfiguration - - - @@ -5843,13 +5708,6 @@ - - - - SnapshotConfig - - - @@ -6384,69 +6242,6 @@ - - - - AUDIO_SOURCE_TYPE - - - - - - - AUDIO_SOURCE_MICROPHONE - - - - - - - AUDIO_SOURCE_CUSTOM - - - - - - - AUDIO_SOURCE_MEDIA_PLAYER - - - - - - - AUDIO_SOURCE_LOOPBACK_RECORDING - - - - - - - AUDIO_SOURCE_MIXED_STREAM - - - - - - - AUDIO_SOURCE_REMOTE_USER - - - - - - - AUDIO_SOURCE_REMOTE_CHANNEL - - - - - - - AUDIO_SOURCE_UNKNOWN - - - @@ -6741,13 +6536,6 @@ - - - - PREFER_COMPRESSION_AUTO - - - @@ -8512,13 +8300,6 @@ - - - - MAINTAIN_AUTO - - - @@ -9149,125 +8930,6 @@ - - - - FACE_SHAPE_AREA - - - - - - - FACE_SHAPE_AREA_NONE - - - - - - - FACE_SHAPE_AREA_HEADSCALE - - - - - - - FACE_SHAPE_AREA_FOREHEAD - - - - - - - FACE_SHAPE_AREA_FACECONTOUR - - - - - - - FACE_SHAPE_AREA_FACELENGTH - - - - - - - FACE_SHAPE_AREA_FACEWIDTH - - - - - - - FACE_SHAPE_AREA_CHEEKBONE - - - - - - - FACE_SHAPE_AREA_CHEEK - - - - - - - FACE_SHAPE_AREA_CHIN - - - - - - - FACE_SHAPE_AREA_EYESCALE - - - - - - - FACE_SHAPE_AREA_NOSELENGTH - - - - - - - FACE_SHAPE_AREA_NOSEWIDTH - - - - - - - FACE_SHAPE_AREA_MOUTHSCALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_FEMALE - - - - - - - FACE_SHAPE_BEAUTY_STYLE_MALE - - - @@ -10052,7 +9714,7 @@ - + MEDIA_DEVICE_STATE_PLUGGED_IN @@ -11431,27 +11093,6 @@ - - - - RecorderStreamType - - - - - - - RTC - - - - - - - PREVIEW - - - @@ -12152,13 +11793,6 @@ - - - - APPLICATION_SCENARIO_LIVESHOW - - - @@ -13881,4 +13515,4 @@ - + \ No newline at end of file diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap index 4a86d4efba1..0175a31e6d3 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap @@ -101,12 +101,5 @@ - - - - Support 16 KB page sizes - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-links.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-links.ditamap index c9a49400338..0ba457c5cf4 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-links.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-links.ditamap @@ -27,20 +27,6 @@ - - - - show room - - - - - - - one to one live - - - @@ -78,12 +64,5 @@ - - - - Support 16 KB page sizes - - - diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 6f3e9b5ec54..492afe0588e 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -1,93 +1,53 @@ - v4.5.0 + v4.4.0 -

                                      This version was released on November x, 2024.

                                      +

                                      This version was released on July x, 2024.

                                      <topic id="compatibility"> <title>Compatibility changes -

                                      This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release.

                                      - -

                                      As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the libaosl.so library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the libaosl.so library to avoid conflicts. The libaosl.so library version in RTC SDK v4.5.0 is 1.2.13.

                                      -

                                      As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the aosl.xcframework library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the aosl.xcframework library to avoid conflicts. The aosl.xcframework library version in RTC SDK v4.5.0 is 1.2.13. You can check the version in the Info.plist file.

                                      -

                                      As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the aosl.dll library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the aosl.dll library to avoid conflicts. The aosl.dll library version in RTC SDK v4.5.0 is 1.2.13. You can check the version by viewing the aosl.dll file properties.

                                      -
                                      +

                                      This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. + + Starting from v4.4.0, the RTC SDK provides an API sunset notice, which includes information about deprecated and removed APIs in each version. See API Sunset NoticeAPI Sunset NoticeAPI Sunset NoticeAPI Sunset Notice.

                                        -
                                      1. Member Parameter Type Changes -

                                        To enhance the adaptability of various frameworks to the Native SDK, this version has made the following modifications to some API members or parameters: - This version has made the following modifications to some API members or parameters: - - - - - - - - API - Members/Parameters - Change - - - - - - displayId - Changed from uint32_t to int64_t - - - - windowId - Changed from view_t to int64_t - - - - displayId - Changed from uint32_t to int64_t - - - windowId - Changed from view_t to int64_t - - - - sourceDisplayId - Changed from view_t to int64_t - - - sourceId - Default value changed from nullptr to 0 - - - -

                                        -
                                      2. -
                                      3. Automatic installation of virtual sound card (macOS) -

                                        Starting from this version, the SDK supports the automatic installation of a virtual sound card. When you call for the first time, the SDK will automatically install the AgoraALD, a virtual sound card developed by Agora. Once the installation is successful, the audio routing will automatically switch to the virtual sound card, and the virtual sound card will be used for audio capture.

                                        -
                                      4. -
                                      5. Changes in strong video denoising implementation -

                                        This version adjusts the implementation of strong video denoising.

                                        -

                                        The removes .

                                        -

                                        The enumeration is removed.

                                        -

                                        Instead, after enabling video denoising by calling , you can call the method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in .

                                        -

                                        Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in .

                                        +
                                      6. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through in each callback. + + + Original callback + Current callback + + + onExtensionEvent + + + + onExtensionStarted + + + + onExtensionStopped + + + + onExtensionError + + +
                                      7. -
                                      8. Changes in camera plug and unplug status (macOS, Windows) -

                                        In previous versions, when the camera was unplugged and replugged, the callback would report the device status as (1) (device in use). Starting from this version, after the camera is replugged, the device status will change to (0) (device ready).

                                        -

                                        In previous versions, the camera would not automatically resume capture after being unplugged and replugged. Starting from this version, the camera will automatically resume capture after being replugged.

                                        -
                                      9. -
                                      10. Changes in video encoding preferences -

                                        To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: -

                                          -
                                        • In the enumeration class, a new (-1) enumeration is added, replacing the original (1) as the default value. In this mode, the SDK will automatically choose between or based on your video scene settings to achieve the best user experience.
                                        • -
                                        • In the enumeration class, a new (-1) enumeration is added, replacing the original (1) as the default value. In this mode, the SDK will automatically choose between , , or based on your video scene settings to achieve the optimal overall quality experience (QoE).
                                        • -

                                        -
                                      11. -
                                      12. 16 KB memory page size (Android) -

                                        Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in . To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes.

                                        +
                                      13. Before v4.4.0, when a user role was set to audience and called to set the audio scenario to chatroom (), the user would see a microphone permission request popup. As of v4.4.0, the SDK uses native iOS APIs to control the microphone, so audience members in a chatroom scenario will no longer receive the microphone permission request popup.
                                      14. +
                                      15. This version renames the receiveMetadata callback to and removes the data and timeStamp parameters. You can get metadata-related information, including timeStamp (timestamp of the sent data), uid (user ID), and channelId (channel name) through the newly-added metadata parameter.
                                      16. +
                                      17. This version removes the buffer, uid, and timeStampMs parameters of the callback. You can get metadata-related information, including timeStampMs (timestamp of the sent data), uid (user ID), and channelId (channel name) through the newly-added metadata parameter.
                                      18. +
                                      19. This version renames the following members in : +
                                          +
                                        • d3d11_texture_2d is renamed to d3d11Texture2d.
                                        • +
                                        • texture_slice_index is renamed to textureSliceIndex.
                                        • +
                                        • metadata_buffer is renamed to metadataBuffer.
                                        • +
                                        • metadata_size is renamed to metadataSize.
                                        • +
                                      @@ -96,55 +56,29 @@ New features
                                        -
                                      1. Advanced beauty effects -

                                        This version introduces the following two advanced beauty features: -

                                          -
                                        • Face shaping: By calling the method, you can enhance various parts of the face. You can use preset templates to achieve effects such as face slimming, eye enlargement, and nose slimming in one go, and fine-tune the overall enhancement intensity. If the preset face shaping effects do not meet your needs, you can call the method to set face shaping area options and fine-tune each part of the face for more precise face shaping effects.
                                        • -
                                        • Makeup: By calling the method with specified parameters, you can achieve makeup effects such as eyeshadow, contact lenses, eyeliner, eyebrows, lip gloss, and blush.
                                        • -
                                        - For implementation steps of face shaping and makeup, see . - Currently, advanced beauty features are free for a limited time. For details, see . -

                                        -
                                      2. -
                                      3. Live show scenario -

                                        This version adds the (3) (Live Show) enumeration to the . You can call to set the video business scenario to show room. In this scenario, fast video rendering and high image quality are crucial. The SDK implements several performance optimizations, such as enabling accelerated audio and video frame rendering to minimize first-frame latency (no need to call ) to achieve better image quality and bandwidth efficiency.

                                        -
                                      4. -
                                      5. Maximum frame rate for video rendering -

                                        This version adds the and methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible.

                                        -

                                        In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance.

                                        +
                                      6. Lite SDK +

                                        Starting from this version, Agora introduces the Lite SDK, which includes only the basic audio and video capabilities and partially cuts advanced features, effectively reducing the app size after integrating the SDK.

                                        +
                                          +
                                        • Lite SDK supports manual integration or third-party repository integration. For details, see and .
                                        • +
                                        • For information on dynamic libraries included in the Lite SDK, see .
                                        • +
                                        • For the list of APIs supported by the Lite SDK, see Lite SDK API ListLite SDK API List.
                                        • +
                                        • For the limitations and precautions when using the Lite SDK to play media files, please refer to Which audio file formats are supported by RTC SDK?
                                        • +
                                      7. +
                                      8. Alpha transparency effects +

                                        This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.:

                                        +
                                          +
                                        • and add the alphaBuffer member: Sets the Alpha channel data.
                                        • +
                                        • adds the fillAlphaBuffer member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into alphaBuffer.
                                        • +
                                        • and add the alphaStitchMode member: Sets the relative position of alphaBuffer and video frame stitching.
                                        • +
                                        +

                                        Additionally, adds a new member encodeAlpha, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call to set the video encoding properties and set encodeAlpha to .

                                      9. -
                                      10. Watching live streaming through URLs -

                                        As of this version, audience members can directly open a specific URL to play the real-time media stream through , instead of joining a channel and subscribing to the streams of hosts, which greatly simplifies the API calls for the audience end to watch a live stream.

                                        -
                                      11. -
                                      12. Filter effects -

                                        This version introduces the method. You can pass a cube map file (.cube) in the config parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in built_in_whiten_filter.cube file for quickly achieving a whitening filter effect.

                                        -
                                      13. -
                                      14. Local audio mixing -

                                        This version introduces the local audio mixing feature. You can call the method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the method to stop local audio mixing. During the mixing process, you can call the method to update the configuration of the audio streams being mixed.

                                        -

                                        Example use cases for this feature include: -

                                          -
                                        • By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published.
                                        • -
                                        • In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels.
                                        • -
                                        • In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels.
                                        • -
                                        -

                                        -
                                      15. -
                                      16. External MediaProjection (Android) -

                                        This version introduces the method, which allows you to set an external MediaProjection and replace the MediaProjection applied by the SDK.

                                        -

                                        If you have the capability to apply for MediaProjection on your own, you can use this feature to achieve more flexible screen capture.

                                        +
                                      17. Voice AI tuner +

                                        This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the method and passing in the sound effect types supported in the enum to achieve effects like deep voice, cute voice, husky singing voice, etc.

                                      18. -
                                      19. EGL context (Android) -

                                        This version introduces the method, which is used to set the EGL context for rendering remote video streams. When using Texture format video data for remote video self-rendering, you can use this method to replace the SDK's default remote EGL context, achieving unified EGL context management.

                                        +
                                      20. 1v1 video call scenario +

                                        This version adds (1v1 video call) in . You can call to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions.

                                      21. -
                                      22. Color space settings -

                                        This version adds the colorSpace parameter to and . You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing.

                                        -
                                      23. -
                                      24. Others -
                                          -
                                        • callback adds the enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). (Windows)
                                        • -
                                        • adds the enumeration, indicating that the device has been plugged in. (Windows)
                                        • -
                                        -
                                      @@ -152,54 +86,46 @@ Improvements
                                        -
                                      1. Virtual background algorithm optimization -

                                        This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames.

                                        -
                                      2. -
                                      3. Record local preview video -

                                        This version adds the type member to . When calling , you can specify the type of video stream to be recorded as the local preview video stream through this member. You can set parameters such as height, width, frame rate, and sampling rate of the preview video in , and then call to start recording the local preview video.

                                        -
                                      4. -
                                      5. Snapshot at specified video observation points -

                                        This version introduces the and methods. You can use the config parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects.

                                        -
                                      6. -
                                      7. Custom audio capture improvements -

                                        This version adds the enableAudioProcessing member parameter to , which is used to control whether to enable 3A audio processing for custom audio capture tracks of the AUDIO_TRACK_DIRECT type. The default value of this parameter is , meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing.

                                        -
                                      8. -
                                      9. Other Improvements -
                                          -
                                        • In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. (Android, iOS)
                                        • -
                                        • Optimizes the logic for calling to obtain device score levels, improving the accuracy of the score results.
                                        • -
                                        • Supports using virtual cameras in YV12 format as video capture devices. (Windows)
                                        • -
                                        • After calling to disable local audio capture within the channel, the mute side button on the phone can be used to mute the background sound effects played by the app. (iOS)
                                        • -
                                        • When calling to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the callback will report the event, indicating an error occurred during media resource switching.
                                        • -
                                        • When calling to set the playback speed of an audio file, the minimum supported speed is 0.3x.
                                        • -
                                        -
                                      10. +
                                      11. Adaptive hardware decoding support (Android, Windows) +

                                        This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load.

                                        +
                                      12. +
                                      13. Rendering performance enhancement (Windows) +

                                        DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities.

                                        +
                                      14. +
                                      15. Facial region beautification +

                                        To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously.

                                        +
                                      16. +
                                      17. Other improvements +

                                        This version also includes the following improvements: +

                                          +
                                        • Optimizes the parameter types of the following APIs. These improvements enhance code readability, reduce potential errors, and facilitate future maintenance. +
                                            +
                                          • Deprecates the option parameter of type int in , and adds an overloaded function with the option parameter of type .
                                          • +
                                          • Deprecates the streamType parameter of type int in , , and , and adds overloaded functions , , and with the streamType parameter of type .
                                          • +
                                        • +
                                        • Optimizes transmission strategy: calling no longer impacts the security of the transmission link.
                                        • +
                                        • The enumerator is added in callback , indicating that the display used for screen capture has been disconnected. (Windows, macOS)
                                        • +
                                        • Optimizes the video link for window sharing, reducing CPU usage. (macOS)
                                        • +
                                        • Improves echo cancellation for screen sharing scenarios.
                                        • +
                                        • Adds the channelId parameter to , which is used to get the channel name from which the metadata is sent.
                                        • +
                                        • Deprecates redundant enumeration values and in .
                                        • +
                                        • Deprecates redundant enumeration values and .
                                        • +

                                        +
                                      - - Issues fixed - -

                                      This version fixes the following issues:

                                      -
                                        -
                                      • When calling to share the screen, the window capture area specified by regionRect was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. (Windows)
                                      • -
                                      • When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. (Android, iOS)
                                      • -
                                      • Occasional noise and stuttering when playing music resources from the music content center. (Android)
                                      • -
                                      • Occasional stuttering when playing accompaniment music through without microphone permission in the app. (Android)
                                      • -
                                      • During audio and video interaction, after being interrupted by a system call, the user volume reported by the callback was incorrect. (Android)
                                      • -
                                      • When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling (uid, false) after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. (Android)
                                      • -
                                      • Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. (Windows)
                                      • -
                                      • When calling or to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback is not triggered when the audio device is removed, which is not as expected. (Windows)
                                      • -
                                      • Occasional instances where the receiving end cannot hear the sender during audio and video interaction. (iOS)
                                      • -
                                      • During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. (iOS)
                                      • -
                                      • In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. (iOS)
                                      • -
                                      • No sound when playing online media resources using the media player after the app starts. (iOS)
                                      • -
                                      • Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. (iOS)
                                      • -
                                      • Calling and then immediately calling to pause the music file playback does not take effect.
                                      • -
                                      • Calling and then immediately calling to pause the music file playback does not take effect.
                                      • -
                                      • Occasional crashes during audio and video interaction. (Android)
                                      • -
                                      - -
                                      + + Issues fixed + +

                                      This release fixed the following issues:

                                      +
                                        +
                                      • Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS)
                                      • +
                                      • Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS)
                                      • +
                                      • After the sender called to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS)
                                      • +
                                      • Audio playback failed when pushing external audio data using and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz.
                                      • +
                                      + +
                                      diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-01.png b/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-01.png deleted file mode 100755 index eb9243b33a7..00000000000 Binary files a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-01.png and /dev/null differ diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-02.png b/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-02.png deleted file mode 100755 index b91e2b74887..00000000000 Binary files a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-02.png and /dev/null differ diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-03.png b/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-03.png deleted file mode 100755 index e72eec30b00..00000000000 Binary files a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-03.png and /dev/null differ diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-04.png b/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-04.png deleted file mode 100755 index 6ef339d33c1..00000000000 Binary files a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-04.png and /dev/null differ diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-05.png b/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-05.png deleted file mode 100755 index 4034c0b8369..00000000000 Binary files a/markdown/RTC 4.x/release-notes/en-US/framework/img/rtc/ue-bp-release440-05.png and /dev/null differ diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_bluerprint_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_bluerprint_ng.md index f6ffaa32717..18f52a267d2 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_bluerprint_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_bluerprint_ng.md @@ -1,222 +1,6 @@ -## Known issues +## v4.2.1 -**Audio module incompatibility (iOS)** - -The audio module of the Agora Unreal SDK is incompatible with the AudioMixer module in Unreal Engine 5.3 and 5.4. If you use Unreal Engine 5.3 or 5.4, you need to add the following code to the `/Config/IOS/IOSEngine.ini` file in your project to disable Unreal Engine’s AudioMixer module and avoid conflicts. - -```ini -[Audio] -AudioMixerModuleName= -``` - -## v4.5.0 -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -**Changes in strong video denoising implementation** -This version adjusts the implementation of strong video denoising. The `EUABT_VIDEO_DENOISER_LEVEL` removes the `VIDEO_DENOISER_LEVEL_STRENGTH` enumeration. Instead, after enabling video denoising by calling `SetVideoDenoiserOptions`, you can call the `SetBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `SetVideoDenoiserOptions`. - -Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `SetLowlightEnhanceOptions`. - -**Changes in camera plug and unplug status (macOS, Windows)** - -In previous versions, when the camera was unplugged and replugged, the OnVideoDeviceStateChanged callback would report the device status as `MEDIA_DEVICE_STATE_ACTIVE(1)` (device in use). Starting from this version, after the camera is replugged, the device status will change to `MEDIA_DEVICE_STATE_IDLE(0)` (device ready). - -**Changes in video encoding preferences** - -To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: -- In the `ECOMPRESSION_PREFERENCE` enumeration class, a new `PREFER_COMPRESSION_AUTO (-1)` enumeration is added, replacing the original `PREFER_QUALITY (1)` as the default value. In this mode, the SDK will automatically choose between `PREFER_LOW_LATENCY` or `PREFER_QUALITY` based on your video scene settings to achieve the best user experience. -- In the `EUABT_DEGRADATION_PREFERENCE` enumeration class, a new `MAINTAIN_AUTO (-1)` enumeration is added, replacing the original `MAINTAIN_QUALITY (1)` as the default value. In this mode, the SDK will automatically choose between `MAINTAIN_FRAMERATE`, `MAINTAIN_BALANCED`, or `MAINTAIN_RESOLUTION` based on your video scene settings to achieve the optimal overall quality experience (QoE). - - -**16 KB memory page size (Android)** - -Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in [Support 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes). To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes. - - -#### New features - -**Live show scenario** - -This version adds the `APPLICATION_SCENARIO_LIVESHOW(3)` (Live Show) enumeration to the `EVIDEO_APPLICATION_SCENARIO_TYPE`. You can call `SetVideoScenario` to set the video business scenario to show room. In this scenario, fast video rendering and high image quality are crucial. The SDK implements several performance optimizations, such as enabling accelerated audio and video frame rendering to minimize first-frame latency (no need to call `EnableInstantMediaRendering`) to achieve better image quality and bandwidth efficiency. - -**Maximum frame rate for video rendering** - -This version adds the `SetLocalRenderTargetFps` and `SetRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - -In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -**Filter effects** - -This version introduces the `SetFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -**Others** - -- The `OnLocalVideoStateChanged` callback adds the `LOCAL_VIDEO_STREAM_REASON_DEVICE_DISCONNECTED` enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). (Windows) -- The `EMEDIA_DEVICE_STATE_TYPE` adds the `MEDIA_DEVICE_STATE_PLUGGED_IN` enumeration, indicating that the device has been plugged in. (Windows) - -#### Improvements - -**Virtual background algorithm optimization** - -This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -**Snapshot at specified video observation points** - -This version introduces the `TakeSnapshotWithConfig` and `TakeSnapshotWithConfigEx` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -**Others** - -- In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. (Android, iOS) -- Optimizes the logic for calling `QueryDeviceScore` to obtain device score levels, improving the accuracy of the score results. -- Supports using virtual cameras in YV12 format as video capture devices. (Windows) -- When calling `SwitchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `OnPlayerEvent` callback will report the `PLAYER_EVENT_SWITCH_ERROR` event, indicating an error occurred during media resource switching. -- When calling `SetPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Issues fixed - -This version fixes the following issues: - -- When calling `StartScreenCaptureByWindowId` to share the screen, the window capture area specified by `regionRect` was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. (Windows) -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. (Android, iOS) -- During audio and video interaction, after being interrupted by a system call, the user volume reported by the `OnAudioVolumeIndication` callback was incorrect. (Android) -- When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling `MuteRemoteVideoStream(uid, false)` after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. (Android) -- Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. (Windows) -- When calling `FollowSystemRecordingDevice` or `FollowSystemPlaybackDevice` to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback `OnLocalAudioStateChanged` is not triggered when the audio device is removed, which is not as expected. (Windows) -- Occasional instances where the receiving end cannot hear the sender during audio and video interaction. (iOS) -- During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. (iOS) -- In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. (iOS) -- No sound when playing online media resources using the media player after the app starts. (iOS) -- Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. (iOS) -- Calling `StartAudioMixing` and then immediately calling `PauseAudioMixing` to pause the music file playback does not take effect. -- Occasional crashes during audio and video interaction. (Android) - -## v4.4.0 - -This version releases on August xx, 2024. - -#### Compatibility changes - -This version simplifies the way methods are called and callbacks are implemented in Blueprints. - -**1. Method calls** - -In this version, there is no need to manually maintain instance variables. You can directly retrieve the desired class at any point in your Blueprint using the `Get` node, and connect the appropriate function nodes to complete the call. This improvement makes calling methods in Blueprints more convenient and streamlines the development process. - -![](img/rtc/ue-bp-release440-01.png) - -The image below demonstrates how to obtain the [`IRtcEngine`](/api-ref/rtc/unreal-blueprint/API/rtc_interface_class#class_irtcengine) instance through the [`GetAgoraRtcEngine`](/api-ref/rtc/unreal-blueprint/API/toc_initialize#api_createagorartcengine) node and connect it to the [`Initialize`](/api-ref/rtc/unreal-blueprint/API/toc_initialize#api_irtcengine_initialize) node to perform the initialization. - -![](img/rtc/ue-bp-release440-02.png) - - -**2. Callback implementation** - -This version introduces the concept of `CallbackExecutor`. You can bind the corresponding `CallbackExecutor` in Blueprints using the `EventHandler`, allowing for the execution of callbacks. This improvement offers the following advantages: - -- Callback implementation is more convenient. -- Enhanced security, with bound callbacks executing without causing crashes when destroyed. -- Easier reuse and code management. - -![](img/rtc/ue-bp-release440-03.png) - -The image below demonstrates how to obtain the `EventHandler` through the [`GetEventHandler`](/api-ref/rtc/unreal-blueprint/API/toc_initialize#api_irtcengine_geteventhandler) node and connect it to the [`AddBlueprintCallbackExecutor`](/api-ref/rtc/${frontMatter.ag_platform}/API/toc_initialize#api_irtcengine_addblueprintcallbackexecutor) node to bind the specified `CallbackExecutor`, thereby executing the related callbacks under the [`IRtcEngineEventHandler`](/api-ref/rtc/unreal-blueprint/API/rtc_interface_class#class_irtcengineeventhandler) interface class. - -![](img/rtc/ue-bp-release440-04.png) - - -#### New features - -1. **Voice AI tuner** - - This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `EnableVoiceAITuner` method and passing in the sound effect types supported in the `EVOICE_AI_TUNER_TYPE` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. - -2. **Privacy manifest file (iOS)** - - To meet Apple's safety compliance requirements for app publication, the SDK now includes a privacy manifest file, `PrivacyInfo.xcprivacy`, detailing the SDK's API calls that access or use user data, along with a description of the types of data collected. - - **Note:** If you need to publish an app with SDK versions prior to v4.4.0 to the Apple App Store, you must manually add the `PrivacyInfo.xcprivacy` file to your Xcode project. - -3. **Multi-camera capture (Android)** - - This release introduces additional functionalities for Android camera capture: - - 1. Support for capturing and publishing video streams from the third and fourth cameras: - - - `VIDEO_SOURCE_CAMERA_THIRD` (11) and `VIDEO_SOURCE_CAMERA_FOURTH` (12) in `EVIDEO_SOURCE_TYPE` add support for Android, specifically for the third and fourth camera sources. This change allows you to specify up to four camera streams when initiating camera capture by calling `StartCameraCapture`. - - `publishThirdCameraTrack` and `publishFourthCameraTrack` in `FChannelMediaOptions` add support for Android. Set these parameters to `true` when joining a channel with `JoinChannelWithOptions` to publish video streams captured from the third and fourth cameras. - - 2. Support for specifying cameras by camera ID: - - A new parameter `cameraId` is added to `FCameraCapturerConfiguration`. For devices with multiple cameras, where `cameraDirection` cannot identify or access all available cameras, you can obtain the camera ID through Android's native system APIs and specify the desired camera by calling `StartCameraCapture` with the specific `cameraId`. - -4. **Select different audio tracks for local playback and streaming** - - This release introduces the `SelectMultiAudioTrack` method that allows you to select different audio tracks for local playback and streaming to remote users. For example, in scenarios like online karaoke, the host can choose to play the original sound locally and publish the accompaniment in the channel. Before using this function, you need to open the media file through the `OpenWithMediaSource` method and enable this function by setting the `EnableMultiAudioTrack` parameter in `FAgoraMediaSource`. - -5. **Update video screenshot and upload** - - To facilitate the integration of third-party video moderation services from Agora Extensions Marketplace, this version has the following changes: - - - The `CONTENT_INSPECT_IMAGE_MODERATION` enumeration is added in `ECONTENT_INSPECT_TYPE` which means using video moderation extensions from Agora Extensions Marketplace to take video screenshots and upload them. - - An optional parameter `serverConfig` is added in `FContentInspectConfig`, which is for server-side configuration related to video screenshot and upload via extensions from Agora Extensions Marketplace. By configuring this parameter, you can integrate multiple third-party moderation extensions and achieve flexible control over extension switches and other features. For more details, please contact [technical support](mailto:support@agora.io). - - Additionally, this version introduces the `EnableContentInspectEx` method, which supports simultaneous screenshot and upload of multiple video streams. - -6. **Wildcard token** - - This release introduces wildcard tokens. Agora supports setting the channel name used for generating a token as a wildcard character. The token generated can be used to join any channel if you use the same user id. In scenarios involving multiple channels, such as switching between different channels, using a wildcard token can avoid repeated application of tokens every time users joining a new channel, which reduces the pressure on your token server. See [Wildcard tokens](https://docportal.shengwang.cn/cn/live-streaming-premium-4.x/wildcard_token?platform=All%20Platforms). - -
                                      All 4.x SDKs support using wildcard tokens.
                                      - -7. **Preloading channels** - - This release adds `PreloadChannel` and `PreloadChannelWithUserAccount` methods, which allows a user whose role is set as audience to preload channels before joining one. Calling the method can help shortening the time of joining a channel, thus reducing the time it takes for audience members to hear and see the host. - - When preloading more than one channels, Agora recommends that you use a wildcard token for preloading to avoid repeated application of tokens every time you joining a new channel, thus saving the time for switching between channels. See [Wildcard tokens](https://docportal.shengwang.cn/cn/live-streaming-premium-4.x/wildcard_token?platform=All%20Platforms). - -8. **Publishing video streams from different sources** (Windows, macOS) - - This release adds the following members in `FChannelMediaOptions` to allow you publish video streams captured from the third and fourth camera or screen: - - - `publishThirdCameraTrack`: Publishing the video stream captured from the third camera. - - `publishFourthCameraTrack`: Publishing the video stream captured from the fourth camera. - - `publishThirdScreenTrack`: Publishing the video stream captured from the third screen. - - `publishFourthScreenTrack`: Publishing the video stream captured from the fourth screen. - -
                                      For one RtcConnection, Agora supports publishing multiple audio streams and one video stream at the same time.
                                      - -#### Improvements - -1. **Improved rendering usability** - - When using the UImage widget, you can control the size of the displayed image by setting the properties of the Brush. Starting from this version, the **Size To Content** option is supported, allowing UImage to automatically adjust to the size of the incoming video frames from the remote end. This improvement enhances the usability of image rendering. - - ![](img/rtc/ue-bp-release440-05.png) - -2. **Channel media relay** - - The number of target channels for media relay has been increased to 6. When calling `StartOrUpdateChannelMediaRelay` and `StartOrUpdateChannelMediaRelayEx`, you can specify up to 6 target channels. - -#### Issues fixed - -In Unreal Engine 5.3 and 5.4, adding the following code to the `/Source/xxx.Target.cs` file in your project to solve iOS memory allocation issues may lead to missing iOS compilation symbols. To address this issue, this version adds three function definitions (`StdMalloc`, `StdRealloc`, and `StdFree`) related to the standard library in the `UnrealMemory.cpp` file, ensuring proper handling of memory management needs when using the standard memory allocator. (iOS) - -```csharp -if (Target.Platform == UnrealTargetPlatform.IOS) -{ - bOverrideBuildEnvironment = true; - GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1"); -} -``` - - -## v4.2.1 - -This version was released on October xx, 2023. +This version was released on October xx, 2023. This is the first release of Video SDK for Unreal Blueprint. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md index 43685b145da..ed1fbb00023 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_electron_ng.md @@ -1,159 +1,3 @@ -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. - - The `VideoDenoiserLevel` removes `VideoDenoiserLevelStrength`. - - Instead, after enabling video denoising by calling `setVideoDenoiserOptions`, you can call the `setBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions`. - -2. **Changes in camera plug and unplug status** - - In previous versions, when the camera was unplugged and replugged, the `onVideoDeviceStateChanged` callback would report the device status as MediaDeviceStateActive(1) (device in use). Starting from this version, after the camera is replugged, the device status will change to `MediaDeviceStateIdle`(0) (device ready). - -3. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `CompressionPreference` enumeration class, a new `PreferCompressionAuto` (-1) enumeration is added, replacing the original `PreferQuality` (1) as the default value. In this mode, the SDK will automatically choose between `PreferLowLatency` or `PreferQuality` based on your video scene settings to achieve the best user experience. - - In the `DegradationPreference` enumeration class, a new `MaintainAuto` (-1) enumeration is added, replacing the original `MaintainQuality` (1) as the default value. In this mode, the SDK will automatically choose between `MaintainFramerate`, `MaintainBalanced`, or `MaintainResolution` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -#### New features - -1. **Live show scenario** - - This version adds the `ApplicationScenarioLiveshow`(3) (Live Show) enumeration to the `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video business scenario to show room. In this scenario, fast video rendering and high image quality are crucial. The SDK implements several performance optimizations, such as enabling accelerated audio and video frame rendering to minimize first-frame latency (no need to call `enableInstantMediaRendering`) to achieve better image quality and bandwidth efficiency. - -2. **Maximum frame rate for video rendering** - - This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Filter effects** - - This version introduces the `setFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -4. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: - - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -5. **Color space settings** - - This version adds the `colorSpace` parameter to `VideoFrame` and `ExternalVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -6. **Others** - - - `onLocalVideoStateChanged` callback adds the `LocalVideoStreamReasonDeviceDisconnected` enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). (Windows) - - `MediaDeviceStateType` adds the `MediaDeviceStatePluggedIn` enumeration, indicating that the device has been plugged in. (Windows) - -#### Improvements - -1. **Virtual background algorithm optimization** - - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -2. **Snapshot at specified video observation points** - - This version introduces the `takeSnapshotWithConfig` and `takeSnapshotWithConfigEx` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `false`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Other Improvements** - - - Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - Supports using virtual cameras in YV12 format as video capture devices. (Windows) - - When calling `switchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `onPlayerEvent` callback will report the `PlayerEventSwitchError` event, indicating an error occurred during media resource switching. - - When calling `setPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Issues fixed - -This version fixes the following issues: - -- When calling `startScreenCaptureByWindowId` to share the screen, the window capture area specified by `regionRect` was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. (Windows) -- Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. (Windows) -- When calling `followSystemRecordingDevice` or `followSystemPlaybackDevice` to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback `onLocalAudioStateChanged` is not triggered when the audio device is removed, which is not as expected. (Windows) - -## v4.4.0 - -This version was released on July x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. - - | Original callback | Current callback | - | ------------------ | ---------------- | - | `onExtensionEvent` | `onExtensionEventWithContext` | - | `onExtensionStarted` | `onExtensionStartedWithContext` | - | `onExtensionStopped` | `onExtensionStoppedWithContext` | - | `onExtensionError` | `onExtensionErrorWithContext` | - -2. This version renames the following members in `ExternalVideoFrame`: - - - `d3d11_texture_2d` is renamed to `d3d11Texture2d`. - - `texture_slice_index` is renamed to `textureSliceIndex`. - - `metadata_buffer` is renamed to `metadataBuffer`. - - `metadata_size` is renamed to `metadataSize`. - -#### New features - -1. **Voice AI tuner** - - This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. - -2. **1v1 video call scenario** - - This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. - -#### Improvements - -1. **Adaptive hardware decoding support (Windows)** - - This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. - -2. **Rendering performance enhancement (Windows)** - - DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities. - -3. **Facial region beautification** - - To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. - -4. **Other improvements** - - This version also includes the following improvements: - - - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. - - The `LocalVideoStreamReasonDeviceDisconnected` enumerator is added in `onLocalVideoStateChanged` callback, indicating that the display used for screen capture has been disconnected. - - Optimizes the video link for window sharing, reducing CPU usage. (macOS) - - Improves echo cancellation for screen sharing scenarios. - - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. - - Deprecates redundant enumeration values `ClientRoleChangeFailedRequestTimeOut` and `ClientRoleChangeFailedConnectionFailed` in `ClientRoleChangeFailedReason`. - -#### Issues fixed - -This release fixes the issue where the App crashes during audio and video interactions after the user actively denies permission for the App to use audio and video devices. (macOS) - ## v4.3.2 This version was released on May x, 20xx. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md index b577b646680..189466ba1e7 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_flutter_ng.md @@ -1,165 +1,13 @@ ## Known issues and limitations -**AirPods Pro Bluetooth connection issue (iOS)** - -AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. - -## v6.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. - - The `VideoDenoiserLevel` removes `videoDenoiserLevelStrength`. - - Instead, after enabling video denoising by calling `setVideoDenoiserOptions`, you can call the `setBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions`. - -2. **Changes in camera plug and unplug status (macOS, Windows)** - - In previous versions, when the camera was unplugged and replugged, the `onVideoDeviceStateChanged` callback would report the device status as mediaDeviceStateActive(1) (device in use). Starting from this version, after the camera is replugged, the device status will change to `mediaDeviceStateIdle`(0) (device ready). - -3. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `CompressionPreference` enumeration class, a new `preferCompressionAuto` (-1) enumeration is added, replacing the original `preferQuality` (1) as the default value. In this mode, the SDK will automatically choose between `preferLowLatency` or `preferQuality` based on your video scene settings to achieve the best user experience. - - In the `DegradationPreference` enumeration class, a new `maintainAuto` (-1) enumeration is added, replacing the original `maintainQuality` (1) as the default value. In this mode, the SDK will automatically choose between `maintainFramerate`, `maintainBalanced`, or `maintainResolution` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -4. **16 KB memory page size** - -Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in [Support 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes). To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes. - -5. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. - - | Original callback | Current callback | - | -------------------- | ------------------------------- | - | `onExtensionEvent` | `onExtensionEventWithContext` | - | `onExtensionStarted` | `onExtensionStartedWithContext` | - | `onExtensionStopped` | `onExtensionStoppedWithContext` | - | `onExtensionError` | `onExtensionErrorWithContext` | - -#### New features - -1. **Live show scenario** - - This version adds the `applicationScenarioLiveshow`(3) (Live Show) enumeration to the `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video business scenario to show room. To meet the high requirements for first frame rendering time and image quality in this scenario, the SDK has optimized strategies to significantly improve the first frame rendering experience and image quality, while enhancing the image quality in weak network environments and on low-end devices. - -2. **Maximum frame rate for video rendering** - - This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Filter effects** - - This version introduces the `setFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -4. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: +**Android 14 screen sharing issue (Android)** - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. +On Android 14 devices (such as OnePlus 11), screen sharing may not be available when `targetSdkVersion` is set to 34. For example, half of the shared screen may be black. To avoid this issue, Agora recommends setting `targetSdkVersion` to 34 or below. However, this may cause the screen sharing process to be interrupted when switching between portrait and landscape mode. In this case, a window will pop up on the device asking if you want to start recording the screen. After confirming, you can resume screen sharing. -5. **External MediaProjection (Android)** - - This version introduces the `setExternalMediaProjection` method, which allows you to set an external `MediaProjection` and replace the `MediaProjection` applied by the SDK. - - If you have the capability to apply for `MediaProjection` on your own, you can use this feature to achieve more flexible screen capture. - -6. **EGL context (Android)** - - This version introduces the `setExternalRemoteEglContext` method, which is used to set the EGL context for rendering remote video streams. When using Texture format video data for remote video self-rendering, you can use this method to replace the SDK's default remote EGL context, achieving unified EGL context management. - -7. **Color space settings** - - This version adds the **colorSpace** parameter to `VideoFrame` and `ExternalVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -8. **Voice AI tuner** - - This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. - -9. **1v1 video call scenario** - - This version adds `applicationScenario1v1` (1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. - -10. **Others** - - - `onLocalVideoStateChanged` callback adds the `localVideoStreamReasonDeviceDisconnected` enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). (Windows) - - `MediaDeviceStateType` adds the `mediaDeviceStatePluggedIn` enumeration, indicating that the device has been plugged in. (Windows) - -#### Improvements - -1. **Virtual background algorithm optimization** - - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -2. **Snapshot at specified video observation points** - - This version introduces the `takeSnapshotWithConfig` and `takeSnapshotWithConfigEx` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `false`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Adaptive hardware decoding support (Android, Windows)** - - This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. - -5. **Rendering performance enhancement (Windows)** - - DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities. - -6. **Facial region beautification** - - To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. - -7. **Other Improvements** - - - In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. (Android, iOS) - - Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - Supports using virtual cameras in YV12 format as video capture devices. (Windows) - - When calling `switchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `onPlayerEvent` callback will report the `playerEventSwitchError` event, indicating an error occurred during media resource switching. - - When calling `setPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. - - The `localVideoStreamReasonScreenCaptureDisplayDisconnected` enumerator is added in `onLocalVideoStateChanged` callback, indicating that the display used for screen capture has been disconnected. (Windows, macOS) - - Optimizes the video link for window sharing, reducing CPU usage. (macOS) - - Improves echo cancellation for screen sharing scenarios. (Windows) - - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. - - Deprecates redundant enumeration values `clientRoleChangeFailedRequestTimeOut` and `clientRoleChangeFailedConnectionFailed` in `ClientRoleChangeFailedReason`. +**AirPods Pro Bluetooth connection issue (iOS)** -#### Issues fixed +AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. -This version fixes the following issues: - -- When calling `startScreenCaptureByWindowId` to share the screen, the window capture area specified by **regionRect** was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. (Windows) -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. (Android, iOS) -- During audio and video interaction, after being interrupted by a system call, the user volume reported by the `onAudioVolumeIndication` callback was incorrect. (Android) -- When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling `muteRemoteVideoStream(uid, false)` after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. (Android) -- Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. (Windows) -- When calling `followSystemRecordingDevice` or `followSystemPlaybackDevice` to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback `onLocalAudioStateChanged` is not triggered when the audio device is removed, which is not as expected. (Windows) -- Occasional instances where the receiving end cannot hear the sender during audio and video interaction. (iOS) -- During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. (iOS) -- In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. (iOS) -- No sound when playing online media resources using the media player after the app starts. (iOS) -- Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. (iOS) -- Calling `startAudioMixing`and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. -- Occasional crashes during audio and video interaction. (Android) -- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS) -- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS) -- After the sender called `startDirectCdnStreaming` to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS) -- Audio playback failed when pushing external audio data using `pushAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. (Android, iOS) ## v6.3.2 @@ -387,9 +235,9 @@ This release has optimized the implementation of some functions, involving renam - The `localVideoStreamErrorEncodeFailure` enumeration has been changed to `localVideoStreamReasonCodecNotSupport`. 5. **Log encryption behavior changes** - - For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console. - + + For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console. + Refer to the following solutions for different needs: - If you need to know the API call status, please check the API logs and print the SDK callback logs yourself. - For any other special requirements, please contact [technical support](mailto:support@agora.io) and provide the corresponding encrypted logs. @@ -824,7 +672,7 @@ This release optimizes the APIs for camera and screen capture function. As of v6 **2. Video data acquisition** - The `onCaptureVideoFrame` and `onPreEncodeVideoFrame` callbacks are added with a new parameter called `sourceType`, which is used to indicate the specific video source type. -- The following callbacks are deleted. Get the video source type through the `sourceType` parameter in the `onPreEncodeVideoFrame` and `onCaptureVideoFrame` callbacks. +- The following callbacks are deleted. Get the video source type through the `sourceType` parameter in the `onPreEncodeVideoFrame` and `onCaptureVideoFrame` callbacks. - `onSecondaryPreEncodeCameraVideoFrame` (Windows) - `onScreenCaptureVideoFrame` - `onPreEncodeScreenVideoFrame` diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md index 6fd439d7181..8f1fc18434d 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_rn_ng.md @@ -8,185 +8,6 @@ On Android 14 devices (such as OnePlus 11), screen sharing may not be available AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. - - The `VideoDenoiserLevel` removes `VideoDenoiserLevelStrength`. - - Instead, after enabling video denoising by calling `setVideoDenoiserOptions`, you can call the `setBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions`. - -2. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `CompressionPreference` enumeration class, a new `PreferCompressionAuto` (-1) enumeration is added, replacing the original `PreferQuality` (1) as the default value. In this mode, the SDK will automatically choose between `PreferLowLatency` or `PreferQuality` based on your video scene settings to achieve the best user experience. - - In the `DegradationPreference` enumeration class, a new `MaintainAuto` (-1) enumeration is added, replacing the original `MaintainQuality` (1) as the default value. In this mode, the SDK will automatically choose between `MaintainFramerate`, `MaintainBalanced`, or `MaintainResolution` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -3. **16 KB memory page size (Android)** - - Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in [Support 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes). To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes. - -#### New features - -1. **Live show scenario** - - This version adds the `ApplicationScenarioLiveshow`(3) (Live Show) enumeration to the `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video business scenario to show room. In this scenario, fast video rendering and high image quality are crucial. The SDK implements several performance optimizations, such as enabling accelerated audio and video frame rendering to minimize first-frame latency (no need to call `enableInstantMediaRendering`) to achieve better image quality and bandwidth efficiency. - -2. **Maximum frame rate for video rendering** - - This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Filter effects** - - This version introduces the `setFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -4. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: - - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -5. **External MediaProjection (Android)** - - This version introduces the `setExternalMediaProjection` method, which allows you to set an external `MediaProjection` and replace the `MediaProjection` applied by the SDK. - - If you have the capability to apply for `MediaProjection` on your own, you can use this feature to achieve more flexible screen capture. - -6. **EGL context (Android)** - - This version introduces the `setExternalRemoteEglContext` method, which is used to set the EGL context for rendering remote video streams. When using Texture format video data for remote video self-rendering, you can use this method to replace the SDK's default remote EGL context, achieving unified EGL context management. - -7. **Color space settings** - - This version adds the **colorSpace** parameter to `VideoFrame` and `ExternalVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -8. **Others** - -#### Improvements - -1. **Virtual background algorithm optimization** - - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -2. **Snapshot at specified video observation points** - - This version introduces the `takeSnapshotWithConfig` and `takeSnapshotWithConfigEx` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `false`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Other Improvements** - - - In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. - - Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - After calling `enableLocalAudio` to disable local audio capture within the channel, the mute side button on the phone can be used to mute the background sound effects played by the app. (iOS) - - When calling `switchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `onPlayerEvent` callback will report the `PlayerEventSwitchError` event, indicating an error occurred during media resource switching. - - When calling `setPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Issues fixed - -This version fixes the following issues: - -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. -- During audio and video interaction, after being interrupted by a system call, the user volume reported by the `onAudioVolumeIndication` callback was incorrect. (Android) -- When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling `muteRemoteVideoStream(uid, false)` after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. (Android) -- Occasional instances where the receiving end cannot hear the sender during audio and video interaction. (iOS) -- During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. (iOS) -- In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. (iOS) -- No sound when playing online media resources using the media player after the app starts. (iOS) -- Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. (iOS) -- Calling `startAudioMixing` and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. -- Occasional crashes during audio and video interaction. (Android) - -## v4.4.0 - -This version was released on July x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. - - | Original callback | Current callback | - | ------------------ | ---------------- | - | `onExtensionEvent` | `onExtensionEventWithContext` | - | `onExtensionStarted` | `onExtensionStartedWithContext` | - | `onExtensionStopped` | `onExtensionStoppedWithContext` | - | `onExtensionError` | `onExtensionErrorWithContext` | - -2. This version renames the following members in `ExternalVideoFrame`: - - - `d3d11_texture_2d` is renamed to `d3d11Texture2d`. - - `texture_slice_index` is renamed to `textureSliceIndex`. - - `metadata_buffer` is renamed to `metadataBuffer`. - - `metadata_size` is renamed to `metadataSize`. - -#### New features - -1. **Alpha transparency effects** - - This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: - - - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. - - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. - - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. - - Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `setVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. - -2. **Voice AI tuner** - - This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VoiceAiTunerType`enum to achieve effects like deep voice, cute voice, husky singing voice, etc. - -3. **1v1 video call scenario** - - This version adds `ApplicationScenario1v1`(1v1 video call) in `VideoApplicationScenarioType`. You can call `setVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. - -#### Improvements - -1. **Adaptive hardware decoding support (Android)** - - This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. - -2. **Facial region beautification** - - To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. - -3. **Other improvements** - - This version also includes the following improvements: - - - Optimizes transmission strategy: calling `enableInstantMediaRendering` no longer impacts the security of the transmission link. - - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. - - Deprecates redundant enumeration values `ClientRoleChangeFailedRequestTimeOut` and `ClientRoleChangeFailedConnectionFailed` in `ClientRoleChangeFailedReason`. - -#### Issues fixed - -This release fixed the following issues: - -- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS) -- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS) -- After the sender called `startDirectCdnStreaming` to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS) -- Audio playback failed when pushing external audio data using `pushAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. - ## v4.3.2 This version was released on May x, 20xx. diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md index 3fed8a8953c..028412ca324 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_unity_ng.md @@ -1,214 +1,12 @@ ## Known issues and limitations -**AirPods Pro Bluetooth connection issue (iOS)** - -AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. - -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. **Member Parameter Type Changes** - - This version has made the following modifications to some API members or parameters: - - | API | Members/Parameters | Change | - | ------------------------------ | ---------------------------------------------------------- | ---------------------------- | - | `StartScreenCaptureByWindowId` | **windowId** | Changed from view_t to long | - | `ScreenCaptureConfiguration` |
                                      • **displayId**
                                      • **windowId**
                                      | Changed from unit to long | - | `ScreenCaptureSourceInfo` |
                                      • **sourceDisplayId**
                                      • **sourceId**
                                      | Changed from view_t to long | - -2. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. - - The `VIDEO_DENOISER_LEVEL` removes `VIDEO_DENOISER_LEVEL_STRENGTH`. - - Instead, after enabling video denoising by calling `SetVideoDenoiserOptions`, you can call the `SetBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `SetVideoDenoiserOptions`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `SetLowlightEnhanceOptions`. - -3. **Changes in camera plug and unplug status (macOS, Windows)** - - In previous versions, when the camera was unplugged and replugged, the `OnVideoDeviceStateChanged` callback would report the device status as `MEDIA_DEVICE_STATE_ACTIVE`(1) (device in use). Starting from this version, after the camera is replugged, the device status will change to `MEDIA_DEVICE_STATE_IDLE`(0) (device ready). - -4. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `COMPRESSION_PREFERENCE` enumeration class, a new `PREFER_COMPRESSION_AUTO` (-1) enumeration is added, replacing the original `PREFER_QUALITY` (1) as the default value. In this mode, the SDK will automatically choose between `PREFER_LOW_LATENCY` or `PREFER_QUALITY` based on your video scene settings to achieve the best user experience. - - In the `DEGRADATION_PREFERENCE` enumeration class, a new `MAINTAIN_AUTO` (-1) enumeration is added, replacing the original `MAINTAIN_QUALITY` (1) as the default value. In this mode, the SDK will automatically choose between `MAINTAIN_FRAMERATE`, `MAINTAIN_BALANCED`, or `MAINTAIN_RESOLUTION` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -5. **16 KB memory page size** - - Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in [Support 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes). To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes. - -#### New features - -1. **Live show scenario** - - This version adds the `APPLICATION_SCENARIO_LIVESHOW`(3) (Live Show) enumeration to the `VIDEO_APPLICATION_SCENARIO_TYPE`. You can call `SetVideoScenario` to set the video business scenario to show room. To meet the high requirements for first frame rendering time and image quality in this scenario, the SDK has optimized strategies to significantly improve the first frame rendering experience and image quality, while enhancing the image quality in weak network environments and on low-end devices. - -2. **Maximum frame rate for video rendering** - - This version adds the `SetLocalRenderTargetFps` and `SetRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Filter effects** - - This version introduces the `SetFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -4. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `StartLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `StopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `UpdateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: - - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -5. **External MediaProjection (Android)** - - This version introduces the `SetExternalMediaProjection` method, which allows you to set an external `MediaProjection` and replace the `MediaProjection` applied by the SDK. - - If you have the capability to apply for `MediaProjection` on your own, you can use this feature to achieve more flexible screen capture. - -6. **EGL context (Android)** - - This version introduces the `SetExternalRemoteEglContext` method, which is used to set the EGL context for rendering remote video streams. When using Texture format video data for remote video self-rendering, you can use this method to replace the SDK's default remote EGL context, achieving unified EGL context management. - -7. **Color space settings** - - This version adds the **colorSpace** parameter to `VideoFrame` and `ExternalVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -8. **Others** - - - `OnLocalVideoStateChanged` callback adds the `LOCAL_VIDEO_STREAM_REASON_DEVICE_DISCONNECTED` enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). (Windows) - - `MEDIA_DEVICE_STATE_TYPE` adds the `MEDIA_DEVICE_STATE_PLUGGED_IN` enumeration, indicating that the device has been plugged in. (Windows) - -#### Improvements - -1. **Virtual background algorithm optimization** +**Android 14 screen sharing issue (Android)** - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. +On Android 14 devices (such as OnePlus 11), screen sharing may not be available when `targetSdkVersion` is set to 34. For example, half of the shared screen may be black. To avoid this issue, Agora recommends setting `targetSdkVersion` to 34 or below. However, this may cause the screen sharing process to be interrupted when switching between portrait and landscape mode. In this case, a window will pop up on the device asking if you want to start recording the screen. After confirming, you can resume screen sharing. -2. **Snapshot at specified video observation points** - - This version introduces the `TakeSnapshot [2/2]` and `TakeSnapshotEx [2/2]` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `false`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Other Improvements** - - - In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. (Android, iOS) - - Optimizes the logic for calling `QueryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - Supports using virtual cameras in YV12 format as video capture devices. (Windows) - - When calling `SwitchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `OnPlayerEvent` callback will report the `PLAYER_EVENT_SWITCH_ERROR` event, indicating an error occurred during media resource switching. - - When calling `SetPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Issues fixed - -This version fixes the following issues: - -- When calling `StartScreenCaptureByWindowId` to share the screen, the window capture area specified by **regionRect** was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. (Windows) -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. (Android, iOS) -- During audio and video interaction, after being interrupted by a system call, the user volume reported by the `OnAudioVolumeIndication` callback was incorrect. (Android) -- When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling `MuteRemoteVideoStream``(uid, false)` after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. (Android) -- Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. (Windows) -- When calling `FollowSystemRecordingDevice` or `FollowSystemPlaybackDevice` to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback `OnLocalAudioStateChanged` is not triggered when the audio device is removed, which is not as expected. (Windows) -- Occasional instances where the receiving end cannot hear the sender during audio and video interaction. (iOS) -- During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. (iOS) -- In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. (iOS) -- No sound when playing online media resources using the media player after the app starts. (iOS) -- Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. (iOS) -- Calling `StartAudioMixing [1/2]` and then immediately calling `PauseAudioMixing` to pause the music file playback does not take effect. -- Occasional crashes during audio and video interaction. (Android) - -## v4.4.0 - -This version was released on August x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -1. To distinguish context information in different extension callbacks, this version removes the original extension callbacks and adds corresponding callbacks that contain context information (see the table below). You can identify the extension name, the user ID, and the service provider name through `ExtensionContext` in each callback. - - | Original callback | Current callback | - | -------------------- | ------------------------------- | - | `onExtensionEvent` | `OnExtensionEventWithContext` | - | `onExtensionStarted` | `OnExtensionStartedWithContext` | - | `onExtensionStopped` | `OnExtensionStoppedWithContext` | - | `onExtensionError` | `OnExtensionErrorWithContext` | - -2. This version renames the following members in `ExternalVideoFrame`: - -- `d3d11_texture_2d` is renamed to `d3d11Texture2d`. -- `texture_slice_index` is renamed to `textureSliceIndex`. -- `metadata_buffer` is renamed to `metadataBuffer`. -- `metadata_size` is renamed to `metadataSize`. - -#### New features - -1. **Alpha transparency effects** - - This version introduces the Alpha transparency effects feature, supporting the transmission and rendering of Alpha channel data in video frames for SDK capture and custom capture scenarios, enabling transparent gift effects, custom backgrounds on the receiver end, etc.: - - - `VideoFrame` and `ExternalVideoFrame` add the `alphaBuffer` member: Sets the Alpha channel data. - - `ExternalVideoFrame` adds the `fillAlphaBuffer` member: For BGRA or RGBA formatted video data, sets whether to automatically extract the Alpha channel data and fill it into `alphaBuffer`. - - `VideoFrame` and `ExternalVideoFrame` add the `alphaStitchMode` member: Sets the relative position of `alphaBuffer` and video frame stitching. - - Additionally, `AdvanceOptions` adds a new member `encodeAlpha`, which is used to set whether to encode and send Alpha information to the remote end. By default, the SDK does not encode and send Alpha information; if you need to encode and send Alpha information to the remote end (for example, when virtual background is enabled), explicitly call `SetVideoEncoderConfiguration` to set the video encoding properties and set `encodeAlpha` to `true`. - -2. **Voice AI tuner** - - This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `EnableVoiceAITuner` method and passing in the sound effect types supported in the `VOICE_AI_TUNER_TYPE` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. - -3. **1v1 video call scenario** - - This version adds `APPLICATION_SCENARIO_1V1` (1v1 video call) in `VIDEO_APPLICATION_SCENARIO_TYPE`. You can call `SetVideoScenario` to set the video application scenario to 1v1 video call, the SDK optimizes performance to achieve low latency and high video quality, enhancing image quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under poor network conditions. - -#### Improvements - -1. **Adaptive hardware decoding support (Android, Windows)** - - This release introduces adaptive hardware decoding support, enhancing rendering smoothness on low-end devices and effectively reducing system load. - -2. **Rendering performance enhancement (Windows)** - - DirectX 11 renderer is now enabled by default on Windows devices, providing high-performance and high-quality graphics rendering capabilities. - -3. **Facial region beautification** - - To avoid losing details in non-facial areas during heavy skin smoothing, this version improves the skin smoothing algorithm. The SDK now recognizes various parts of the face, applying smoothing to facial skin areas excluding the mouth, eyes, and eyebrows. In addition, the SDK supports smoothing up to two faces simultaneously. - -4. **Other improvements** - - This version also includes the following improvements: - - - Optimizes transmission strategy: calling `EnableInstantMediaRendering` no longer impacts the security of the transmission link. - - The `LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_DISPLAY_DISCONNECTED` enumerator is added in `OnLocalVideoStateChanged` callback, indicating that the display used for screen capture has been disconnected. (Windows, macOS) - - Optimizes the video link for window sharing, reducing CPU usage. (macOS) - - Improves echo cancellation for screen sharing scenarios. - - Adds the `channelId` parameter to `Metadata`, which is used to get the channel name from which the metadata is sent. - - Deprecates redundant enumeration values `CLIENT_ROLE_CHANGE_FAILED_REQUEST_TIME_OUT` and `CLIENT_ROLE_CHANGE_FAILED_CONNECTION_FAILED` in `CLIENT_ROLE_CHANGE_FAILED_REASON`. - -#### Issues fixed - -This release fixed the following issues: +**AirPods Pro Bluetooth connection issue (iOS)** -- Occasional app crashes occurred when multiple remote users joined the channel simultaneously during real-time interaction. (iOS) -- Remote video occasionally froze or displayed corrupted images when the app returned to the foreground after being in the background for a while. (iOS) -- After the sender called `StartDirectCdnStreaming` to start direct CDN streaming, frequent switching or toggling of the network occasionally resulted in a black screen on the receiver's end without a streaming failure callback on the sender's end. (iOS) -- Audio playback failed when pushing external audio data using `PushAudioFrame` and the sample rate was not set as a recommended value, such as 22050 Hz and 11025 Hz. +AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. ## v4.3.2 diff --git a/markdown/RTC 4.x/release-notes/en-US/framework/release_unreal_ng.md b/markdown/RTC 4.x/release-notes/en-US/framework/release_unreal_ng.md index 3ccda305fbe..81ea8868554 100644 --- a/markdown/RTC 4.x/release-notes/en-US/framework/release_unreal_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/framework/release_unreal_ng.md @@ -1,244 +1,10 @@ -## Known issues +## v4.2.1 -**Audio module incompatibility (iOS)** - -The audio module of the Agora Unreal SDK is incompatible with the AudioMixer module in Unreal Engine 5.3 and 5.4. If you use Unreal Engine 5.3 or 5.4, you need to add the following code to the `/Config/IOS/IOSEngine.ini` file in your project to disable Unreal Engine’s AudioMixer module and avoid conflicts. - -```ini -[Audio] -AudioMixerModuleName= -``` - -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -**Changes in strong video denoising implementation** - -This version adjusts the implementation of strong video denoising. The `VIDEO_DENOISER_LEVEL` removes `VIDEO_DENOISER_LEVEL_STRENGTH`. Instead, after enabling video denoising by calling `setVideoDenoiserOptions`, you can call the `setBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions`. - -Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions`. - -**Changes in camera plug and unplug status (macOS, Windows)** - -In previous versions, when the camera was unplugged and replugged, the `onVideoDeviceStateChanged` callback would report the device status as `MEDIA_DEVICE_STATE_ACTIVE(1)` (device in use). Starting from this version, after the camera is replugged, the device status will change to `MEDIA_DEVICE_STATE_IDLE(0)` (device ready). - -**16 KB memory page size (Android)** - -Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in [Support 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes). To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes. - -**Changes in video encoding preferences** - -To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: -- In the `COMPRESSION_PREFERENCE` enumeration class, a new `PREFER_COMPRESSION_AUTO (-1)` enumeration is added, replacing the original `PREFER_QUALITY (1)` as the default value. In this mode, the SDK will automatically choose between `PREFER_LOW_LATENCY` or `PREFER_QUALITY` based on your video scene settings to achieve the best user experience. -- In the `DEGRADATION_PREFERENCE` enumeration class, a new `MAINTAIN_AUTO (-1)` enumeration is added, replacing the original `MAINTAIN_QUALITY (1)` as the default value. In this mode, the SDK will automatically choose between `MAINTAIN_FRAMERATE`, `MAINTAIN_BALANCED`, or `MAINTAIN_RESOLUTION` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -#### New features - -**Live show scenario** - -This version adds the `APPLICATION_SCENARIO_LIVESHOW(3)` (Live Show) enumeration to the `VIDEO_APPLICATION_SCENARIO_TYPE`. You can call `setVideoScenario` to set the video business scenario to show room. In this scenario, fast video rendering and high image quality are crucial. The SDK implements several performance optimizations, such as enabling accelerated audio and video frame rendering to minimize first-frame latency (no need to call `enableInstantMediaRendering`) to achieve better image quality and bandwidth efficiency. - -**Maximum frame rate for video rendering** - -This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - -In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -**Filter effects** - -This version introduces the `setFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -**Local audio mixing** - -This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - -Example use cases for this feature include: -- By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. -- In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. -- In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -**External MediaProjection (Android)** - -This version introduces the `setExternalMediaProjection` method, which allows you to set an external MediaProjection and replace the MediaProjection applied by the SDK. - -If you have the capability to apply for MediaProjection on your own, you can use this feature to achieve more flexible screen capture. - -**EGL context (Android)** - -This version introduces the `setExternalRemoteEglContext` method, which is used to set the EGL context for rendering remote video streams. When using Texture format video data for remote video self-rendering, you can use this method to replace the SDK's default remote EGL context, achieving unified EGL context management. - -**Color space settings** - -This version adds the `colorSpace` parameter to `VideoFrame` and `ExternalVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -**Others** - -- The `onLocalVideoStateChanged` callback adds the `LOCAL_VIDEO_STREAM_REASON_DEVICE_DISCONNECTED` enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). (Windows) -- The `MEDIA_DEVICE_STATE_TYPE` adds the `MEDIA_DEVICE_STATE_PLUGGED_IN` enumeration, indicating that the device has been plugged in. (Windows) - -#### Improvements - -**Virtual background algorithm optimization** - -This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -**Snapshot at specified video observation points** - -This version introduces the `takeSnapshot [2/2]` and `takeSnapshotEx [2/2]` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -**Custom audio capture improvements** - -This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `false`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -**Other Improvements** - -- In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. (Android, iOS) -- Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. -- Supports using virtual cameras in YV12 format as video capture devices. (Windows) -- When calling `switchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `onPlayerEvent` callback will report the `PLAYER_EVENT_SWITCH_ERROR` event, indicating an error occurred during media resource switching. -- When calling `setPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Issues fixed - -This version fixes the following issues: - -- When calling `startScreenCaptureByWindowId` to share the screen, the window capture area specified by `regionRect` was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. (Windows) -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. (Android, iOS) -- During audio and video interaction, after being interrupted by a system call, the user volume reported by the `onAudioVolumeIndication` callback was incorrect. (Android) -- When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling `muteRemoteVideoStream(uid, false)` after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. (Android) -- Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. (Windows) -- When calling `followSystemRecordingDevice` or `followSystemPlaybackDevice` to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback `onLocalAudioStateChanged` is not triggered when the audio device is removed, which is not as expected. (Windows) -- Occasional instances where the receiving end cannot hear the sender during audio and video interaction. (iOS) -- During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. (iOS) -- In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. (iOS) -- No sound when playing online media resources using the media player after the app starts. (iOS) -- Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. (iOS) -- Calling `startAudioMixing [1/2]` and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. - -## v4.4.0 - -This version releases on August xx, 2024. - -#### Compatibility changes - -**1. Changes to API usage** - -In this release, the creation and destruction of engine instances use the [`Get`](/api-ref/rtc/unreal-cpp/API/toc_initialize#api_createagorartcengine) and [`Release`](/api-ref/rtc/unreal-cpp/API/toc_initialize#api_irtcengine_release) methods, replacing the previous `createAgoraRtcEngine` and `release` methods. This change simplifies instance management. Details are as follows: - -- Creating an engine instance: Call [`Get`](/api-ref/rtc/unreal-cpp/API/toc_initialize#api_createagorartcengine) to create an `IRtcEngine` instance and return a pointer to `AgoraUERtcEngine`, and you can directly call methods under [`IRtcEngine`](/api-ref/rtc/unreal-cpp/API/rtc_interface_class#class_irtcengine) using this pointer. - - ```cpp - // Example of joining a channel using joinChannel - AgoraUERtcEngine::Get()->joinChannel(TCHAR_TO_UTF8(*Token), TCHAR_TO_UTF8(*ChannelName), 0, ChannelMediaOptions); - ``` - -- Destroying an engine instance: After calling [`Get`](/api-ref/rtc/unreal-cpp/API/toc_initialize#api_createagorartcengine) to create an `IRtcEngine` instance, you must call [`Release`](/api-ref/rtc/unreal-cpp/API/toc_initialize#api_irtcengine_release) to destroy the engine instance and release related resources. - - ```cpp - AgoraUERtcEngine::Release(); - ``` - -#### New features - -1. **Voice AI tuner** - - This version introduces the voice AI tuner feature, which can enhance the sound quality and tone, similar to a physical sound card. You can enable the voice AI tuner feature by calling the `enableVoiceAITuner` method and passing in the sound effect types supported in the `VOICE_AI_TUNER_TYPE` enum to achieve effects like deep voice, cute voice, husky singing voice, etc. - -2. **Privacy manifest file (iOS)** - - To meet Apple's safety compliance requirements for app publication, the SDK now includes a privacy manifest file, `PrivacyInfo.xcprivacy`, detailing the SDK's API calls that access or use user data, along with a description of the types of data collected. - - **Note:** If you need to publish an app with SDK versions prior to v4.4.0 to the Apple App Store, you must manually add the `PrivacyInfo.xcprivacy` file to your Xcode project. - -3. **Multi-camera capture (Android)** - - This release introduces additional functionalities for Android camera capture: - - 1. Support for capturing and publishing video streams from the third and fourth cameras: - - - `VIDEO_SOURCE_CAMERA_THIRD` (11) and `VIDEO_SOURCE_CAMERA_FOURTH` (12) in `VIDEO_SOURCE_TYPE` add support for Android, specifically for the third and fourth camera sources. This change allows you to specify up to four camera streams when initiating camera capture by calling `startCameraCapture`. - - `publishThirdCameraTrack` and `publishFourthCameraTrack` in `ChannelMediaOptions` add support for Android. Set these parameters to `true` when joining a channel with `joinChannel`[2/2] to publish video streams captured from the third and fourth cameras. - - 2. Support for specifying cameras by camera ID: - - A new parameter `cameraId` is added to `CameraCapturerConfiguration`. For devices with multiple cameras, where `cameraDirection` cannot identify or access all available cameras, you can obtain the camera ID through Android's native system APIs and specify the desired camera by calling `startCameraCapture` with the specific `cameraId`. - -4. **Select different audio tracks for local playback and streaming** - - This release introduces the `selectMultiAudioTrack` method that allows you to select different audio tracks for local playback and streaming to remote users. For example, in scenarios like online karaoke, the host can choose to play the original sound locally and publish the accompaniment in the channel. Before using this function, you need to open the media file through the `openWithMediaSource` method and enable this function by setting the `enableMultiAudioTrack` parameter in `MediaSource`. - -5. **Update video screenshot and upload** - - To facilitate the integration of third-party video moderation services from Agora Extensions Marketplace, this version has the following changes: - - - The `CONTENT_INSPECT_IMAGE_MODERATION` enumeration is added in `CONTENT_INSPECT_TYPE` which means using video moderation extensions from Agora Extensions Marketplace to take video screenshots and upload them. - - An optional parameter `serverConfig` is added in `ContentInspectConfig`, which is for server-side configuration related to video screenshot and upload via extensions from Agora Extensions Marketplace. By configuring this parameter, you can integrate multiple third-party moderation extensions and achieve flexible control over extension switches and other features. For more details, please contact [technical support](mailto:support@agora.io). - - Additionally, this version introduces the `enableContentInspectEx` method, which supports simultaneous screenshot and upload of multiple video streams. - -6. **ID3D11Texture2D rendering (Windows)** - - As of this release, the SDK supports video formats of type ID3D11Texture2D, improving the rendering effect of video frames in game scenarios. You can set `format` to `VIDEO_TEXTURE_ID3D11TEXTURE2D` when pushing external raw video frames to the SDK by calling `pushVideoFrame`. By setting the `textureSliceIndex` property, you can determine the ID3D11Texture2D texture object to use. - -7. **Wildcard token** - - This release introduces wildcard tokens. Agora supports setting the channel name used for generating a token as a wildcard character. The token generated can be used to join any channel if you use the same user id. In scenarios involving multiple channels, such as switching between different channels, using a wildcard token can avoid repeated application of tokens every time users joining a new channel, which reduces the pressure on your token server. See [Wildcard tokens](https://docportal.shengwang.cn/cn/live-streaming-premium-4.x/wildcard_token?platform=All%20Platforms). - -
                                      All 4.x SDKs support using wildcard tokens.
                                      - -8. **Preloading channels** - - This release adds `preloadChannel` and `preloadChannelWithUserAccount` methods, which allows a user whose role is set as audience to preload channels before joining one. Calling the method can help shortening the time of joining a channel, thus reducing the time it takes for audience members to hear and see the host. - - When preloading more than one channels, Agora recommends that you use a wildcard token for preloading to avoid repeated application of tokens every time you joining a new channel, thus saving the time for switching between channels. See [Wildcard tokens](https://docportal.shengwang.cn/cn/live-streaming-premium-4.x/wildcard_token?platform=All%20Platforms). - -9. **Publishing video streams from different sources** (Windows, macOS) - - This release adds the following members in `ChannelMediaOptions` to allow you publish video streams captured from the third and fourth camera or screen: - - - `publishThirdCameraTrack`: Publishing the video stream captured from the third camera. - - `publishFourthCameraTrack`: Publishing the video stream captured from the fourth camera. - - `publishThirdScreenTrack`: Publishing the video stream captured from the third screen. - - `publishFourthScreenTrack`: Publishing the video stream captured from the fourth screen. - -
                                      For one RtcConnection, Agora supports publishing multiple audio streams and one video stream at the same time.
                                      - -#### Improvements - -1. **Header file management simplification** - -To reference other header files, you can add them uniformly to `AgoraHeaderBase.h`, simplifying the management of header files in the project and facilitating future maintenance. - -2. **Channel media relay** - - The number of target channels for media relay has been increased to 6. When calling `startOrUpdateChannelMediaRelay` and `startOrUpdateChannelMediaRelayEx`, you can specify up to 6 target channels. - -#### Issues fixed - -In Unreal Engine 5.3 and 5.4, adding the following code to the `/Source/xxx.Target.cs` file in your project to solve iOS memory allocation issues may lead to missing iOS compilation symbols. To address this issue, this version adds three function definitions (`StdMalloc`, `StdRealloc`, and `StdFree`) related to the standard library in the `UnrealMemory.cpp` file, ensuring proper handling of memory management needs when using the standard memory allocator. (iOS) - -```csharp -if (Target.Platform == UnrealTargetPlatform.IOS) -{ - bOverrideBuildEnvironment = true; - GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1"); -} -``` - - - -## v4.2.1 - -This version was released on October xx, 2023. +This version was released on October xx, 2023. **Features** -The SDK is designed by Agora for developers who use Unreal, aiming to provide a simple and user-friendly real-time interactive solution for Unreal Engine users. +The SDK is designed by Agora for developers who use Unreal, aiming to provide a simple and user-friendly real-time interactive solution for Unreal Engine users. The SDK provides a powerful set of C++ APIs, allowing developers to easily build games or apps with real-time interactive features. It can also leverage the powerful graphics engine functionality of Unreal Engine to add various visual effects and interactive performance to the app, providing users with a more immersive experience. @@ -254,4 +20,4 @@ To integrate real-time engagement functionality into your app using Agora SDK fo Agora provides the open source [example project](https://github.com/AgoraIO-Extensions/Agora-Unreal-RTC-SDK/tree/main/Agora-Unreal-SDK-CPP-Example) on GitHub for your reference. -
                                      If you have already integrated the 3.x version of the SDK and wish to upgrade to this version, please refer to [Migration Guide](https://github.com/AgoraIO-Extensions/Agora-Unreal-RTC-SDK/blob/main/Migration%20Guide.md) for upgrade instructions.
                                      +
                                      If you have already integrated the 3.x version of the SDK and wish to upgrade to this version, please refer to [Migration Guide](https://github.com/AgoraIO-Extensions/Agora-Unreal-RTC-SDK/blob/main/Migration%20Guide.md) for upgrade instructions.
                                      \ No newline at end of file diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md index ae739c2eea6..4db20af91fa 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_android_ng.md @@ -1,111 +1,8 @@ -## v4.5.0 +## Known issues and limitations -This version was released on November x, 2024. - -### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -**Attention:** -As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the libaosl.so library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the libaosl.so library to avoid conflicts. The libaosl.so library version in RTC SDK v4.5.0 is 1.2.13. - -#### 1. Changes in strong video denoising implementation - -This version adjusts the implementation of strong video denoising. - -The `VIDEO_DENOISER_LEVEL_STRENGTH` enumeration is removed. - -Instead, after enabling video denoising by calling `setVideoDenoiserOptions [1/2]`, you can call the `setBeautyEffectOptions [1/2]` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions [1/2]`. - -Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions [1/2]`. - -#### 2. Changes in video encoding preferences - -To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - -- In the `COMPRESSION_PREFERENCE` enumeration class, a new `PREFER_COMPRESSION_AUTO` (-1) enumeration is added, replacing the original `PREFER_QUALITY` (1) as the default value. In this mode, the SDK will automatically choose between `PREFER_LOW_LATENCY` or `PREFER_QUALITY` based on your video scene settings to achieve the best user experience. -- In the `DEGRADATION_PREFERENCE` enumeration class, a new `MAINTAIN_AUTO` (-1) enumeration is added, replacing the original `MAINTAIN_QUALITY` (1) as the default value. In this mode, the SDK will automatically choose between `MAINTAIN_FRAMERATE`, `MAINTAIN_BALANCED`, or `MAINTAIN_RESOLUTION` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -#### 3. 16 KB memory page size - -Starting from Android 15, the system adds support for 16 KB memory page size, as detailed in [Support 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes). To ensure the stability and performance of the app, starting from this version, the SDK supports 16 KB memory page size, ensuring seamless operation on devices with both 4 KB and 16 KB memory page sizes, enhancing compatibility and preventing crashes. - -### New features - -#### 1. Live show scenario - -This version adds the `APPLICATION_SCENARIO_LIVESHOW(3)` (Live Show) enumeration to the `VideoScenario`. You can call `setVideoScenario` to set the video business scenario to show room. To meet the high requirements for first frame rendering time and image quality in this scenario, the SDK has optimized strategies to significantly improve the first frame rendering experience and image quality, while enhancing the image quality in weak network environments and on low-end devices. - -#### 2. Maximum frame rate for video rendering - -This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - -In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -#### 3. Watching live streaming through URLs - -As of this version, audience members can directly open a specific URL to play the real-time media stream through openWithUrl, instead of joining a channel and subscribing to the streams of hosts, which greatly simplifies the API calls for the audience end to watch a live stream. - -#### 4. Filter effects - -This version introduces the `setFilterEffectOptions [1/2]` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -#### 5. Local audio mixing - -This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the stopLocalAudioMixer method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - -Example use cases for this feature include: - -- By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. -- In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. -- In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -#### 6. External MediaProjection - -This version introduces the `setExternalMediaProjection` method, which allows you to set an external `MediaProjection` and replace the MediaProjection applied by the SDK. - -If you have the capability to apply for `MediaProjection` on your own, you can use this feature to achieve more flexible screen capture. - -#### 7. EGL context - -This version introduces the `setExternalRemoteEglContext` method, which is used to set the EGL context for rendering remote video streams. When using Texture format video data for remote video self-rendering, you can use this method to replace the SDK's default remote EGL context, achieving unified EGL context management. - -#### 8. Color space settings - -This version adds `getColorSpace` and `setColorSpace` to `VideoFrame`. You can use `getColorSpace` to obtain the color space properties of the video frame and use `setColorSpace` to customize the settings. By default, the color space uses Full Range and BT.709 standard configuration. Developers can flexibly adjust according to their own capture or rendering needs, further enhancing the customization capabilities of video processing. - -### Improvements - -#### 1. Virtual background algorithm optimization - -This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -#### 2. Snapshot at specified video observation points - -This version introduces the `takeSnapshot [2/2]` and `takeSnapshotEx [2/2]` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -#### 3. Custom audio capture improvements - -This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is false, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -#### 4. Other Improvements - -- In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. -- Optimizes the logic for calling queryDeviceScore to obtain device score levels, improving the accuracy of the score results. -- When calling `switchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the onPlayerEvent callback will report the `PLAYER_EVENT_SWITCH_ERROR` event, indicating an error occurred during media resource switching. -- When calling `setPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -### Bug fixes - -This version fixes the following issues: - -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. -- Occasional noise and stuttering when playing music resources from the music content center. -- During audio and video interaction, after being interrupted by a system call, the user volume reported by the `onAudioVolumeIndication` callback was incorrect. -- When the receiving end subscribes to the video small stream by default and does not automatically subscribe to any video stream when joining the channel, calling `muteRemoteVideoStream(uid, false)` after joining the channel to resume receiving the video stream results in receiving the video large stream, which is not as expected. -- Calling `startAudioMixing [1/2]` and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. -- Occasional crashes during audio and video interaction. +**Android 14 screen sharing issue** +On Android 14 devices (such as OnePlus 11), screen sharing may not be available when `targetSdkVersion` is set to 34. For example, half of the shared screen may be black. To avoid this issue, Agora recommends setting `targetSdkVersion` to 34 or below. However, this may cause the screen sharing process to be interrupted when switching between portrait and landscape mode. In this case, a window will pop up on the device asking if you want to start recording the screen. After confirming, you can resume screen sharing. ## v4.4.1 @@ -205,7 +102,7 @@ This version was released on May x, 20xx. 1. This release enhances the usability of the [setRemoteSubscribeFallbackOption](API/api_irtcengine_setremotesubscribefallbackoption.html) method by removing the timing requirements for invocation. It can now be called both before and after joining the channel to dynamically switch audio and video stream fallback options in weak network conditions. 2. The Agora media player supports playing MP4 files with an Alpha channel. -3. The Agora media player fully supports playing music files located in the `/assets/` directory or from URI starting with `content://`. +3. The Agora media player fully supports playing music files located in the `/assets/` directory or from URI starting with `content://`. #### Issues fixed @@ -422,13 +319,13 @@ This release has optimized the implementation of some functions, involving renam The `LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE` enumeration has been changed to `LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT`. 8. **Log encryption behavior changes** - - For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console. - + + For security and performance reasons, as of this release, the SDK encrypts logs and no longer supports printing plaintext logs via the console. + Refer to the following solutions for different needs: - If you need to know the API call status, please check the API logs and print the SDK callback logs yourself. - For any other special requirements, please contact [technical support](mailto:support@agora.io) and provide the corresponding encrypted logs. - + 9. **Removing IAgoraEventHandler interface** This release deletes the `IAgoraEventHandler` interface class. All callback events that were previously managed under this class are now processed through the `IRtcEngineEventHandler` interface class. diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md index 6f9aef67c7f..e7a4538f232 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_ios_ng.md @@ -4,99 +4,6 @@ AirPods Pro does not support A2DP protocol in communication audio mode, which may lead to connection failure in that mode. -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -**Attention:** - -As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the `aosl.xcframework` library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the `aosl.xcframework` library to avoid conflicts. The `aosl.xcframework` library version in RTC SDK v4.5.0 is 1.2.13. You can check the version in the `Info.plist` file. - -1. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. The `AgoraVideoDenoiserLevel` removes `AgoraVideoDenoiserLevelStrength`. Instead, after enabling video denoising by calling `setVideoDenoiserOptions:options:`, you can call the `setBeautyEffectOptions:options:` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions:options:`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions:options:`. - -2. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `AgoraCompressionPreference` enumeration class, a new `AgoraCompressionAuto` (-1) enumeration is added, replacing the original `AgoraCompressionQuality` (1) as the default value. In this mode, the SDK will automatically choose between `AgoraCompressionLowLatency` or `AgoraCompressionQuality` based on your video scene settings to achieve the best user experience. - - In the `AgoraDegradationPreference` enumeration class, a new `AgoraDegradationMaintainAuto` (-1) enumeration is added, replacing the original `AgoraDegradationMaintainQuality` (1) as the default value. In this mode, the SDK will automatically choose between `AgoraDegradationMaintainFramerate`, `AgoraDegradationBalanced`, or `AgoraDegradationMaintainResolution` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -#### New features - -1. **Live show scenario** - - This version adds the `AgoraApplicationLiveShowScenario`(3) (Live Show) enumeration to the `AgoraApplicationScenarioType`. You can call `setVideoScenario:` to set the video business scenario to show room. To meet the high requirements for first frame rendering time and image quality in this scenario, the SDK has optimized strategies to significantly improve the first frame rendering experience and image quality, while enhancing the performance in weak network environments and on low-end devices. - -2. **Maximum frame rate for video rendering** - - This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Watching live streaming through URLs** - - As of this version, audience members can directly open a specific URL to play the real-time media stream through `openWithUrl:startTime:cb:`, instead of joining a channel and subscribing to the streams of hosts, which greatly simplifies the API calls for the audience end to watch a live stream. - -4. **Filter effects** - - This version introduces the `setFilterEffectOptions:options:sourceType:` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -5. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: - - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -6. **Color space settings** - - This version adds the `colorSpace` parameter to `AgoraOutputVideoFrame` and `AgoraVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -#### Improvements - -1. **Virtual background algorithm optimization** - - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -2. **Snapshot at specified video observation points** - - This version introduces the `takeSnapshotWithConfig:config:` and `takeSnapshotExWithConfig:uid:config:` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AgoraAudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `NO`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Other Improvements** - - - In scenarios where Alpha transparency effects are achieved by stitching video frames and Alpha data, the rendering performance on the receiving end has been improved, effectively reducing stuttering and latency. - - Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - After calling `enableLocalAudio:` to disable local audio capture within the channel, the mute side button on the phone can be used to mute the background sound effects played by the app. - - When calling `switchSrc:syncPts:` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `AgoraRtcMediaPlayer:didOccurEvent:elapsedTime:message:` callback will report the `AgoraMediaPlayerEventSwitchError` event, indicating an error occurred during media resource switching. - - When calling `setPlaybackSpeed:` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Bug fixes - -This version fixes the following issues: - -- When the video source type of the sender is in JPEG format, the frame rate on the receiving end occasionally falls below expectations. -- Occasional instances where the receiving end cannot hear the sender during audio and video interaction. -- During audio and video interaction, if the sender's device system version is iOS 17, the receiving end occasionally cannot hear the sender. -- In live streaming scenarios, the time taken to reconnect to the live room after the audience end disconnects due to network switching is longer than expected. -- No sound when playing online media resources using the media player after the app starts. -- Occasional instances of no sound in audio capture after resuming from being interrupted by other system apps during audio and video interaction. -- Calling `startAudioMixing:loopback:cycle:` and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. - ## v4.4.0 This version was released on July x, 2024. diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md index b8e5673d106..36ae446c02d 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_mac_ng.md @@ -1,110 +1,7 @@ -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -**Attention:** - -As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the `aosl.xcframework` library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the `aosl.xcframework` library to avoid conflicts. The `aosl.xcframework` library version in RTC SDK v4.5.0 is 1.2.13. You can check the version in the `Info.plist` file. - -1. **Automatic installation of virtual sound card** - - Starting from this version, the SDK supports the automatic installation of a virtual sound card. When you call `enableLoopbackRecording:deviceName:` for the first time, the SDK will automatically install the AgoraALD, a virtual sound card developed by Agora. Once the installation is successful, the audio routing will automatically switch to the virtual sound card, and the virtual sound card will be used for audio capture. - -2. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. The `AgoraVideoDenoiserLevel` removes `AgoraVideoDenoiserLevelStrength`. Instead, after enabling video denoising by calling `setVideoDenoiserOptions:options:`, you can call the `setBeautyEffectOptions:options:` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions:options:`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions:options:`. - -3. **Changes in camera plug and unplug status** - - In previous versions, the camera would not automatically resume capture after being unplugged and replugged. Starting from this version, the camera will automatically resume capture after being replugged. - -4. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `AgoraCompressionPreference` enumeration class, a new `AgoraCompressionAuto` (-1) enumeration is added, replacing the original `AgoraCompressionQuality` (1) as the default value. In this mode, the SDK will automatically choose between `AgoraCompressionLowLatency` or `AgoraCompressionQuality` based on your video scene settings to achieve the best user experience. - - In the `AgoraDegradationPreference` enumeration class, a new `AgoraDegradationMaintainAuto` (-1) enumeration is added, replacing the original `AgoraDegradationMaintainQuality` (1) as the default value. In this mode, the SDK will automatically choose between `AgoraDegradationMaintainFramerate`, `AgoraDegradationBalanced`, or `AgoraDegradationMaintainResolution` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -#### New features - -1. **Live show scenario** - - This version adds the `AgoraApplicationLiveShowScenario`(3) (Live Show) enumeration to the `AgoraApplicationScenarioType`. You can call `setVideoScenario:` to set the video business scenario to show room. To meet the high requirements for first frame rendering time and image quality in this scenario, the SDK has optimized strategies to significantly improve the first frame rendering experience and image quality, while enhancing the performance in weak network environments and on low-end devices. - -2. **Maximum frame rate for video rendering** - - This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Watching live streaming through URLs** - - As of this version, audience members can directly open a specific URL to play the real-time media stream through `openWithUrl:startTime:cb:`, instead of joining a channel and subscribing to the streams of hosts, which greatly simplifies the API calls for the audience end to watch a live stream. - -4. **Filter effects** - - This version introduces the `setFilterEffectOptions:options:sourceType:` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -5. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: - - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -6. **Color space settings** - - This version adds the `colorSpace` parameter to `AgoraOutputVideoFrame` and `AgoraVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -7. **Others** - - - The `rtcEngine:device:type:stateChanged:` callback supports reporting that the device has been plugged in. - -#### Improvements - -1. **Virtual background algorithm optimization** - - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -2. **Snapshot at specified video observation points** - - This version introduces the `takeSnapshotWithConfig:config:` and `takeSnapshotExWithConfig:uid:config:` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AgoraAudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `NO`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Other Improvements** - - - Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - When calling `switchSrc:syncPts:` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `AgoraRtcMediaPlayer:didOccurEvent:elapsedTime:message:` callback will report the `AgoraMediaPlayerEventSwitchError` event, indicating an error occurred during media resource switching. - - When calling `setPlaybackSpeed:` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Bug fixes - -This version fixes the following issues: - -- Calling `startAudioMixing:loopback:cycle:` and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. - ## v4.4.0 This version was released on July x, 2024. -## Known issues and limitations - -**macOS 15 Sequoia Beta System Issue** - -When the app path (including the App name) contains non-English characters (such as Chinese characters), the compiled `Metal shader library` may not contain any methods, causing the app to crash. - #### Compatibility changes This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. diff --git a/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md b/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md index 50dc45f17f7..e1bc5bede0d 100644 --- a/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md +++ b/markdown/RTC 4.x/release-notes/en-US/native/release_windows_ng.md @@ -1,112 +1,3 @@ -## v4.5.0 - -This version was released on November x, 2024. - -#### Compatibility changes - -This version includes optimizations to some features, including changes to SDK behavior, API renaming and deletion. To ensure normal operation of the project, update the code in the app after upgrading to this release. - -**Attention:** - -As of v4.5.0, both RTC SDK and RTM SDK (v2.2.0 and above) include the `aosl.dll` library. If you manually integrate RTC SDK via CDN and also use RTM SDK, delete the lower version of the `aosl.dll` library to avoid conflicts. The `aosl.dll` library version in RTC SDK v4.5.0 is 1.2.13. You can check the version by viewing the `aosl.dll` file properties. - -1. **Member Parameter Type Changes** - - To enhance the adaptability of various frameworks to the Native SDK, this version has made the following modifications to some API members or parameters: - - | API | Members/Parameters | Change | - | ------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------ | - | `startScreenCaptureByDisplayId` | **displayId** | Changed from uint32_t to int64_t | - | `startScreenCaptureByWindowId` | **windowId** | Changed from view_t to int64_t | - | `ScreenCaptureConfiguration` |
                                      • **displayId**
                                      • **windowId**
                                      |
                                      • **displayId**: Changed from uint32_t to int64_t
                                      • **windowId**: Changed from view_t to int64_t
                                      | - | `ScreenCaptureSourceInfo` |
                                      • **sourceDisplayId**
                                      • **sourceId**
                                      |
                                      • **sourceDisplayId**: Changed from view_t to int64_t
                                      • **sourceId**:Default value changed from `nullptr` to 0
                                      | - -2. **Changes in strong video denoising implementation** - - This version adjusts the implementation of strong video denoising. The `VIDEO_DENOISER_LEVEL` removes `VIDEO_DENOISER_LEVEL_STRENGTH`. Instead, after enabling video denoising by calling `setVideoDenoiserOptions`, you can call the `setBeautyEffectOptions` method to enable the beauty skin smoothing feature. Using both together will achieve better video denoising effects. For strong denoising, it is recommended to set the skin smoothing parameters as detailed in `setVideoDenoiserOptions`. - - Additionally, due to this adjustment, to achieve the best low-light enhancement effect with a focus on image quality, you need to enable video denoising first and use specific settings as detailed in `setLowlightEnhanceOptions`. - -3. **Changes in camera plug and unplug status** - - In previous versions, when the camera was unplugged and replugged, the `onVideoDeviceStateChanged` callback would report the device status as `MEDIA_DEVICE_STATE_ACTIVE`(1) (device in use). Starting from this version, after the camera is replugged, the device status will change to `MEDIA_DEVICE_STATE_IDLE`(0) (device ready). - -4. **Changes in video encoding preferences** - - To enhance the user’s video interaction experience, this version optimizes the default preferences for video encoding: - - - In the `COMPRESSION_PREFERENCE` enumeration class, a new `PREFER_COMPRESSION_AUTO` (-1) enumeration is added, replacing the original `PREFER_QUALITY` (1) as the default value. In this mode, the SDK will automatically choose between `PREFER_LOW_LATENCY` or `PREFER_QUALITY` based on your video scene settings to achieve the best user experience. - - In the `DEGRADATION_PREFERENCE` enumeration class, a new `MAINTAIN_AUTO` (-1) enumeration is added, replacing the original `MAINTAIN_QUALITY` (1) as the default value. In this mode, the SDK will automatically choose between `MAINTAIN_FRAMERATE`, `MAINTAIN_BALANCED`, or `MAINTAIN_RESOLUTION` based on your video scene settings to achieve the optimal overall quality experience (QoE). - -#### New features - -1. **Live show scenario** - - This version adds the `APPLICATION_SCENARIO_LIVESHOW`(3) (Live Show) enumeration to the `VIDEO_APPLICATION_SCENARIO_TYPE`. You can call `setVideoScenario` to set the video business scenario to showroom. To meet the high requirements for first frame rendering time and image quality in this scenario, the SDK has optimized strategies to significantly improve the first frame rendering experience and image quality, while enhancing the image quality in weak network environments and on low-end devices. - -2. **Maximum frame rate for video rendering** - - This version adds the `setLocalRenderTargetFps` and `setRemoteRenderTargetFps` methods, which support setting the maximum frame rate for video rendering locally and remotely. The actual frame rate for video rendering by the SDK will be as close to this value as possible. - - In scenarios where the frame rate requirement for video rendering is not high (e.g., screen sharing, online education) or when the remote end uses mid-to-low-end devices, you can use this set of methods to limit the video rendering frame rate, thereby reducing CPU consumption and improving system performance. - -3. **Watching live streaming through URLs** - - As of this version, audience members can directly open a specific URL to play the real-time media stream through `OpenWithUrl`, instead of joining a channel and subscribing to the streams of hosts, which greatly simplifies the API calls for the audience end to watch a live stream. - -4. **Filter effects** - - This version introduces the `setFilterEffectOptions` method. You can pass a cube map file (.cube) in the `config` parameter to achieve custom filter effects such as whitening, vivid, cool, black and white, etc. Additionally, the SDK provides a built-in `built_in_whiten_filter.cube` file for quickly achieving a whitening filter effect. - -5. **Local audio mixing** - - This version introduces the local audio mixing feature. You can call the `startLocalAudioMixer` method to mix the audio streams from the local microphone, media player, sound card, and remote audio streams into a single audio stream, which can then be published to the channel. When you no longer need audio mixing, you can call the `stopLocalAudioMixer` method to stop local audio mixing. During the mixing process, you can call the `updateLocalAudioMixerConfiguration` method to update the configuration of the audio streams being mixed. - - Example use cases for this feature include: - - - By utilizing the local video mixing feature, the associated audio streams of the mixed video streams can be simultaneously captured and published. - - In live streaming scenarios, users can receive audio streams within the channel, mix multiple audio streams locally, and then forward the mixed audio stream to other channels. - - In educational scenarios, teachers can mix the audio from interactions with students locally and then forward the mixed audio stream to other channels. - -6. **Color space settings** - - This version adds the **colorSpace** parameter to `VideoFrame` and `ExternalVideoFrame`. You can use this parameter to set the color space properties of the video frame. By default, the color space uses Full Range and BT.709 standard configuration. You can flexibly adjust according to your own capture or rendering needs, further enhancing the customization capabilities of video processing. - -7. **Others** - - - `onLocalVideoStateChanged` callback adds the `LOCAL_VIDEO_STREAM_REASON_DEVICE_DISCONNECTED` enumeration, indicating that the currently used video capture device has been disconnected (e.g., unplugged). - - `MEDIA_DEVICE_STATE_TYPE` adds the `MEDIA_DEVICE_STATE_PLUGGED_IN` enumeration, indicating that the device has been plugged in. - -#### Improvements - -1. **Virtual background algorithm optimization** - - This version upgrades the virtual background algorithm, making the segmentation between the portrait and the background more accurate. There is no background exposure, the body contour of the portrait is complete, and the detail recognition of fingers is significantly improved. Additionally, the edges between the portrait and the background are more stable, reducing edge jumping and flickering in continuous video frames. - -2. **Snapshot at specified video observation points** - - This version introduces the `takeSnapshot [2/2]` and `takeSnapshotEx [2/2]` methods. You can use the `config` parameter when calling these methods to take snapshots at specified video observation points, such as before encoding, after encoding, or before rendering, to achieve more flexible snapshot effects. - -3. **Custom audio capture improvements** - - This version adds the `enableAudioProcessing` member parameter to `AudioTrackConfig`, which is used to control whether to enable 3A audio processing for custom audio capture tracks of the `AUDIO_TRACK_DIRECT` type. The default value of this parameter is `false`, meaning that audio processing is not enabled. Users can enable it as needed, enhancing the flexibility of custom audio processing. - -4. **Other Improvements** - - - Optimizes the logic for calling `queryDeviceScore` to obtain device score levels, improving the accuracy of the score results. - - Supports using virtual cameras in YV12 format as video capture devices. - - When calling `switchSrc` to switch between live streams or on-demand streams of different resolutions, smooth and seamless switching can be achieved. An automatic retry mechanism has been added in case of switching failures. The SDK will automatically retry 3 times after a failure. If it still fails, the `onPlayerEvent` callback will report the `PLAYER_EVENT_SWITCH_ERROR` event, indicating an error occurred during media resource switching. - - When calling `setPlaybackSpeed` to set the playback speed of an audio file, the minimum supported speed is 0.3x. - -#### Bug fixes - -This version fixes the following issues: - -- When calling `startScreenCaptureByWindowId` to share the screen, the window capture area specified by `regionRect` was inaccurate, resulting in incorrect width and height of the screen sharing window seen by the receiving end. -- Occasional errors of not finding system files during audio and video interaction on Windows 7 systems. -- When calling `followSystemRecordingDevice` or `followSystemPlaybackDevice` to set the audio capture or playback device used by the SDK to not follow the system default audio playback device, the local audio state callback `onLocalAudioStateChanged` is not triggered when the audio device is removed, which is not as expected. -- Calling `startAudioMixing [1/2]` and then immediately calling `pauseAudioMixing` to pause the music file playback does not take effect. - ## v4.4.0 This version was released on July x, 2024.