diff --git a/dita/RTC-NG/API/api_agorartcenginekit_addvideowatermark1.dita b/dita/RTC-NG/API/api_agorartcenginekit_addvideowatermark1.dita new file mode 100644 index 00000000000..576be9dcdd0 --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_addvideowatermark1.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="addVideoWatermark1"/> + 向本地视频添加水印图像。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.5.0 版本废弃,请改用 `addVideoWatermarkWithConfig:`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_addvideowatermark2.dita b/dita/RTC-NG/API/api_agorartcenginekit_addvideowatermark2.dita new file mode 100644 index 00000000000..7c78f847add --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_addvideowatermark2.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="addVideoWatermark2"/> + 为本地视频添加水印图像。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.5.0 版本废弃,请改用 `addVideoWatermarkWithConfig:config`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_enabledualstreammode.dita b/dita/RTC-NG/API/api_agorartcenginekit_enabledualstreammode.dita new file mode 100644 index 00000000000..6c031adbafa --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_enabledualstreammode.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="enableDualStreamMode"/> + 在发送端启用或关闭不同质量层级的视频流。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.2.0 版本废弃,请改用 `setDualStreamMode`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_enabledualstreammode3.dita b/dita/RTC-NG/API/api_agorartcenginekit_enabledualstreammode3.dita new file mode 100644 index 00000000000..08c84bda42f --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_enabledualstreammode3.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="enableDualStreamMode3"/> + 在发送端设置不同质量层级的视频流模式及低质量视频流配置。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.2.0 版本废弃,请改用 `setDualStreamMode`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_pushexternalaudioframesamplebuffer1.dita b/dita/RTC-NG/API/api_agorartcenginekit_pushexternalaudioframesamplebuffer1.dita new file mode 100644 index 00000000000..fc73c0143d2 --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_pushexternalaudioframesamplebuffer1.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="pushExternalAudioFrameSampleBuffer1"/> + 推送外部 CMSampleBuffer 音频帧。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 vX.X.X 版本废弃,请改用 `pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId:`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_pushvideoframe2.dita b/dita/RTC-NG/API/api_agorartcenginekit_pushvideoframe2.dita new file mode 100644 index 00000000000..ec23fbb705f --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_pushvideoframe2.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="pushVideoFrame2"/> + 将外部原始视频帧推送到 SDK。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.5.0 版本废弃,请改用 `pushExternalVideoFrame:frame,videoTrackId`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_setaudioprofile.dita b/dita/RTC-NG/API/api_agorartcenginekit_setaudioprofile.dita new file mode 100644 index 00000000000..595a07a370b --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_setaudioprofile.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="setAudioProfile"/> + 设置音频配置和音频场景。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
该方法已废弃。你可以使用 `setAudioProfile:` 方法代替。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_setexternalaudiosource.dita b/dita/RTC-NG/API/api_agorartcenginekit_setexternalaudiosource.dita new file mode 100644 index 00000000000..ec845785355 --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_setexternalaudiosource.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="setExternalAudioSource"/> + 设置外部音频源。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.5.0 版本废弃,请改用 `createCustomAudioTrack:config:`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_setexternalaudiosource2.dita b/dita/RTC-NG/API/api_agorartcenginekit_setexternalaudiosource2.dita new file mode 100644 index 00000000000..6952331f84d --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_setexternalaudiosource2.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="setExternalAudioSource2"/> + 设置外部音频源参数。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 v4.5.0 版本废弃,请改用 `createCustomAudioTrack:config:`。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agorartcenginekit_setlocalrendermode1.dita b/dita/RTC-NG/API/api_agorartcenginekit_setlocalrendermode1.dita new file mode 100644 index 00000000000..34f60259be3 --- /dev/null +++ b/dita/RTC-NG/API/api_agorartcenginekit_setlocalrendermode1.dita @@ -0,0 +1,67 @@ + + + + <ph keyref="setLocalRenderMode1"/> + 设置本地视频的显示模式。 + + + + + + + + +
+

+ + + + + + + + +

+
+
+

+

+ +
弃用:
+
自 vX.X.X 版本废弃。
+
+
+
+
+ 适用场景 +

+

+
+ 调用时机 +

+

+
+ 调用限制 +

+

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

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

+
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
+
+
diff --git a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita index dc2beb0b451..306498e4e5c 100644 --- a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita +++ b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita @@ -1,8 +1,8 @@ - + <ph keyref="initWithSize"/> - 指定视频分辨率并初始化一个 对象。 + 指定视频分辨率并初始化 对象。 @@ -14,51 +14,56 @@

- + - (instancetype _Nonnull)initWithSize:(CGSize)size - frameRate:(AgoraVideoFrameRate)frameRate - bitrate:(NSInteger)bitrate - orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode; + frameRate:(AgoraVideoFrameRate)frameRate + bitrate:(NSInteger)bitrate + orientationMode:(AgoraVideoOutputOrientationMode)orientationMode + mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(size:frameRate:bitrate:orientationMode:mirrorMode:)); -

+

参数 size - 视频分辨率。 + 视频分辨率。 frameRate - 视频帧率。详见 - + 视频帧率。详见 + 视频帧率,详见 + bitrate - 视频码率。 - + 视频码率。 + 编码视频的码率,单位为 Kbps。 + orientationMode - 视频方向。详见 - + 视频方向。详见 + 编码视频的方向模式,详见 + mirrorMode - 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 。 + 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

-
-
+ 本地视频流的镜像模式,仅影响远端用户看到的视频,详见 + +
返回值 -

初始化的 对象。

-
+

初始化的 对象。

+

方法调用成功,返回初始化后的 对象。

+
diff --git a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita index e371578ce9d..fe64579be09 100644 --- a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita +++ b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita @@ -1,8 +1,8 @@ - + <ph keyref="initWithWidth"/> - 指定视频宽和高并初始化一个 对象。 + 指定视频宽高并初始化 对象。 @@ -14,56 +14,63 @@

- + - (instancetype _Nonnull)initWithWidth:(NSInteger)width - height:(NSInteger)height - frameRate:(AgoraVideoFrameRate)frameRate - bitrate:(NSInteger)bitrate - orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode; + height:(NSInteger)height + frameRate:(AgoraVideoFrameRate)frameRate + bitrate:(NSInteger)bitrate + orientationMode:(AgoraVideoOutputOrientationMode)orientationMode + mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(width:height:frameRate:bitrate:orientationMode:mirrorMode:)); -

+

参数 width - 视频宽度。 - + 视频宽度。 + 视频的宽度。 + height - 视频高度。 - + 视频高度。 + 视频的高度。 + frameRate - 视频帧率。详见 - + 视频帧率。详见 + 视频帧率,详见 + bitrate - 视频码率。 - + 视频码率。 + 编码视频的码率。 + orientationMode - 视频方向。详见 - + 视频方向。详见 + 编码视频的方向,详见 + mirrorMode - 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 。 + 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

-
-
+ 设置本地视频流的镜像模式,仅影响远端用户看到的视频,详见 + +
返回值 -

初始化的 对象。

-
+

初始化的 对象。

+

方法调用成功,返回 对象。

+
diff --git a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita index 4db7dc5d0e9..09161122a07 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustAudioMixingPlayoutVolume" /> - 调节音乐文件在本地播放的音量。 + <ph keyref="adjustAudioMixingPlayoutVolume"/> + 调节本地播放的混音音量。 - + @@ -14,22 +14,21 @@

public abstract int adjustAudioMixingPlayoutVolume(int volume); - public abstract adjustAudioMixingPlayoutVolume(volume: number): number; - - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; + + - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:)); virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustAudioMixingPlayoutVolume(int volume); - abstract adjustAudioMixingPlayoutVolume(volume: number): number; - public abstract int AdjustAudioMixingPlayoutVolume(int volume); - abstract adjustAudioMixingPlayoutVolume(volume: number): number; - Future<void> adjustAudioMixingPlayoutVolume(int volume); -

+ + + + +

+

调用时机 -

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

+

你需要在调用 startAudioMixing 并收到 )回调后调用此方法。

调用限制 @@ -38,17 +37,24 @@
参数 - - volume - 音乐文件音量。取值范围为 [0,100],100 (默认值)为原始音量。 + + volume + 本地播放的混音音量。取值范围为 0 到 100,默认值为 100,表示原始音量。 + 本地播放的混音音量。取值范围为 0 到 100(默认值为 100)。100 表示原始音量。
-
+
<ph keyref="return-section-title"/> -

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

-
    -
  • 0: 方法调用成功。
  • -
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -
- - \ No newline at end of file +

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
+ + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita index 24b2da16475..83fc1552dbb 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustAudioMixingPublishVolume" /> - 调节音乐文件远端播放音量。 + <ph keyref="adjustAudioMixingPublishVolume"/> + 调节用于发布的混音音量。 - + @@ -14,23 +14,21 @@

public abstract int adjustAudioMixingPublishVolume(int volume); - public abstract adjustAudioMixingPublishVolume(volume: number): number; - - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; + + - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:)); virtual int adjustAudioMixingPublishVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustAudioMixingPublishVolume(int volume); - abstract adjustAudioMixingPublishVolume(volume: number): number; - public abstract int AdjustAudioMixingPublishVolume(int volume); - abstract adjustAudioMixingPublishVolume(volume: number): number; - Future<void> adjustAudioMixingPublishVolume(int volume); -

+ + + + +

-

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

+

调用时机 -

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

+

请在调用 startAudioMixing 并收到 )回调后调用该方法。

调用限制 @@ -39,17 +37,25 @@
参数 - - volume - 音乐文件音量。取值范围为 [0,100],100 (默认值)为原始音量。 + + volume + 用于远端播放的混音音量。取值范围为 0 到 100,默认值为 100,表示原始音量。 + 用于本地播放的混音音量。该值的范围是 0 到 100(默认值为 100)。100 表示原始音量。 + 用于发布的混音音量。取值范围为 0 到 100,默认值为 100,表示原始音量。
-
+
<ph keyref="return-section-title"/> -

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

-
    -
  • 0: 方法调用成功。
  • -
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -
- - \ No newline at end of file +

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
+ + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita index e9f66fc11eb..2e4081b721d 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita @@ -1,8 +1,8 @@ - + <ph keyref="adjustAudioMixingVolume"/> - 调节音乐文件的播放音量。 + 调节混音音量。 @@ -14,24 +14,21 @@

public abstract int adjustAudioMixingVolume(int volume); - public abstract adjustAudioMixingVolume(volume: number): number; - - (int)adjustAudioMixingVolume:(NSInteger)volume; + + - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:)); virtual int adjustAudioMixingVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustAudioMixingVolume(int volume); - abstract adjustAudioMixingVolume(volume: number): number; - public abstract int AdjustAudioMixingVolume(int volume); - abstract adjustAudioMixingVolume(volume: number): number; - Future<void> adjustAudioMixingVolume(int volume); -

+ + + + +

-

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

- 调用该方法不会影响 方法中设置的音效文件播放音量。 +

调用时机 -

该方法需要在 后调用。

+

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

调用限制 @@ -40,17 +37,25 @@
参数 - - volume - 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。 + + volume + 混音音量。取值范围为 0 到 100,默认值为 100(默认),表示原始音量。 + 混音音量。取值范围为 0 到 100,默认值为 100,表示原始音量。 + 混音音量。取值范围为 0 到 100。(默认)100 表示原始音量。
-
+
<ph keyref="return-section-title"/> -

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

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

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
+ diff --git a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita index 0fdd6a390cc..e98636e2c9b 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustCustomAudioPlayoutVolume"/> - 调节自定义音频采集轨道在本地播放的音量。 + <ph keyref="adjustCustomAudioPlayoutVolume"/> + 调整本地播放的自定义音频轨道的音量。 - + @@ -14,48 +14,58 @@

public abstract int adjustCustomAudioPlayoutVolume(int trackId, int volume); - + - (int)adjustCustomAudioPlayoutVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:)); virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustCustomAudioPlayoutVolume(int64 trackId, int volume); - abstract adjustCustomAudioPlayoutVolume( - trackId: number, - volume: number - ): number; - public abstract int AdjustCustomAudioPlayoutVolume(uint trackId, int volume); - abstract adjustCustomAudioPlayoutVolume( - trackId: number, - volume: number - ): number; - Future<void> adjustCustomAudioPlayoutVolume( - {required int trackId, required int volume}); -

+ + + + +

-
- 详情 - 在调用该方法前,请确保你已经调用 方法创建自定义音频采集轨道。 -

调用该方法设置音频在本地播放的音量后,如果你想重新调整音量,你可以再次调用该方法。

+
+

-
+
+ 调用限制 +

无。

+
+
参数 - - - + + trackId + 音频轨道 ID。设置为 返回的自定义音频轨道 ID。 + 音频轨道 ID。请设置为 方法返回的自定义音频轨道 ID。 - - - + + volume + 音频源的音量,取值范围为 [0, 100]。 +
    +
  • 0:静音。
  • +
  • 100:原始音量。
  • +
+
+ 音频源的音量,取值范围为 0 到 100。 +
    +
  • 0:静音。
  • +
  • 100:原始音量。
  • +
+
-
+
<ph keyref="return-section-title"/> -

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

-
    -
  • 0:方法调用成功。
  • -
  • < 0:方法调用失败。详见了解详情和解决建议。
  • -
-
- - \ No newline at end of file +

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
+ + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita index d15a1674af8..a2b88c4fe5f 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustCustomAudioPublishVolume" /> - 调节自定义音频采集轨道在远端播放的音量。 + <ph keyref="adjustCustomAudioPublishVolume"/> + 调整远端播放的自定义音频轨道的音量。 - + @@ -14,48 +14,65 @@

public abstract int adjustCustomAudioPublishVolume(int trackId, int volume); - + - (int)adjustCustomAudioPublishVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:)); virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustCustomAudioPublishVolume(int64 trackId, int volume); - abstract adjustCustomAudioPublishVolume( - trackId: number, - volume: number - ): number; - public abstract int AdjustCustomAudioPublishVolume(uint trackId, int volume); - abstract adjustCustomAudioPublishVolume( - trackId: number, - volume: number - ): number; - Future<void> adjustCustomAudioPublishVolume( - {required int trackId, required int volume}); -

+ + + + +

-
- 详情 - 在调用该方法前,请确保你已经调用 方法创建自定义音频采集轨道。 -

调用该方法设置音频在远端播放的音量后,如果你想重新调整音量,你可以再次调用该方法。

+
+

-
+
+ 调用限制 +

无。

+
+
参数 - - trackId - 音频轨道 ID。将该参数设置为调用 方法返回的自定义音频轨道 ID。 + + trackId + 音频轨道 ID。设置为 返回的自定义音频轨道 ID。 + 音频轨道 ID。请设置为 方法返回的自定义音频轨道 ID。 + 音频轨道 ID,设置为 返回的自定义音频轨道 ID。 - - volume - 自定义采集音频的播放音量,取值范围为 [0,100]。0 表示静音,100 表示原始音量。 + + volume + 音频源的音量,取值范围为 [0,100]。 +
    +
  • 0:静音。
  • +
  • 100:原始音量。
  • +
+
+ 音频源的音量。取值范围为 0 到 100。 +
    +
  • 0:静音。
  • +
  • 100:原始音量。
  • +
+
+ 音频源的音量,取值范围为 0 到 100。 +
    +
  • 0:静音。
  • +
  • 100:原始音量。
  • +
+
-
+
<ph keyref="return-section-title"/> -

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

-
    -
  • 0:方法调用成功。
  • -
  • < 0:方法调用失败。详见了解详情和解决建议。
  • -
-
- - \ No newline at end of file +

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
+ + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita index f234bf87f58..965e016dcb2 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita @@ -1,49 +1,55 @@ - + - <ph keyref="adjustLoopbackSignalVolume" /> - 调节声卡采集信号音量。 + <ph keyref="adjustLoopbackSignalVolume"/> + 调节声卡回采信号的音量。 - +

- - - - (int)adjustLoopbackSignalVolume:(NSInteger)volume; - virtual int adjustLoopbackSignalVolume(int volume) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustLoopbackSignalVolume(int volume); - abstract adjustLoopbackSignalVolume(volume: number): number; - public abstract int AdjustLoopbackSignalVolume(int volume); - abstract adjustLoopbackSignalVolume(volume: number): number; - Future<void> adjustLoopbackSignalVolume(int volume); -

+ + + + virtual int adjustLoopbackSignalVolume(int volume) = 0; + + + + +

-
- 详情 -

调用 开启声卡采集后,你可以调用该方法调节声卡采集的信号音量。

+
+

-
+
+ 调用限制 +

无。

+
+
参数 - - - + + volume + 混音音量。取值范围为 0 到 100(默认值为 100,表示原始音量)。
-
+
<ph keyref="return-section-title"/> -

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

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

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
+ diff --git a/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita index 8d43ab74a27..5eb89f907c6 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustPlaybackSignalVolume" /> - 调节本地播放的所有远端用户信号音量。 + <ph keyref="adjustPlaybackSignalVolume"/> + 调节所有远端用户的播放信号音量。 - + @@ -14,23 +14,21 @@

public abstract int adjustPlaybackSignalVolume(int volume); - public abstract adjustPlaybackSignalVolume(volume: number): number; - - (int)adjustPlaybackSignalVolume:(NSInteger)volume; + + - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:)); virtual int adjustPlaybackSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustPlaybackSignalVolume(int volume); - abstract adjustPlaybackSignalVolume(volume: number): number; - public abstract int AdjustPlaybackSignalVolume(int volume); - abstract adjustPlaybackSignalVolume(volume: number): number; - Future<void> adjustPlaybackSignalVolume(int volume); -

+ + + + +

-

该方法用于调节所有远端用户混音后在本地播放的信号音量,如果你需要调节指定远端用户在本地播放的信号音量,建议你调用

+

调用时机 -

加入频道前后均可调用。

+

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

调用限制 @@ -39,17 +37,36 @@
参数 - - - + + volume + 用户的音量,取值范围为 [0, 400]: +
    +
  • 0:静音。
  • +
  • 100:(默认)原始音量。
  • +
  • 400:原始音量的四倍(将音频信号放大四倍)。
  • +
+
+ 用户的音量,取值范围为 [0,400]。 +
    +
  • 0:静音。
  • +
  • 100:(默认)原始音量。
  • +
  • 400:原始音量的四倍(将音频信号放大四倍)。
  • +
+
-
+
<ph keyref="return-section-title"/> -

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

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

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

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • +
+

+
- \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita index 29ff0d9edc8..5d238d55fa8 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustRecordingSignalVolume" /> - 调节音频采集信号音量。 + <ph keyref="adjustRecordingSignalVolume"/> + 调节采集音频信号的音量。 - + @@ -14,23 +14,21 @@

public abstract int adjustRecordingSignalVolume(int volume); - public abstract adjustRecordingSignalVolume(volume: number): number; - - (int)adjustRecordingSignalVolume:(NSInteger)volume; + + - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:)); virtual int adjustRecordingSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int AdjustRecordingSignalVolume(int volume); - abstract adjustRecordingSignalVolume(volume: number): number; - public abstract int AdjustRecordingSignalVolume(int volume); - abstract adjustRecordingSignalVolume(volume: number): number; - Future<void> adjustRecordingSignalVolume(int volume); -

+ + + + +

-

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

+

调用时机 -

加入频道前后均可调用。

+

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

调用限制 @@ -39,24 +37,36 @@
参数 - - volume - -

音量,取值范围为 [0,400]。 + + volume + 用户的音量,取值范围为 [0, 400]。

    -
  • 0: 静音。
  • -
  • 100: (默认)原始音量。
  • -
  • 400: 原始音量的 4 倍,自带溢出保护。
  • -

-
+
  • 0:静音。
  • +
  • 100:(默认)原始音量。
  • +
  • 400:原始音量的四倍(将音频信号放大四倍)。
  • + + + 用户的音量,取值范围为 [0,400]。 +
      +
    • 0:静音。
    • +
    • 100:(默认)原始音量。
    • +
    • 400:原始音量的四倍(将音频信号放大四倍)。
    • +
    +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita index 8abb6fc82be..b11e4f253b9 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="adjustUserPlaybackSignalVolume" /> - 调节本地播放的指定远端用户信号音量。 + <ph keyref="adjustUserPlaybackSignalVolume"/> + 调节指定远端用户的播放信号音量。 - + @@ -15,23 +15,24 @@

    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") + - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:)); + virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int AdjustUserPlaybackSignalVolume(int64 uid, int volume); abstract adjustUserPlaybackSignalVolume(uid: number, volume: number): number; public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); abstract adjustUserPlaybackSignalVolume(uid: number, volume: number): number; Future<void> adjustUserPlaybackSignalVolume( {required int uid, required int volume}); -

    +

    -

    你可以在通话中调用该方法调节指定远端用户在本地播放的音量。如需调节多个用户在本地播放的音量,则需多次调用该方法。

    -
    +

    你可以调用该方法调节指定远端用户的播放音量。若需调节多个远端用户的播放音量,请分别多次调用该方法,每次针对一个远端用户。

    + 请在加入频道后调用此方法。此处的播放音量指的是指定远端用户的混音音量。 +
    调用时机 -

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

    +

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

    调用限制 @@ -42,19 +43,43 @@ uid - 远端用户 ID。 - + 远端用户 ID。 + 远端用户的用户 ID。 + - - + + -
    -
    + + volume + 用户的音量,取值范围为 [0, 400]: +
      +
    • 0:静音。
    • +
    • 100:(默认)原始音量。
    • +
    • 400:原始音量的四倍(将音频信号放大四倍)。
    • +
    +
    + 指定远端用户的播放音量。取值范围为 [0, 400]: +
      +
    • 0:静音。
    • +
    • 100:(默认)原始音量。
    • +
    • 400:原始音量的四倍(将音频信号放大四倍)。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita b/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita index 4f506631808..98a1ec0d4f2 100644 --- a/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita +++ b/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita @@ -1,12 +1,12 @@ - + - <ph keyref="clearVideoWatermarks" /> - 删除已添加的视频水印。 + <ph keyref="clearVideoWatermarks"/> + 移除视频流中的水印图像。 - + @@ -14,23 +14,29 @@

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

    +

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

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_complain.dita b/dita/RTC-NG/API/api_irtcengine_complain.dita index 1a828472ec3..9d85907a35d 100644 --- a/dita/RTC-NG/API/api_irtcengine_complain.dita +++ b/dita/RTC-NG/API/api_irtcengine_complain.dita @@ -1,8 +1,8 @@ - + <ph keyref="complain"/> - 投诉通话质量。 + 允许用户在通话结束后投诉通话质量。 @@ -14,44 +14,69 @@

    public abstract int complain(String callId, String description); - + - (int)complain:(NSString * _Nonnull)callId - description:(NSString * _Nullable)description; + description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:)); virtual int complain(const char* callId, const char* description) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int Complain(const FString& callId, const FString& description); abstract complain(callId: string, description: string): number; public abstract int Complain(string callId, string description); abstract complain(callId: string, description: string): number; Future<void> complain({required String callId, required String description}); -

    +

    详情 -

    该方法允许用户就通话质量进行投诉。需要在离开频道后调用。

    -
    +

    请在用户离开频道后调用该方法。

    +
    参数 callId - 通话 ID。你可以通过调用 获取该参数。 - + 通话 ID。你可以通过调用 获取该参数。 + 当前通话的 Call ID。你可以通过调用 获取该值。 + 当前通话的通话 ID。你可以通过调用 方法获取该 ID。 + 当前通话的通话 ID。你可以通过调用 获取该 ID。 + description - (非必选项)通话的描述。长度应小于 800 字节。 - -
    -
    + (非必选项)通话的描述。长度应小于 800 字节。 + (可选)对通话的描述。字符串长度应小于 800 字节。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -1: 一般性的错误(未明确归类)。
        • -2: 参数无效。
        • -7: 尚未初始化就调用方法。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无明确原因)。
      • +
      • -2:参数无效。
      • +
      • -7:在 初始化前调用该方法。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无明确原因)。
      • +
      • -2:参数无效。
      • +
      • -7:在初始化 之前调用该方法。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita b/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita index ffa5e33c671..14c706889f0 100644 --- a/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita @@ -1,4 +1,4 @@ - + <ph keyref="configRhythmPlayer"/> @@ -14,16 +14,16 @@

    public abstract int configRhythmPlayer(AgoraRhythmPlayerConfig config); - - - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config; + + - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:)); virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int ConfigRhythmPlayer(const FAgoraRhythmPlayerConfig& config); abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number; public abstract int ConfigRhythmPlayer(AgoraRhythmPlayerConfig config); abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number; - Future<void> configRhythmPlayer(AgoraRhythmPlayerConfig config); -

    + Future<void> configRhythmPlayer(AgoraRhythmPlayerConfig config); +

      @@ -34,7 +34,7 @@
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -42,22 +42,31 @@
    参数 config - 节拍器配置。详见 - -
    -
    + 节拍器配置。详见 + 节拍器配置,详见 + 节拍器的配置。详见 + 节拍器的配置参数。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita index b7aebaaf27b..3e3ee6dc04a 100644 --- a/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita @@ -1,8 +1,8 @@ - + <ph keyref="createCustomVideoTrack"/> - 创建一个自定义的视频轨道。 + 创建一个自定义视频轨道。 @@ -15,30 +15,43 @@

    public abstract int createCustomVideoTrack(); public abstract createCustomVideoTrack(): number; - - (unsigned int)createCustomVideoTrack; + - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack()); virtual video_track_id_t createCustomVideoTrack() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int64 CreateCustomVideoTrack(); abstract createCustomVideoTrack(): number; public abstract video_track_id_t CreateCustomVideoTrack(); abstract createCustomVideoTrack(): number; Future<int> createCustomVideoTrack(); -

    +

    详情 -

    当你需要在频道中发布自定义采集视频时,可参考以下步骤: -

      +

      要发布自定义视频源,请按照以下步骤操作: +1. 调用该方法创建一个视频轨道,并获取视频轨道 ID。 +2. 调用 joinChannel 加入频道。在 中,将 customVideoTrackId 设置为要发布的视频轨道 ID,并将 publishCustomVideoTrack 设置为 。 +3. 调用 ,并将 videoTrackId 设置为第 2 步中指定的视频轨道 ID,即可在频道中发布对应的自定义视频源。

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

      -
    -
    +
    +
    返回值 -
      +
      • 方法调用成功,返回视频轨道 ID 作为该视频轨道的唯一标识。
      • 方法调用失败,返回 0xffffffff。详见了解详情和解决建议。
      • -
    + +

      +
    • 方法调用成功,返回视频轨道的唯一标识符(视频轨道 ID)。
    • +
    • 方法调用失败,返回 0xffffffff
    • +
    +

    +

      +
    • 方法调用成功,返回视频轨道的唯一标识符,即视频轨道 ID。
    • +
    • 方法调用失败,返回 0xffffffff。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita b/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita index 205dd9990f9..466fa397b5e 100644 --- a/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita @@ -1,12 +1,12 @@ - + - <ph keyref="createMediaPlayer" /> - 创建媒体播放器对象。创建媒体播放器实例。 + <ph keyref="createMediaPlayer"/> + 创建一个 对象。创建媒体播放器实例。 - + @@ -15,23 +15,22 @@

    public abstract IMediaPlayer createMediaPlayer(); public abstract createMediaPlayer():IMediaPlayer|undefined; - - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate: - (id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate; - virtual agora_refptr <IMediaPlayer> createMediaPlayer() = 0; - UFUNCTION(BlueprintPure, Category = "Agora|IAgoraMediaPlayer") + - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:)); + virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0; + UFUNCTION(BlueprintPure, Category = "Agora|IAgoraMediaPlayer") static UAgoraBPuMediaPlayer* GetAgoraMediaPlayer(); abstract createMediaPlayer(): IMediaPlayer; public abstract IMediaPlayer CreateMediaPlayer(); abstract createMediaPlayer(): IMediaPlayer; Future<MediaPlayer> createMediaPlayer(); -

    +

    -

    在调用 类下的其他 API 前,你需要先调用该方法创建一个媒体播放器实例。如果你需要创建多个实例,可以多次调用该方法。

    -
    +

    类下的其他 API 前,你需要先调用该方法创建一个媒体播放器实例。如果你需要创建多个实例,可以多次调用该方法。

    +
    调用时机 -

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

    +

    你可以在加入频道前或加入频道后调用此方法。

    调用限制 @@ -42,16 +41,28 @@ delegate - - -
    -
    + + 用于接收事件回调的事件处理器。详见 + +
    +
    返回值 -
      -
    • 方法调用成功:返回 对象。
    • +
        +
      • 方法调用成功:返回 对象。
      • 方法调用失败:返回空指针。
      -

      返回一个 实例。

      -
    +

    返回一个 实例。

    +

      +
    • 方法调用成功,返回 对象,详见
    • +
    • 方法调用失败,返回
    • +
    +

    +

    方法调用成功,返回 对象。方法调用失败,返回

    +

      +
    • 方法调用成功,返回 对象。
    • +
    • 方法调用失败,返回
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita b/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita index 87abfca10bf..92158788375 100644 --- a/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita +++ b/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita @@ -1,8 +1,8 @@ - + <ph keyref="createMediaRecorder"/> - 创建音视频录制对象。 + 创建一个音视频录制对象。 @@ -16,22 +16,16 @@ public abstract AgoraMediaRecorder createMediaRecorder(RecorderStreamInfo info); public abstract createMediaRecorder(info: RecorderStreamInfo): AgoraMediaRecorder; - (AgoraMediaRecorder * _Nullable)createMediaRecorder:(AgoraRecorderStreamInfo * _Nonnull)info NS_SWIFT_NAME(createMediaRecorder(withInfo:)); - virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UIMediaRecorder* CreateMediaRecorder(FRecorderStreamInfo info); abstract createMediaRecorder(info: RecorderStreamInfo): IMediaRecorder; public abstract IMediaRecorder CreateMediaRecorder(RecorderStreamInfo info); abstract createMediaRecorder(info: RecorderStreamInfo): IMediaRecorder; - Future<MediaRecorder?> createMediaRecorder(RecorderStreamInfo info);

    + Future<MediaRecorder?> createMediaRecorder(RecorderStreamInfo info);

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    在开始音视频流录制前,你需要调用该方法创建一个音视频录制对象。SDK 支持录制本地或远端用户的多个音视频流,你可以多次调用该方法创建录制对象,并通过 info 参数指定需要录制的频道名称和发流的用户 ID。

    成功创建后,你需要调用 注册录制对象的观测器来监听录制的相关回调,然后再调用 开始录制。

    @@ -40,16 +34,25 @@ info - 需要录制的音视频流相关信息,详见 - - -
    + 需要录制的音视频流相关信息,详见 + 要录制的音视频流的信息。详见 + 要录制的音视频流的信息,详见 + +
    +
    返回值 -
      -
    • 方法调用成功:返回一个 对象。
    • -
    • 方法调用成功:返回一个 实例。
    • +
        +
      • 方法调用成功:返回一个 对象。
      • +
      • 方法调用成功:返回一个 实例。
      • 方法调用失败:返回空指针。
      -
    +

      +
    • 方法调用成功,返回 对象。详见
    • +
    • 方法调用失败,返回
    • +
    +

    +

    方法调用成功,返回 对象,详见 。方法调用失败,返回

    +

    方法调用成功,返回 实例。方法调用失败,返回

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createvideoeffectobject.dita b/dita/RTC-NG/API/api_irtcengine_createvideoeffectobject.dita index f4e57180c6f..26595354226 100644 --- a/dita/RTC-NG/API/api_irtcengine_createvideoeffectobject.dita +++ b/dita/RTC-NG/API/api_irtcengine_createvideoeffectobject.dita @@ -2,7 +2,7 @@ <ph keyref="createVideoEffectObject"/> - 创建一个视频特效对象。 + 创建一个 视频特效对象。 @@ -25,14 +25,15 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +
    -

    创建一个 视频特效对象并返回其指针。

    +

    视频特效对象并返回其指针。

    调用该方法前需先调用 方法。 该方法适用于 Android 4.4 或更高版本。 + 你必须先调用 方法,再调用该方法。该方法适用于 Android 4.4 及以上版本。
    调用限制 @@ -42,35 +43,43 @@ 参数 - bundlePath - bundlePath + bundlePath 视频特效资源包的路径。 视频特效 bundle 的路径。 - sourceType - sourceType + sourceType + type + 媒体源类型,例如 。详见 + 媒体源类型,详见 + + + bundlePath + 视频特效资源包的路径。 + + type - 媒体源类型,例如 。详见 - 媒体源类型,例如 。详见 媒体源类型,详见 -
    -
    + + sourceType + 媒体源类型,例如 。详见 + +
    +
    <ph keyref="return-section-title"/>

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

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

    方法调用成功,返回 对象。方法调用失败,返回空指针。

      -
    • 方法调用成功,返回 对象指针。
    • -
    • 方法调用失败,返回空指针。
    • +
    • 方法调用成功,返回 对象指针,详见
    • +
    • 方法调用失败,返回

    -

    方法调用成功,返回 对象。方法调用失败,返回空指针。

    -

    方法调用成功,返回 对象。 -方法调用失败,返回 null。

    +

    方法调用成功,返回 对象。方法调用失败,返回

    diff --git a/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita index a5af4880740..5c01d87112b 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita @@ -1,4 +1,4 @@ - + <ph keyref="destroyCustomVideoTrack"/> @@ -15,31 +15,38 @@

    public abstract int destroyCustomVideoTrack(int video_track_id); public abstract destroyCustomVideoTrack(videoTrackId: number): number; - - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId; + - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:)); virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int DestroyCustomVideoTrack(int64 video_track_id); abstract destroyCustomVideoTrack(videoTrackId: number): number; public abstract int DestroyCustomVideoTrack(video_track_id_t video_track_id); abstract destroyCustomVideoTrack(videoTrackId: number): number; Future<void> destroyCustomVideoTrack(int videoTrackId); -

    +

    参数 - video_track_id - videoTrackId - 调用 方法返回的视频轨道 ID。 - -
    -
    + video_track_id + videoTrackId + 调用 方法返回的视频轨道 ID。 + 调用 返回的视频轨道 ID。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita b/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita index 9b81f64a1e4..0cbfba3f459 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita @@ -1,49 +1,58 @@ - + - <ph keyref="destroyMediaPlayer" /> - 销毁媒体播放器。 + <ph keyref="destroyMediaPlayer"/> + 销毁 实例。 - +

    - int destroy(); - + public static synchronized void destroy() public abstract destroy():number; - - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer; - + - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:)); virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAgoraMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IAgoraMediaPlayer") void Release(); abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; public abstract int DestroyMediaPlayer(IMediaPlayer mediaPlayer); abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; Future<void> destroyMediaPlayer(MediaPlayer mediaPlayer); -

    +

    -
    +
    参数 - - mediaPlayer + + mediaPlayer media_player -

    对象。

    +

    对象。

    -
    -
    + + media_player + 待销毁的媒体播放器实例,类型为 。详见 + 对象。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • ≥ 0: 方法调用成功,返回媒体播放器 ID
    • +

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

      +
        +
      • ≥ 0: 方法调用成功,返回媒体播放器 ID
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita b/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita index 312ab68269e..1dda9525c0b 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita @@ -1,8 +1,8 @@ - + <ph keyref="destroyMediaRecorder"/> - 销毁音视频录制对象。 + 销毁一个音视频录制对象。 @@ -16,33 +16,44 @@ public abstract void destroyMediaRecorder(AgoraMediaRecorder mediaRecorder); public abstract destroyMediaRecorder(recorder: AgoraMediaRecorder): void; - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder; - virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DestroyMediaRecorder(UIMediaRecorder* mediaRecorder); abstract destroyMediaRecorder(mediaRecorder: IMediaRecorder): number; public abstract int DestroyMediaRecorder(IMediaRecorder mediaRecorder); abstract destroyMediaRecorder(mediaRecorder: IMediaRecorder): number; - Future<void> destroyMediaRecorder(MediaRecorder mediaRecorder);

    + Future<void> destroyMediaRecorder(MediaRecorder mediaRecorder);

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    当你不需要再录制音视频流时,可以调用该方法销毁对应的音视频录制对象。如果你正在录制,请先调用 停止录制,再调用该方法来销毁音视频录制对象。

    参数 - mediaRecorder + mediaRecorder recorder - 待销毁的 对象。 - -
    -
    + 待销毁的 对象。 + 要销毁的录制器实例对象。详见 + 对象,表示要销毁的录制对象。详见 + + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见错误码及其对应的解决方案。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见错误码获取排查建议。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见 Error Codes
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroyvideoeffectobject.dita b/dita/RTC-NG/API/api_irtcengine_destroyvideoeffectobject.dita index a525662dfc9..9c5b13ca292 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroyvideoeffectobject.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroyvideoeffectobject.dita @@ -25,13 +25,14 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    调用该方法前需先调用 方法。该方法适用于 Android 4.4 或更高版本。 + 你必须先调用 方法再使用此方法。该方法适用于 Android 4.4 及以上版本。
    调用限制 @@ -46,7 +47,11 @@ 要销毁的 实例的指针。详见 待销毁的视频特效对象。详见 -
    + + videoEffectObject + 要销毁的视频特效对象。详见 + +
    <ph keyref="return-section-title"/>

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

    @@ -59,6 +64,6 @@
  • < 0:方法调用失败。
  • -
    + diff --git a/dita/RTC-NG/API/api_irtcengine_disableaudio.dita b/dita/RTC-NG/API/api_irtcengine_disableaudio.dita index de7f8eae444..bf331627a04 100644 --- a/dita/RTC-NG/API/api_irtcengine_disableaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_disableaudio.dita @@ -1,12 +1,12 @@ - + - <ph keyref="disableAudio" /> - 关闭音频模块。 + <ph keyref="disableAudio"/> + 禁用音频模块。 - + @@ -15,41 +15,65 @@

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

    +

    -

    音频模块默认开启,你可以调用该方法关闭音频模块。

    -
    +

    + 该方法会重置内部引擎,生效需要一定时间。声网建议使用以下 API 分别控制音频模块: +
      +
    • :是否启用麦克风以创建本地音频流。
    • +
    • :是否启用回声采集。
    • +
    • :是否发布本地音频流。
    • +
    • :是否订阅并播放远端音频流。
    • +
    • :是否订阅并播放所有远端音频流。
    • +
    +
    + 该方法会重置内部引擎,生效需要一定时间。声网建议使用以下 API 分别控制音频模块: +
      +
    • :是否启用麦克风以创建本地音频流。
    • +
    • :是否启用回采音频采集,仅适用于 macOS。
    • +
    • :是否发布本地音频流。
    • +
    • :是否订阅并播放远端音频流。
    • +
    • :是否订阅并播放所有远端音频流。
    • +
    +
    + 该方法会重置内部引擎,生效需要一定时间。声网建议使用以下 API 分别控制音频模块: +
      +
    • :是否启用麦克风以创建本地音频流。
    • +
    • :是否发布本地音频流。
    • +
    • :是否订阅并播放远端音频流。
    • +
    • :是否订阅并播放所有远端音频流。
    • +
    +
    +
    调用时机 -

    加入频道前后均可调用。离开频道后仍然有效。

    +

    该方法可以在加入频道前或加入频道后调用,离开频道后依然有效。

    调用限制 -

    该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制音频模块: -

      -
    • :是否启动麦克风采集并创建本地音频流。
    • -
    • :是否开启声卡采集。
    • -
    • :是否发布本地音频流。
    • -
    • :是否接收并播放远端音频流。
    • -
    • :是否接收并播放所有远端音频流。
    • -
    -

    +

    无。

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

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita b/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita index 2fbc5375730..2db9e9c4c68 100644 --- a/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita +++ b/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita @@ -1,12 +1,12 @@ - + - <ph keyref="disableAudioSpectrumMonitor" /> - 关闭音频频谱监测。 + <ph keyref="disableAudioSpectrumMonitor"/> + 禁用音频频谱监测。 - + @@ -14,29 +14,36 @@

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

    +

    详情 -

    调用 后,如果你想关闭音频频谱监测,请调用该方法。

    +

    如果已调用 启用音频频谱监测,可调用该方法将其禁用。 后,如果你想关闭音频频谱监测,请调用该方法。

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

    -
    -
    + 你可以在加入频道前或加入频道后调用此方法。 +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_disablevideo.dita b/dita/RTC-NG/API/api_irtcengine_disablevideo.dita index e19afb17eda..cc3bb1e90da 100644 --- a/dita/RTC-NG/API/api_irtcengine_disablevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_disablevideo.dita @@ -1,12 +1,12 @@ - + - <ph keyref="disableVideo" /> - 关闭视频模块。 + <ph keyref="disableVideo"/> + 禁用视频模块。 - + @@ -15,25 +15,44 @@

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

    +

    -

    该方法用于关闭视频模块。

    -
    +

    + 该方法会影响内部引擎,可在离开频道后调用。调用该方法会重置整个引擎,可能导致响应时间变慢。你也可以根据实际需求,使用以下方法分别控制视频模块的具体功能: +
      +
    • :是否启用摄像头以创建本地视频流。
    • +
    • :是否发布本地视频流。
    • +
    • :是否订阅并播放远端视频流。
    • +
    • :是否订阅并播放所有远端视频流。
    • +
    +
    + 该方法会影响内部引擎,且可以在离开频道后调用。 + 该方法会影响内部引擎,且可在离开频道后调用。调用该方法会重置整个引擎,可能导致响应时间变慢。你可以根据实际需求,使用以下方法分别控制视频模块的具体功能: +
      +
    • :是否启用摄像头以创建本地视频流。
    • +
    • :是否发布本地视频流。
    • +
    • :是否订阅并播放远端视频流。
    • +
    • :是否订阅并播放所有远端视频流。
    • +
    +
    +
    调用时机 -

    加入频道前后均可调用:

      -
    • 如果在加入频道前调用,则开启纯音频模式。
    • -
    • 如果在加入频道后调用,则由视频模式切换为纯音频模式,然后再调用 方法可开启视频模式。
    • -

    +

    该方法可在加入频道前或加入频道后调用: +

      +
    • 如果在加入频道前调用,则进入纯语音模式。
    • +
    • 如果在加入频道后调用,则从视频模式切换为纯语音模式。之后调用 可重新切换回视频模式。
    • +
    +

    调用限制 @@ -41,24 +60,30 @@
  • 该方法设置的是内部引擎为禁用状态,在离开频道后仍然有效。
  • 调用该方法会重置整个引擎,响应时间较慢。你可以根据实际需求用以下方法来独立控制视频模块的某一项功能:
      -
    • : 是否启动摄像头采集并创建本地视频流。
    • -
    • : 是否发布本地视频流。
    • -
    • : 是否接收并播放远端视频流。
    • -
    • : 是否接收并播放所有远端视频流。
    • +
    • : 是否启动摄像头采集并创建本地视频流。
    • +
    • : 是否发布本地视频流。
    • +
    • : 是否接收并播放远端视频流。
    • +
    • : 是否接收并播放所有远端视频流。
  • -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enableaudio.dita b/dita/RTC-NG/API/api_irtcengine_enableaudio.dita index d16b4389826..8396e5b2038 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudio.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableAudio" /> + <ph keyref="enableAudio"/> 启用音频模块。 - + @@ -15,42 +15,81 @@

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

    +

    -

    音频模块默认开启。如果你调用 关闭了音频模块,可调用该方法重新开启。

    -
    +

    调用 方法禁用音频模块后,可以调用本方法重新启用音频模块。 关闭了音频模块,可调用该方法重新开启。

    +
      +
    • 调用本方法会重置整个引擎,可能导致响应变慢。你可以根据实际需求使用以下方法分别控制音频模块的具体功能:
        +
      • :是否启用麦克风以创建本地音频流。
      • +
      • :是否发布本地音频流。
      • +
      • :是否订阅并播放远端音频流。
      • +
      • :是否订阅并播放所有远端音频流。
      • +
      +
    • +
    • 成功调用本方法会重置 的状态,请谨慎使用。
    • +
    +
    +
      +
    • 调用本方法会重置整个引擎,可能导致响应时间变慢。你可以根据实际需求,使用以下方法分别控制音频模块的具体功能:
        +
      • :是否启用麦克风以创建本地音频流。
      • +
      • :是否发布本地音频流。
      • +
      • :是否订阅并播放远端音频流。
      • +
      • :是否订阅并播放所有远端音频流。
      • +
      +
    • +
    • 成功调用本方法会重置 的设置,请谨慎使用。
    • +
    +
    +
      +
    • 调用此方法会重置整个引擎,可能导致响应时间变慢。你可以根据实际需求使用以下方法独立控制音频模块的具体功能:
        +
      • :是否启用麦克风以创建本地音频流。
      • +
      • :是否发布本地音频流。
      • +
      • :是否订阅并播放远端音频流。
      • +
      • :是否订阅并播放所有远端音频流。
      • +
      +
    • +
    • 成功调用此方法会重置 的状态,请谨慎使用。
    • +
    +
    +
    调用时机 -

    加入频道前后均可调用。离开频道后仍然有效。

    +

    该方法可以在加入频道前或加入频道后调用,离开频道后仍然有效。

    调用限制
    • 调用该方法会重置整个引擎,响应时间较慢。你可以根据实际需求用以下方法来独立控制音频模块的某一项功能:
        -
      • : 是否启动麦克风采集并创建本地音频流。
      • -
      • : 是否发布本地音频流。
      • -
      • : 是否接收并播放远端音频流。
      • -
      • : 是否接收并播放所有远端音频流。
      • +
      • : 是否启动麦克风采集并创建本地音频流。
      • +
      • : 是否发布本地音频流。
      • +
      • : 是否接收并播放远端音频流。
      • +
      • : 是否接收并播放所有远端音频流。
    • -
    • 在频道内调用该方法时,会重置 的设置,需谨慎使用。
    • +
    • 在频道内调用该方法时,会重置 的设置,需谨慎使用。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita b/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita index 3b442d600d0..4f3bbc9b4a8 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita @@ -1,4 +1,4 @@ - + <ph keyref="enableAudioSpectrumMonitor"/> @@ -14,42 +14,55 @@

    public abstract int enableAudioSpectrumMonitor(int intervalInMS); - - - (int)enableAudioSpectrumMonitor:(int)intervalInMS; + + - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:)); virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableAudioSpectrumMonitor(int intervalInMS); abstract enableAudioSpectrumMonitor(intervalInMS?: number): number; public abstract int EnableAudioSpectrumMonitor(int intervalInMS = 100); abstract enableAudioSpectrumMonitor(intervalInMS?: number): number; Future<void> enableAudioSpectrumMonitor({int intervalInMS = 100}); -

    +

    详情 -

    如果你想获取本地或远端用户的音频频谱数据,请注册音频频谱观测器并开启音频频谱监测。

    +

    调用该方法后,SDK 会定期触发 回调,报告本地和远端用户的音频频谱数据。

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

    -
    + 你可以在加入频道前或加入频道后调用该方法。 + 你可以在加入频道前或加入频道后调用此方法。 +
    参数 intervalInMS - +

    SDK 触发 回调的时间间隔(毫秒)。 默认值为 100 毫秒。取值不得少于 10 毫秒,否则该方法会调用失败。

    -
    -
    -
    + SDK 触发 回调的时间间隔,单位为毫秒。默认值为 100。该参数不能小于 10,否则调用该方法会失败。 + SDK 触发 回调的时间间隔,单位为毫秒。默认值为 100(默认)。该参数不能小于 10,否则调用该方法会失败。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita b/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita index 06d2eb43886..04fa299f1f0 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableAudioVolumeIndication" /> - 启用用户音量提示。 + <ph keyref="enableAudioVolumeIndication"/> + 启用音量提示功能。 - + @@ -16,10 +16,10 @@ public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); public abstract enableAudioVolumeIndication(interval: number, smooth: number, reportVad: boolean): number; - (int)enableAudioVolumeIndication:(NSInteger)interval - smooth:(NSInteger)smooth - reportVad:(BOOL)reportVad; + smooth:(NSInteger)smooth + reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:)); virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); abstract enableAudioVolumeIndication( interval: number, @@ -34,14 +34,15 @@ ): number; Future<void> enableAudioVolumeIndication( {required int interval, required int smooth, required bool reportVad}); -

    +

    -

    该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。

    -
    +

    + 成功调用该方法后,SDK 会根据设置的时间间隔触发 回调,并在频道中有用户发布音频流时上报音量信息。 +
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -49,38 +50,82 @@
    参数 interval - 指定音量提示的时间间隔: + 指定音量提示的时间间隔:
    • ≤ 0: 禁用音量提示功能。
    • > 0: 返回音量提示的间隔,单位为毫秒。建议设置到大于 100 毫秒,不得小于 10 毫秒,否则会收不到 回调。
    -
    + 设置两次音量信息上报之间的时间间隔(毫秒): +
      +
    • ≤ 0:关闭音量信息上报。
    • +
    • > 0:两次音量信息上报之间的时间间隔(单位为毫秒)。确保该参数值大于 10,否则无法收到 回调。声网建议设置为大于 100。
    • +
    +
    + 设置两次音量提示之间的时间间隔(毫秒): +
      +
    • ≤ 0:关闭音量提示功能。
    • +
    • > 0:两次音量提示之间的时间间隔(单位为毫秒)。该值必须大于 10,否则无法收到 回调。声网建议设置为大于 100 的值。
    • +
    +
    + 设置两次音量提示之间的时间间隔(毫秒): +
      +
    • ≤ 0:关闭音量提示。
    • +
    • > 0:两次音量提示之间的时间间隔(毫秒)。确保该参数值大于 10,否则无法收到 回调。声网建议将该值设置为大于 100。
    • +
    +
    + smooth - 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 - + 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 + 设置音量信息的平滑系数,用于控制音量指示器的灵敏度。取值范围为 [0, 10],推荐值为 3。数值越大,指示器越灵敏。 + 设置音量提示的灵敏度平滑系数。取值范围为 [0, 10],推荐值为 3。值越大,音量提示越灵敏。 + 设置音量提示的灵敏度的平滑系数。取值范围为 [0, 10],推荐值为 3。数值越大,提示越灵敏。 + reportVad - +
      -
    • :开启本地人声检测功能。开启后, 回调的 vad 参数会报告是否在本地检测到人声。
    • -
    • :(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外, 回调的 vad 参数不会报告是否在本地检测到人声。
    • +
    • :开启本地人声检测功能。开启后, 回调的 vad 参数会报告是否在本地检测到人声。
    • +
    • :(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外, 回调的 vad 参数不会报告是否在本地检测到人声。
    -
    -
    -
    +
      +
    • :启用本地用户的语音活动检测功能。启用后, 回调中的 vad 参数会报告本地用户的语音活动状态。
    • +
    • :(默认)关闭本地用户的语音活动检测功能。关闭后, 回调中的 vad 参数不会报告本地用户的语音活动状态,除非引擎自动检测到本地用户的语音活动。
    • +
    +
    + 是否启用本地用户的语音活动检测(Voice Activity Detection): +
      +
    • :启用本地用户的语音活动检测。启用后, 回调中的 vad 参数会报告本地用户的语音活动状态。
    • +
    • :(默认)关闭本地用户的语音活动检测。关闭后,除非引擎自动检测本地用户的语音活动,否则 vad 参数不会报告本地用户的语音活动状态。
    • +
    +
    + 是否启用本地用户的语音活动检测功能: +
      +
    • :启用语音活动检测功能。启用后, 回调中的 vad 参数会报告本地用户的语音活动状态。
    • +
    • :(默认)关闭语音活动检测功能。关闭后, 回调中的 vad 参数不会报告本地用户的语音活动状态,除非引擎自动检测到本地用户的语音活动。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita b/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita index 5e9951142df..df646b94efb 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableCameraCenterStage"/> - 开启或关闭人像锁定功能。 + 启用或关闭人像锁定功能。 @@ -14,67 +14,61 @@

    - + - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:)); virtual int enableCameraCenterStage(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int EnableCameraCenterStage(bool enabled); - abstract enableCameraCenterStage(enabled: boolean): number; - public abstract int EnableCameraCenterStage(bool enabled); - abstract enableCameraCenterStage(enabled: boolean): number; - Future<void> enableCameraCenterStage(bool enabled);

    + + + + +

    -
    - -
    自从
    -
    v4.3.1
    -
    -
    -

    人像锁定功能默认关闭,你需要调用该方法开启。如果需要关闭该功能,则需重新调用该方法并将 enabled 设置为

    - 该方法仅适用于 iOS 和 macOS。 - 该方法仅适用于 iOS。 - 该方法仅适用于 macOS。 +

    适用场景 -

    人像锁定功能可广泛应用于在线会议、秀场、在线教育等场景。主播可以开启该功能,确保无论移动与否,自己始终在画面中心,以便取得良好的展示效果。

    +

    人像锁定功能适用于在线会议、演出、在线教育等场景。主持人可以使用该功能确保无论是否移动,始终处于画面中央,从而获得更好的展示效果。

    调用时机 -

    该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) 后。

    +

    你必须在成功启用摄像头之后调用此方法,即 SDK 触发 回调并返回本地视频状态为 (1)之后。

    调用限制 -

    由于该功能对设备性能要求较高,你需要在以下类型或更高性能的设备上使用该功能:

      -
    • iPad:
        -
      • 12.9 英寸 iPad Pro(第五代)
      • -
      • 11 英寸 iPad Pro(第三代)
      • -
      • iPad(第九代)
      • -
      • iPad mini(第六代)
      • -
      • iPad Air(第五代)
    • -
    • 2020 年 M1 MacBook Pro 13 英寸 + iPhone 11(将 iPhone 作为 MacBook 的外接摄像头使用)
    • -

    -

    声网建议你在开启该功能前,先调用 查询当前设备是否支持人像锁定。

    +

    无。

    -
    +
    参数 - - enabled - 是否开启人像锁定功能: -
      -
    • :开启人像锁定。
    • -
    • :关闭人像锁定。
    • -
    + + enabled + 是否启用人像锁定功能: +
      +
    • :启用人像锁定功能。
    • +
    • :关闭人像锁定功能。
    • +
    +
    + 是否启用人像居中功能: +
      +
    • :启用人像居中功能。
    • +
    • :关闭人像居中功能。
    • +
    +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita index 2c3bf8fefcd..9836ac0aaa3 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableContentInspect"/> - 开启/关闭本地截图上传。 + 启用或关闭视频截图上传功能。 @@ -14,60 +14,56 @@

    public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config); - public abstract enableContentInspect(enabled:boolean,config:ContentInspectConfig):number; - - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config; + + - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:)); virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int EnableContentInspect(bool enabled, const FContentInspectConfig& config); - abstract enableContentInspect( - enabled: boolean, - config: ContentInspectConfig - ): number; - public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config); - abstract enableContentInspect( - enabled: boolean, - config: ContentInspectConfig - ): number; - Future<void> enableContentInspect( - {required bool enabled, required ContentInspectConfig config}); -

    + + + + +

    -

    开启本地截图上传后,SDK 会根据你在 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。

    +

    调用时机 -

    加入频道前后均可调用。

    +

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

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

    无。

    参数 - - enabled - 设置是否开启本地截图上传: + + enabled + 是否启用视频截图上传功能:
      -
    • :开启本地截图上传。
    • -
    • :关闭本地截图上传。
    • -
    -
    - - config - 本地截图上传配置。详见 +
  • :启用视频截图上传功能。
  • +
  • :关闭视频截图上传功能。
  • + +
    +
    + + config + 截图上传配置。详见 + 截图和上传的配置,详见
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita b/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita index 85f810ae08b..4fbd7f94968 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableCustomAudioLocalPlayback"/> - 设置是否在本地播放外部音频源。 + 设置是否启用外部音频源的本地播放。 @@ -13,10 +13,10 @@
    public abstract int enableCustomAudioLocalPlayback(int trackId, boolean enabled); - + - (int)enableCustomAudioLocalPlayback:(NSInteger)trackId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:)); virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableCustomAudioLocalPlayback(int64 trackId, bool enabled); abstract enableCustomAudioLocalPlayback( trackId: number, @@ -27,14 +27,17 @@ trackId: number, enabled: boolean ): number; - Future<void> enableCustomAudioLocalPlayback( + Future<void> enableCustomAudioLocalPlayback( {required int trackId, required bool enabled});
    详情 -

    调用该方法设置在本地播放外部采集的音频源后,如需停止本地播放,可以再次调用该方法并设置 enabled

    +

    你可以调用 方法调整自定义音频轨道的本地播放音量。如果需要停止本地播放,可以再次调用该方法并将 设置为 enabled

    你可以调用 调节自定义音频采集轨道在本地播放的音量。

    -
    + 在调用该方法前,请确保已调用 方法创建自定义音频轨道。 + 请确保在调用此方法前已调用 方法创建自定义音频轨道。 + 请确保在调用该方法前已调用 方法创建自定义音频轨道。 +
    参数 @@ -44,15 +47,37 @@ enabled - + + 是否播放外部音频源: +
      +
    • :播放外部音频源。
    • +
    • :(默认)不播放外部音频源。
    • +
    +
    + 是否播放自定义音频源: +
      +
    • :播放自定义音频源。
    • +
    • :(默认)不播放自定义音频源。
    • +
    +
    +
    + + trackId + 音频轨道 ID。该参数需设置为 方法返回的自定义音频轨道 ID。 + 音频轨道 ID,设置为 返回的自定义音频轨道 ID。 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableencryption.dita b/dita/RTC-NG/API/api_irtcengine_enableencryption.dita index cba3e40c401..6797a9e321f 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableencryption.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableencryption.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableEncryption" /> - 开启或关闭内置加密。 + <ph keyref="enableEncryption"/> + 启用或关闭内置加密。 - + @@ -15,28 +15,39 @@

    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 NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:)); virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableEncryption(bool enabled, const FEncryptionConfig& config); abstract enableEncryption(enabled: boolean, config: EncryptionConfig): number; public abstract int EnableEncryption(bool enabled, EncryptionConfig config); abstract enableEncryption(enabled: boolean, config: EncryptionConfig): number; Future<void> enableEncryption( {required bool enabled, required EncryptionConfig config}); -

    +

    -

    用户离开频道后,SDK 会自动关闭加密。如需重新开启加密,你需要在用户再次加入频道前调用该方法。

    -
    +

    用户离开频道后,SDK 会自动关闭内置加密。若需启用内置加密,请在用户重新加入频道前调用该方法。

    +
      +
    • 同一频道内的所有用户在调用该方法时必须设置相同的加密配置。
    • +
    • 启用内置加密后,无法使用 Media Push 功能。
    • +
    +
    + 频道内所有用户必须使用相同的加密配置。如果启用了内置加密,则无法使用媒体推流功能。 +
      +
    • 同一频道内的所有用户在调用该方法时必须设置相同的加密配置。
    • +
    • 启用内置加密后,无法使用媒体推流功能。
    • +
    +
    +
    适用场景

    对安全要求较高的场景。

    调用时机 -

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

    -
    +

    请在加入频道前调用此方法。

    +
    调用限制
    • 同一频道内的所有用户在调用该方法时,必须设置相同的加密模式和密钥。
    • @@ -47,32 +58,76 @@ enabled - +

      是否开启内置加密:

        -
      • : 开启内置加密。
      • -
      • :(默认)关闭内置加密。
      • +
      • : 开启内置加密。
      • +
      • :(默认)关闭内置加密。

      -
      + 是否启用内置加密: +
        +
      • :启用内置加密。
      • +
      • :(默认)禁用内置加密。
      • +
      +
      + 是否启用内置加密: +
        +
      • :启用内置加密。
      • +
      • :(默认)关闭内置加密。
      • +
      +
      + config - 配置内置加密模式和密钥。详见 - -
    -
    + 配置内置加密模式和密钥。详见 + 内置加密配置。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败
        • -2: 调用了无效的参数。需重新指定参数。
        • -4: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。
        • -
        • -7: SDK 尚未初始化。需在调用 API 之前已创建 对象并完成初始化。
        • +
        • -7: SDK 尚未初始化。需在调用 API 之前已创建 对象并完成初始化。
      • -
    + +

    +

    +

    +

    +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableextension.dita b/dita/RTC-NG/API/api_irtcengine_enableextension.dita index 254c2ff6940..95cb5829deb 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableextension.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableExtension" /> - 启用/禁用插件。 + <ph keyref="enableExtension"/> + 启用或禁用扩展功能。 - + @@ -21,7 +21,7 @@ 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; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableExtension(const FString& provider, const FString& extension, bool enable = true, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); abstract enableExtension( provider: string, @@ -41,14 +41,20 @@ required String extension, bool enable = true, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    -

    -

    +

    + 如果你想启用多个扩展,需要多次调用该方法。成功调用该方法后,不能再加载其他扩展。 +
      +
    • 如果你想启用多个扩展,需要多次调用该方法。
    • +
    • 成功调用该方法后,不能再加载其他扩展。
    • +
    +
    +
    调用时机 -

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

    +

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

    调用限制 @@ -59,46 +65,77 @@
    参数 - - + + - - + + - enable - enabled - + enable + enabled +

    是否启用插件:

      -
    • : 启用插件。
    • -
    • : 禁用插件。
    • +
    • : 启用插件。
    • +
    • : 禁用插件。

    -
    + 是否启用该扩展: +
      +
    • :(默认)启用扩展。
    • +
    • :禁用扩展。
    • +
    +
    + 是否启用该扩展: +
      +
    • :启用扩展。
    • +
    • :禁用扩展。
    • +
    +
    + - type - sourceType - 插件的媒体源类型。详见 - -
    -
    + type + sourceType + 插件的媒体源类型。详见 + 扩展的媒体源类型,详见 + 扩展的数据源类型,详见 + + + provider + 扩展提供方的名称。 + + + extension + 扩展的名称。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -3: 该插件动态库没有被加载。声网推荐你检查该动态库是否存放在预期的位置,或该动态库名是否正确。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -3:未加载扩展库。声网建议你检查动态库的存储位置或名称。
      • +
      +
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita b/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita index 6b6054394af..029738663db 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableFaceDetection" /> - 开启/关闭本地人脸检测。 + <ph keyref="enableFaceDetection"/> + 启用或关闭本地用户的人脸检测功能。 - + @@ -15,22 +15,23 @@

    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") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableFaceDetection(bool enabled); public abstract int EnableFaceDetection(bool enabled); abstract enableFaceDetection(enabled: boolean): number; abstract enableFaceDetection(enabled: boolean): number; Future<void> enableFaceDetection(bool enabled); -

    +

    -

    该方法仅适用于 Android 和 iOS。

    -
    +

    需要在摄像头启动后调用该方法,例如通过调用 启动摄像头。该方法仅适用于 Android 和 iOS。

    + 该方法仅适用于 Android 和 iOS 平台。 +
    调用时机 -

    该方法需要在相机启动(如通过调用 实现)后调用。

    +

    该方法需要在摄像头启动后调用,例如通过调用

    调用限制 @@ -38,33 +39,55 @@
    参数 - enable - enabled + enable + enabled 是否开启人脸检测:
      -
    • :开启人脸检测。
    • -
    • :(默认)关闭人脸检测。
    • +
    • :开启人脸检测。
    • +
    • :(默认)关闭人脸检测。
    -
    -
    + + enabled + 是否启用本地用户的人脸检测功能: +
      +
    • :启用人脸检测。
    • +
    • :(默认)关闭人脸检测。
    • +
    +
    + 是否为本地用户启用人脸检测功能: +
      +
    • :启用人脸检测。
    • +
    • :(默认)关闭人脸检测。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita index ccc3dab3088..eeb1718f052 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableInEarMonitoring"/> - 开启耳返功能。 + 启用或关闭耳返功能。 @@ -14,22 +14,16 @@

    public abstract int enableInEarMonitoring(boolean enabled); - - - (int)enableInEarMonitoring:(BOOL)enabled; + + - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:)); -

    +

    -
    - -
    自从
    -
    v4.0.1
    -
    -

    @@ -41,13 +35,33 @@ -
    + + enabled + 是否启用耳返功能。 +
      +
    • :启用耳返功能。
    • +
    • :(默认)关闭耳返功能。
    • +
    +
    +
    +
    <ph keyref="return-section-title"/> -
      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。 -
        • - 8: 请确保当前的音频路由为蓝牙或耳机。
      -
    +
      • +
      • 8: 请确保当前的音频路由为蓝牙或耳机。
      • +
      +
    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -8:请确保当前音频路由为蓝牙或耳机。
      • +
      +
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita b/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita index c35a8971023..3f777953a5b 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableInstantMediaRendering"/> - 开启音视频帧加速渲染。 + 启用音视频帧的极速渲染模式。 @@ -14,28 +14,34 @@

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

    + Future<void> enableInstantMediaRendering();

    - -
    自从
    -
    v4.1.1
    + +
    自从:
    +
    自 v4.1.1 版本新增。
    -

    成功调用该方法后,SDK 会开启加速出图和出声模式,可加快用户加入频道后的首帧出图与出声速度。

    -
    +

    + 主持人和观众都需要调用该方法,才能体验音视频帧的极速渲染效果。一旦成功调用该方法,只能通过调用 销毁 对象来取消极速渲染模式。 +
      +
    • 主持人和观众都需调用该方法,才能体验音视频帧的极速渲染效果。
    • +
    • 成功调用该方法后,如需关闭极速渲染模式,只能通过调用 方法销毁 实例。
    • +
    +
    +
    适用场景 -

    声网推荐在直播场景下,对观众开启该模式。

    +

    声网建议在直播场景中为观众开启该模式。

    调用时机 @@ -43,18 +49,35 @@
    调用限制 -

    主播端和观众端都需调用该方法开启音视频帧加速渲染才可体验该功能。

    -

    一旦成功调用该方法,只能通过调用 方法销毁 对象来取消加速渲染。

    +

    无。

    +

    一旦成功调用该方法,只能通过调用 方法销毁 对象来取消加速渲染。

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

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -7: 尚未初始化就调用方法。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7:在 初始化之前调用了该方法。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7:在初始化 之前调用该方法。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita b/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita index 3d551d0fb8e..0b7eca55fe3 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableLocalAudio" /> - 开启或关闭本地音频采集。 + <ph keyref="enableLocalAudio"/> + 启用或关闭本地音频采集功能。 - + @@ -15,31 +15,39 @@

    public abstract int enableLocalAudio(boolean enabled); public abstract enableLocalAudio(enabled: boolean): number; - - (int)enableLocalAudio:(BOOL)enabled; + - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:)); virtual int enableLocalAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableLocalAudio(bool enabled); abstract enableLocalAudio(enabled: boolean): number; public abstract int EnableLocalAudio(bool enabled); abstract enableLocalAudio(enabled: boolean): number; Future<void> enableLocalAudio(bool enabled); -

    +

    -

    当用户加入频道时,音频功能默认是开启的。该方法可以关闭或重新开启本地音频功能,即停止或重新开始本地音频采集。

    -

    该方法与 的区别在于: +

    你可以通过该方法关闭或重新启用本地音频功能,从而停止或重新开始本地音频采集。 + +该方法与 的区别如下: +

      +
    • :关闭或重新启用本地音频采集和处理。如果通过该方法关闭或重新启用本地音频采集,远端音频播放可能会出现短暂中断。
    • +
    • :控制是否发送本地音频流,不影响音频采集状态。 适用场景:该方法不影响接收远端音频流。将 设为 适用于只接收远端音频流而不发送本地音频的场景。 调用时机:你可以在加入频道前或加入频道后调用该方法。在加入频道前调用仅设置设备状态,加入频道后立即生效。
    • +
    +

    +

    该方法与 的区别在于:

      -
    • : 开启或关闭本地音频采集及处理。使用 关闭或开启本地采集后,本地听远端播放会有短暂中断。
    • -
    • : 停止或继续发送本地音频流,不影响音频的采集状态。
    • +
    • : 开启或关闭本地音频采集及处理。使用 关闭或开启本地采集后,本地听远端播放会有短暂中断。
    • +
    • : 停止或继续发送本地音频流,不影响音频的采集状态。

    -
    + 成功调用该方法后,SDK 会触发 回调,报告 (0)或 (1)状态。 +
    适用场景 -

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

    +

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

    调用时机 -

    该方法在加入频道前后均可调用。在加入频道前调用只能设置设备状态,在加入频道后才会立即生效。

    +

    你可以在加入频道前或加入频道后调用此方法。在加入频道前调用仅设置设备状态,加入频道后立即生效。

    调用限制 @@ -47,27 +55,40 @@
    参数 enabled - +
      -
    • : 重新开启本地音频功能,即开启本地音频采集(默认);
    • -
    • : 关闭本地音频功能,即停止本地音频采集。
    • +
    • : 重新开启本地音频功能,即开启本地音频采集(默认);
    • +
    • : 关闭本地音频功能,即停止本地音频采集。
    -
    -
    -
    +
      +
    • :(默认)重新开启本地音频功能,即启动本地音频采集设备(例如麦克风)。
    • +
    • :关闭本地音频功能,即停止本地音频采集。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +

    0:方法调用成功。 +< 0:方法调用失败。

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita b/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita index 3e1b35d9dfc..ccdb9dbcbd0 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableLocalVideo" /> - 开关本地视频采集。 + <ph keyref="enableLocalVideo"/> + 启用或关闭本地视频采集。 - + @@ -15,46 +15,85 @@

    public abstract int enableLocalVideo(boolean enabled); public abstract enableLocalVideo(enabled: boolean): number; - - (int)enableLocalVideo:(BOOL)enabled; + - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:)); virtual int enableLocalVideo(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableLocalVideo(bool enabled); abstract enableLocalVideo(enabled: boolean): number; public abstract int EnableLocalVideo(bool enabled); abstract enableLocalVideo(enabled: boolean): number; Future<void> enableLocalVideo(bool enabled); -

    +

    详情 -

    该方法禁用或重新启用本地视频采集,不影响接收远端视频。

    -

    调用 后,本地视频采集即默认开启。

    -

    如果你在频道内调用 () 关闭本地视频采集,也会同时停止在频道内发布视频流。如果想要重新开启,则可调用 (),然后调用 并设置 options 参数,将本地采集的视频流发布到频道中。

    -

    成功禁用或启用本地视频采集后,远端会触发 回调。

    +

    调用 后,本地视频采集默认开启。你可以通过该方法启用或关闭本地视频采集,不影响接收远端视频流。如果在频道内调用 enableLocalVideo(false) 关闭本地视频采集,同时会停止在频道内发布视频流。若需重新开启视频采集,可调用 enableLocalVideo(true),然后调用 设置 options 参数以在频道内发布本地采集的视频流。

    +

    调用 后,本地视频采集即默认开启。

    +

    如果你在频道内调用 () 关闭本地视频采集,也会同时停止在频道内发布视频流。如果想要重新开启,则可调用 (),然后调用 并设置 options 参数,将本地采集的视频流发布到频道中。

    +

    成功禁用或启用本地视频采集后,远端会触发 回调。

    • 该方法在加入频道前后均可调用,但加入频道前调用的设置,在加入频道后才会生效。
    • 该方法设置内部引擎为启用状态,在离开频道后仍然有效。
    • -
    +
      +
    • 可以在加入频道前或后调用该方法。但如果在加入频道前调用,设置将在加入频道后生效。
    • +
    • 该方法会启用内部引擎,离开频道后依然有效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用该方法。但如果在加入频道前调用,设置将在加入频道后生效。
    • +
    • 该方法会启用内部引擎,并在离开频道后依然有效。
    • +
    +
    +
      +
    • 可以在加入频道前或加入频道后调用该方法。但如果在加入频道前调用,设置将在加入频道后生效。
    • +
    • 该方法会启用内部引擎,离开频道后依然有效。
    • +
    +
    +
    参数 enabled - +

    是否开启本地视频采集。

      -
    • :(默认)开启本地视频采集。
    • -
    • : 关闭本地视频采集。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。设置为 时,该方法不需要本地有摄像头。
    • +
    • :(默认)开启本地视频采集。
    • +
    • : 关闭本地视频采集。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。设置为 时,该方法不需要本地有摄像头。
    -
    -
    -
    + 是否启用本地视频采集: +
      +
    • :(默认)启用本地视频采集。
    • +
    • :禁用本地视频采集。禁用后,远端用户无法接收到本地用户的视频流,但本地用户仍可接收远端用户的视频流。设置为 时,无需本地摄像头。
    • +
    +
    + 是否启用本地视频采集: +
      +
    • :(默认)启用本地视频采集。
    • +
    • :禁用本地视频采集。禁用后,远端用户无法接收到你的本地视频流,但你仍可接收远端用户的视频流。设置为 时,无需本地摄像头。
    • +
    +
    + 是否启用本地视频采集: +
      +
    • :(默认)启用本地视频采集。
    • +
    • :关闭本地视频采集。关闭后,远端用户无法接收到本地用户的视频流,但本地用户仍可接收远端用户的视频流。设置为 时,无需本地摄像头。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita b/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita index c583086479f..bd7bb6cf6c2 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableLoopbackRecording"/> - 开启声卡采集。 + 启用回采音频采集。 @@ -14,10 +14,10 @@

    - + - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:)); - virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableLoopbackRecording(bool enabled, const FString & deviceName); abstract enableLoopbackRecording( enabled: boolean, @@ -34,42 +34,61 @@

    详情 -

    启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。

    +

      -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • +
    • 该方法仅适用于 macOS 和 Windows 平台。
    • macOS 系统默认声卡不支持采集功能。自 v4.5.0 起,SDK 支持自动安装虚拟声卡功能,当你第一次调用该方法时,SDK 会自动安装内置的声网自研虚拟声卡 AgoraALD。安装成功后,音频路由会自动切换为虚拟声卡,同时使用虚拟声卡进行采集。
    • 该方法在加入频道前后都能调用。
    • 如果你调用了 关闭音频模块,声卡采集功能也会被关闭。如果你需要再次启用声卡采集功能,需要调用 启用音频模块后再次调用
    • -
    +
      +
    • 该方法仅适用于 macOS 和 Windows 平台。
    • +
    • 你可以在加入频道前或后调用该方法。
    • +
    • 如果你调用了 方法禁用了音频模块,音频采集也会被禁用。如果你需要启用音频采集,请先调用 方法启用音频模块,然后再调用 方法。
    • +
    +
    +
    参数 enabled - 是否开启声卡采集: + 是否开启声卡采集:
      -
    • : 开启声卡采集;系统声音 > 输出界面显示虚拟声卡名称。
    • -
    • :(默认)关闭声卡采集;系统声音 > 输出界面不显示虚拟声卡名称。
    • +
    • : 开启声卡采集;系统声音 > 输出界面显示虚拟声卡名称。
    • +
    • :(默认)关闭声卡采集;系统声音 > 输出界面不显示虚拟声卡名称。
    -
    + 是否启用回采音频采集: +
      +
    • :启用声卡采集。你可以在系统的音频设备 > 输出中找到虚拟声卡的名称。
    • +
    • :禁用声卡采集。系统的音频设备 > 输出中将不会显示虚拟声卡的名称。
    • +
    +
    + deviceName 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。 - +
    • macOS: 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。
    • Windows: 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。
    -
    -
    -
    + 声卡的设备名称。默认值为 ,表示 SDK 使用你设备的声卡进行回采音频采集。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita b/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita index 31126556feb..858ff918850 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableMultiCamera"/> - 开启或关闭多路摄像头采集。 + 启用或关闭多摄像头采集功能。 @@ -14,91 +14,57 @@

    - + - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:)); - #if defined(__APPLE__) && TARGET_OS_IOS - virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0; -#endif - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int EnableMultiCamera(bool enabled, const FCameraCapturerConfiguration& config); - abstract enableMultiCamera( - enabled: boolean, - config: CameraCapturerConfiguration - ): number; - public abstract int EnableMultiCamera(bool enabled, CameraCapturerConfiguration config); - abstract enableMultiCamera( - enabled: boolean, - config: CameraCapturerConfiguration - ): number; - Future<void> enableMultiCamera( - {required bool enabled, required CameraCapturerConfiguration config}); -

    + virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0; + + + + +

    -
    - 详情 -
    - -
    自从
    -
    v4.1.0
    -
    -
    -

    在已有摄像头采集视频的场景下,声网推荐你采用以下步骤实现多路摄像头采集、发布视频: - -

      -
    1. 调用该方法开启多路摄像头采集。
    2. -
    3. 调用 开启本地视频预览。
    4. -
    5. 调用 并设置 sourceType 指定第二个摄像头开始采集。
    6. -
    7. 调用 并设置 publishSecondaryCameraTrack,在频道内发布第二路摄像头采集的视频流。
    8. -

    -

    如果要关闭多路摄像头采集,可参考以下步骤: - -

      -
    1. 调用
    2. -
    3. 调用该方法并将 enabled 设置为
    4. -

    - -

    你可以在 前后调用该方法开启多摄像头采集: - -

      -
    • 如果在 之前开启,则本地视频预览会同时出现两个摄像头采集的画面。
    • -
    • 如果在 之后开启,SDK 会先停止当前的摄像头采集,然后再开启原摄像头和第二个摄像头,本地视频预览会出现短暂黑屏、然后自动恢复正常。
    • -

    -
    -

    该方法仅适用于 iOS。

    -

    使用多路摄像头采集视频时,请确保系统版本为 13.0 及以上。

    -

    支持多路摄像头采集的最低 iOS 设备类型如下所示: - -

      -
    • iPhone XR
    • -
    • iPhone XS
    • -
    • iPhone XS Max
    • -
    • iPad Pro (第三代及以上)
    • -

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - enabled - 是否开启多摄像头视频采集模式: - + + enabled + 是否启用多摄像头视频采集模式:
      -
    • :开启多摄像头采集模式,SDK 使用多路摄像头采集视频。
    • -
    • :关闭多摄像头采集模式,SDK 仅使用单路摄像头采集视频。
    • -
    -
    - - config - 第二个摄像头的采集配置。详见 +
  • :启用多摄像头采集模式,SDK 使用多个摄像头进行视频采集。
  • +
  • :禁用多摄像头采集模式,SDK 使用单个摄像头进行视频采集。
  • + +
    + 是否启用多摄像头视频采集模式: +
      +
    • :启用多摄像头采集模式,SDK 使用多个摄像头进行视频采集。
    • +
    • :关闭多摄像头采集模式,SDK 使用单个摄像头进行视频采集。
    • +
    +
    + + config + 第二个摄像头的采集配置,详见 +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita b/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita index 74e83306d87..c467110d532 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableSoundPositionIndication" /> - 开启/关闭远端用户的语音立体声。 + <ph keyref="enableSoundPositionIndication"/> + 启用或关闭远端用户的立体声声像效果。 - + @@ -14,40 +14,64 @@

    public abstract int enableSoundPositionIndication(boolean enabled); - - - (int)enableSoundPositionIndication:(BOOL)enabled; + + - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:)); virtual int enableSoundPositionIndication(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int EnableSoundPositionIndication(bool enabled); - abstract enableSoundPositionIndication(enabled: boolean): number; - public abstract int EnableSoundPositionIndication(bool enabled); - abstract enableSoundPositionIndication(enabled: boolean): number; - Future<void> enableSoundPositionIndication(bool enabled); -

    + + + + +

    -
    - 详情 -

    如果想调用 实现听声辨位的功能,请确保在加入频道前调用该方法开启远端用户的语音立体声。

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - enabled - 是否开启远端用户语音立体声: - + + enabled + 是否启用远端用户的立体声声像功能: +
      +
    • :启用立体声声像。
    • +
    • :禁用立体声声像。
    • +
    +
    + 是否启用远端用户的立体声声像功能: +
      +
    • :启用立体声声像。
    • +
    • :关闭立体声声像。
    • +
    +
    + 是否启用远端用户的立体声声像效果:
      -
    • : 开启语音立体声。
    • -
    • : 关闭语音立体声。
    • -
    +
  • :启用立体声声像效果。
  • +
  • :关闭立体声声像效果。
  • + +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita b/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita index 8bcf59e504e..fd159ceffe7 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableSpatialAudio" /> - 开启或关闭空间音频。 + <ph keyref="enableSpatialAudio"/> + 启用或关闭空间音效。 - + @@ -14,45 +14,47 @@

    public abstract int enableSpatialAudio(boolean enabled); - - - (int)enableSpatialAudio:(BOOL)enabled; + + - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:)); virtual int enableSpatialAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int EnableSpatialAudio(bool enabled); - abstract enableSpatialAudio(enabled: boolean): number; - public abstract int EnableSpatialAudio(bool enabled); - abstract enableSpatialAudio(enabled: boolean): number; - Future<void> enableSpatialAudio(bool enabled); -

    + + + + +

    -
    - 详情 -

    开启空间音频后,你可以调用 设置远端用户的空间音频参数。

    - -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • 该方法依赖于空间音频动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - enabled - 是否开启空间音频: - + + enabled + 是否启用空间音效:
      -
    • : 开启空间音频。
    • -
    • : 关闭空间音频。
    • -
    -
    +
  • :启用空间音效。
  • +
  • :关闭空间音效。
  • + +
    +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_enablevideo.dita b/dita/RTC-NG/API/api_irtcengine_enablevideo.dita index 342a7ddfdbb..f0ed1859073 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevideo.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableVideo" /> + <ph keyref="enableVideo"/> 启用视频模块。 - + @@ -15,19 +15,62 @@

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

    -
    -
    -

    视频模块默认为关闭状态,需要调用该方法启用。如果后续需要关闭视频模块,需调用 方法。

    +

    +
    +

    默认情况下,视频模块处于禁用状态。调用该方法可启用视频模块。如需关闭视频模块,需调用 方法。 + +调用时机:你可以在加入频道前或加入频道后调用该方法: + 方法。

      +
    • 如果在加入频道前调用,则会启用视频模块。
    • +
    • 如果在语音通话中调用,则语音通话会自动切换为视频通话。 相关回调:成功调用该方法后,远端会触发 回调。
    • +
    +

    +
      +
    • 该方法会启用内部引擎,即使离开频道后仍然有效。
    • +
    • 调用该方法会重置整个引擎,可能导致响应变慢。你可以根据实际需求使用以下方法分别控制视频模块的具体功能:
        +
      • :是否启用摄像头以创建本地视频流。
      • +
      • :是否发布本地视频流。
      • +
      • :是否订阅并播放远端视频流。
      • +
      • :是否订阅并播放所有远端视频流。
      • +
      +
    • +
    • 成功调用该方法会重置 的状态,请谨慎使用。
    • +
    +
    +
      +
    • 该方法启用内部引擎,即使在离开频道后仍然有效。
    • +
    • 调用该方法会重置整个引擎,可能导致响应变慢。你可以根据实际需求使用以下方法分别控制视频模块的具体功能:
        +
      • :是否启用摄像头以创建本地视频流。
      • +
      • :是否发布本地视频流。
      • +
      • :是否订阅并播放远端视频流。
      • +
      • :是否订阅并播放所有远端视频流。
      • +
      +
    • +
    • 成功调用该方法会重置 的状态,请谨慎使用。
    • +
    +
    +
      +
    • 该方法启用内部引擎,即使离开频道后仍然有效。
    • +
    • 调用该方法会重置整个引擎,可能导致响应变慢。你可以根据实际需求使用以下方法分别控制视频模块的具体功能:
        +
      • :是否启用摄像头以创建本地视频流。
      • +
      • :是否发布本地视频流。
      • +
      • :是否订阅并播放远端视频流。
      • +
      • :是否订阅并播放所有远端视频流。
      • +
      +
    • +
    • 成功调用该方法会重置 的状态,请谨慎使用。
    • +
    +
    +
    调用时机

    该方法可以在加入频道前或者频道内调用: @@ -42,24 +85,30 @@

  • 该方法设置的是内部引擎为启用状态,在离开频道后仍然有效。
  • 调用该方法会重置整个引擎,响应时间较慢。你可以根据实际需求用以下方法来独立控制视频模块的某一项功能:
      -
    • : 是否启动摄像头采集并创建本地视频流。
    • -
    • : 是否发布本地视频流。
    • -
    • : 是否接收并播放远端视频流。
    • -
    • : 是否接收并播放所有远端视频流。
    • +
    • : 是否启动摄像头采集并创建本地视频流。
    • +
    • : 是否发布本地视频流。
    • +
    • : 是否接收并播放远端视频流。
    • +
    • : 是否接收并播放所有远端视频流。
  • -
  • 在频道内调用该方法时,会重置 的设置,需谨慎使用。
  • +
  • 在频道内调用该方法时,会重置 的设置,需谨慎使用。
  • -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita b/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita index 5dd7fd1ff09..ab8cdedf85e 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableVideoImageSource" /> - 设置是否开启垫片推流功能。 + <ph keyref="enableVideoImageSource"/> + 设置是否在发布视频流时使用图像替代当前视频画面。 - + @@ -14,11 +14,11 @@

    public abstract int enableVideoImageSource(boolean enabled, ImageTrackOptions options); - - - (int) enableVideoImageSource:(BOOL)enable - options:(AgoraImageTrackOptions *_Nullable)options; + + - (int)enableVideoImageSource:(BOOL)enable + options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:)); virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableVideoImageSource(bool enable, const FImageTrackOptions& options); abstract enableVideoImageSource( enable: boolean, @@ -29,17 +29,17 @@ enable: boolean, options: ImageTrackOptions ): number; - Future<void> enableVideoImageSource( + Future<void> enableVideoImageSource( {required bool enable, required ImageTrackOptions options}); -

    +

    -

    在发布视频流时,你可以调用该方法使用自定义图片来替代当前发布的视频流画面进行推流。

    -

    开启该功能后,你可以通过 参数自定义垫片图片;在你关闭垫片功能之后,远端用户看到的依旧是当前你发布的视频流画面。

    +

    你可以在发布视频流时调用该方法,用自定义图像替代当前的视频画面。启用该功能后,可通过 参数选择用于替代的视频图像。关闭该功能后,远端用户将看到你发布的视频画面。

    +

    开启该功能后,你可以通过 参数自定义垫片图片;在你关闭垫片功能之后,远端用户看到的依旧是当前你发布的视频流画面。

    调用时机 -

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

    +

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

    调用限制 @@ -49,25 +49,50 @@ 参数 - enable + enable enabled - 是否开启垫片推流: + 是否开启垫片推流:
      -
    • :开启垫片推流。
    • -
    • :(默认)关闭垫片推流。
    • +
    • :开启垫片推流。
    • +
    • :(默认)关闭垫片推流。
    -
    + 是否用自定义图像替代当前的视频画面: +
      +
    • :用自定义图像替代当前的视频画面。
    • +
    • :(默认)不替代当前的视频画面。
    • +
    +
    + 是否用自定义图片替代当前的视频画面: +
      +
    • :用自定义图片替代当前的视频画面。
    • +
    • :(默认)不替代当前的视频画面。
    • +
    +
    + 是否使用自定义图像替代当前的视频画面: +
      +
    • :使用自定义图像替代当前的视频画面。
    • +
    • :(默认)不替代当前的视频画面。
    • +
    +
    + options - 垫片图片设置,详见 + 垫片图片设置,详见 + 图像配置,详见 + 图片配置,详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita index 51a6095bf9f..059e52065ed 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableVirtualBackground"/> - 开启/关闭虚拟背景。 + 开启或关闭虚拟背景功能。 @@ -16,11 +16,10 @@ public abstract int enableVirtualBackground( boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty); - + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:)); - virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableVirtualBackground(bool enabled, FVirtualBackgroundSource backgroundSource, FSegmentationProperty segproperty, EMEDIA_SOURCE_TYPE type); abstract enableVirtualBackground( enabled: boolean, @@ -35,29 +34,35 @@ segproperty: SegmentationProperty, type?: MediaSourceType ): number; - Future<void> enableVirtualBackground( + Future<void> enableVirtualBackground( {required bool enabled, required VirtualBackgroundSource backgroundSource, required SegmentationProperty segproperty, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    +
    + +
    自从:
    +
    自 v3.7.200 版本新增。
    +
    +
    详情 -

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

    +

    虚拟背景功能支持本地用户将原始背景替换为静态图片、动态视频、模糊背景或人像背景分割,以实现画中画效果。启用虚拟背景功能后,频道内的所有用户都可以看到自定义背景。请在调用 后调用此方法。

    请在 之后调用该方法。

    • 使用视频作为虚拟背景会导致内存占用持续增加,可能会导致 App 出现闪退等问题,因此在使用时请尽量降低视频的分辨率和帧率。
    • 该功能对设备性能要求较高,调用该方法时 SDK 会自动对当前设备能力进行检查。建议你在搭载如下芯片的设备上使用:
        -
      • 骁龙 700 系列 750G 及以上
      • -
      • 骁龙 800 系列 835 及以上
      • -
      • 天玑 700 系列 720 及以上
      • -
      • 麒麟 800 系列 810 及以上
      • -
      • 麒麟 900 系列 980 及以上
      • -
      • CPU 为 i5 及更好的设备
      • -
      • 搭载 A9 及以上芯片的如下设备: +
      • 骁龙 700 系列 750G 及以上
      • +
      • 骁龙 800 系列 835 及以上
      • +
      • 天玑 700 系列 720 及以上
      • +
      • 麒麟 800 系列 810 及以上
      • +
      • 麒麟 900 系列 980 及以上
      • +
      • CPU 为 i5 及更好的设备
      • +
      • 搭载 A9 及以上芯片的如下设备:
        • iPhone 6S 及以上
        • iPad Air 第三代及以上
        • @@ -72,43 +77,133 @@
        • 摄像画面中,物件较少,用户的人像为半身人像且基本无遮挡,背景色较单一且与用户着装颜色不同。
      • 该方法依赖于虚拟背景动态库 ,如果删除该动态库会导致无法正常开启该功能。
      • -
    +
      +
    • 使用视频作为虚拟背景会导致内存持续增长,可能引发应用崩溃。因此,建议在使用视频作为背景时降低其分辨率和帧率。
    • +
    • 此功能对设备性能要求较高。调用此方法时,SDK 会自动检测当前设备的性能。声网建议在以下处理器设备上使用虚拟背景功能:
        +
      • Snapdragon 700 系列 750G 及以上。
      • +
      • Snapdragon 800 系列 835 及以上。
      • +
      • Dimensity 700 系列 720 及以上。
      • +
      • Kirin 800 系列 810 及以上。
      • +
      • Kirin 900 系列 980 及以上。
      • +
      • 配备 i5 及以上 CPU 的设备。
      • +
      • 配备 A9 及以上芯片的设备,包括:
          +
        • iPhone 6S 及以上。
        • +
        • iPad Air 第三代及以上。
        • +
        • iPad 第五代及以上。
        • +
        • iPad Pro 第一代及以上。
        • +
        • iPad mini 第五代及以上。
        • +
        +
      • +
      +
    • +
    • 声网建议在以下场景中使用此功能:
        +
      • 使用高清摄像头设备,且环境光线均匀。
      • +
      • 拍摄画面中物体较少,人像为半身像且无遮挡。确保背景为纯色,且与用户服装颜色不同。
      • +
      +
    • +
    • 此方法依赖虚拟背景动态库 。如果该动态库被删除,则无法正常启用该功能。
    • +
    +
    +
      +
    • 使用视频作为虚拟背景会导致内存持续增长,可能引发应用崩溃。建议降低视频的分辨率和帧率。
    • +
    • 此功能对设备性能要求较高。调用该方法时,SDK 会自动检测当前设备的性能。声网建议你在以下设备上使用该功能:
        +
      • iOS:配备 A9 芯片及以上的设备,包括:
          +
        • iPhone 6S 及以上机型。
        • +
        • iPad Air 第三代及以上机型。
        • +
        • iPad 第五代及以上机型。
        • +
        • iPad Pro 第一代及以上机型。
        • +
        • iPad mini 第五代及以上机型。
        • +
        +
      • +
      • macOS:配备 i5 及以上 CPU 的设备。
      • +
      +
    • +
    • 声网建议你在以下场景中使用该功能:
        +
      • 使用高清摄像头设备,且环境光线均匀。
      • +
      • 拍摄画面中物体较少,人物为半身像且无遮挡。
      • +
      • 背景为纯色,且与人物服装颜色有明显区别。
      • +
      +
    • +
    • 此方法依赖虚拟背景动态库 (iOS)或
    • +
    +
    +
    参数 - enabled - enable - 是否开启虚拟背景: + enabled + enable + 是否开启虚拟背景:
    • : 开启虚拟背景。
    • : 关闭虚拟背景。
    -
    + 是否启用虚拟背景功能: +
      +
    • :启用虚拟背景。
    • +
    • :关闭虚拟背景。
    • +
    +
    + 是否启用虚拟背景: +
      +
    • :启用虚拟背景。
    • +
    • :关闭虚拟背景。
    • +
    +
    + - backgroundSource - backData - 自定义的背景。详见 。为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。 - + backgroundSource + backData + 自定义的背景。详见 。为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。 + 自定义背景。为了使自定义背景图像的分辨率适配 SDK 采集的视频分辨率,SDK 会对图像进行缩放和裁剪,同时确保图像内容不失真。详见 + 自定义背景。为适配自定义背景图像与 SDK 采集视频的分辨率,SDK 会对自定义背景图像进行缩放和裁剪,确保图像内容不失真。详见 + - segproperty - segData - 背景图像的处理属性。详见 + segproperty + segData + 背景图像的处理属性。详见 - + -
    -
    + + type + 应用滤镜效果的媒体源类型。详见 。 +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,设置为
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -4:设备能力不满足虚拟背景的使用要求,建议更换性能更高的设备。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -4:设备性能不满足虚拟背景功能的要求。声网建议在性能更高的设备上尝试此功能。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -4:设备性能不满足虚拟背景功能的要求。声网建议你在性能更高的设备上尝试。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita b/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita index fcd3b07b167..f69cfe326e4 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevoiceaituner.dita @@ -1,8 +1,8 @@ - + <ph keyref="enableVoiceAITuner"/> - 开启或关闭 AI 调音器功能。 + 启用或关闭语音 AI 调音器。 @@ -16,7 +16,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:)); virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableVoiceAITuner(bool enabled, EVOICE_AI_TUNER_TYPE type); abstract enableVoiceAITuner(enabled: boolean, type: VoiceAiTunerType): number; public abstract int EnableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type); @@ -25,12 +25,6 @@ {required bool enabled, required VoiceAiTunerType type});

    -
    - -
    自从
    -
    v4.4.0
    -
    -

    AI 调音器功能支持美化音质,调整音色风格。

    @@ -39,7 +33,7 @@
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -50,25 +44,45 @@ enabled - 是否开启 AI 调音器功能: + 是否开启 AI 调音器功能:
    • :开启 AI 调音器功能。
    • :(默认)关闭 AI 调音器功能。
    -
    + 是否启用 Voice AI Tuner: +
      +
    • :启用。
    • +
    • :(默认)关闭。
    • +
    +
    + 是否启用语音 AI 调音器: +
      +
    • :启用语音 AI 调音器。
    • +
    • :(默认)关闭语音 AI 调音器。
    • +
    +
    + type - AI 调音器音效类型,详见 。 + AI 调音器音效类型,详见 - -
    -
    + 音效类型。详见 + 语音 AI 调音器的音效类型,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita b/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita index 3461120ae86..826ff29af0b 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita @@ -1,12 +1,12 @@ - + - <ph keyref="enableWebSdkInteroperability" /> + <ph keyref="enableWebSdkInteroperability"/> 打开与 Web SDK 的互通(仅在直播场景适用)。 - + @@ -14,16 +14,16 @@

    public abstract int enableWebSdkInteroperability(boolean enabled); - + - (int)enableWebSdkInteroperability:(BOOL)enabled; virtual int enableWebSdkInteroperability(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int EnableWebSdkInteroperability(bool enabled); abstract enableWebSdkInteroperability(enabled: boolean): number; public abstract int EnableWebSdkInteroperability(bool enabled); abstract enableWebSdkInteroperability(enabled: boolean): number; Future<void> enableWebSdkInteroperability(bool enabled); -

    +

    详情 @@ -44,8 +44,8 @@ 是否打开与 Web SDK 的互通:
      -
    • : 打开互通。
    • -
    • : (默认) 关闭互通。
    • +
    • : 打开互通。
    • +
    • : (默认) 关闭互通。
    @@ -57,4 +57,4 @@
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita b/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita index 4f9c0c675f3..d8f1cd2deab 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getAudioDeviceInfo" /> + <ph keyref="getAudioDeviceInfo"/> 获取音频设备信息。 - + @@ -14,52 +14,67 @@

    public abstract DeviceInfo getAudioDeviceInfo(); - - + + virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetAudioDeviceInfo(FDeviceInfo& deviceInfo); abstract getAudioDeviceInfo(): DeviceInfo; public abstract int GetAudioDeviceInfo(ref DeviceInfoMobile deviceInfo); abstract getAudioDeviceInfo(): DeviceInfo; Future<DeviceInfo> getAudioDeviceInfo(); -

    +

    详情 -

    调用该方法后,你可以获取音频设备是否支持极低延时采集和播放。

    +

    调用该方法可以获取音频设备是否支持超低延迟采集和播放。 +

    +

      -
    • 该方法仅适用于 Android 平台。
    • +
    • 该方法仅适用于 Android 平台。
    • 该方法在加入频道前后均可调用。
    • -
    -
    + 你可以在加入频道前或加入频道后调用该方法。 +
    +
    参数 - - deviceInfo - 输入和输出参数。标识音频设备信息的 对象。 + + deviceInfo + 输入和输出参数。标识音频设备信息的 对象。
      -
    • 输入值:一个 对象。
    • +
    • 输入值:一个 对象。
    • 输出值:一个包含了音频设备信息的 对象。
    -
    - + 输出值:包含音频设备信息的 对象。 + 输入和输出参数,表示音频设备信息。详见 + + deviceInfo 音频设备信息,详见 -
    -
    +
    +
    返回值 -
    +

    +

    +

    方法调用成功,返回 对象。 +方法调用失败,返回

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita index bb833d66fef..6350cb53dbd 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getAudioMixingCurrentPosition" /> - 获取音乐文件的播放进度。 + <ph keyref="getAudioMixingCurrentPosition"/> + 获取当前音频混音的播放位置(毫秒)。 - + @@ -14,30 +14,44 @@

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

    + + + + +

    -
    - 详情 -

    该方法获取当前音乐文件播放进度,单位为毫秒。

    - -
      -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    • 如需多次调用 ,请确保调用间隔大于 500 ms。
    • -
    -
    - 返回值 -
    - -
    \ No newline at end of file +
    +

    +

    +
    + 调用限制 +

    无。

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

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

    + +

    +

    +

    +

    +

    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita index d1368bb50fb..41ee1cf4c0e 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getAudioMixingDuration" /> - 获取音乐文件总时长。 + <ph keyref="getAudioMixingDuration"/> + 获取音频文件的总时长(毫秒)。 - + @@ -14,33 +14,45 @@

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

    + + + + +

    -

    该方法获取音乐文件总时长,单位为毫秒。

    +

    -
    - 调用时机 -

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

    -
    -
    - 调用限制 -

    无。

    -
    -
    - 返回值 -
    - -
    \ No newline at end of file +
    + 调用时机 +

    在调用 startAudioMixing 并收到 )回调后调用该方法。

    +
    +
    + 调用限制 +

    无。

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

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

    + +

    +

    +

    方法调用成功,返回混音音频的时长(毫秒)。 +< 0:方法调用失败。

    +

    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index e6f12ccd161..1f57d0e5057 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getAudioMixingPlayoutVolume" /> - 获取音乐文件的本地播放音量。 + <ph keyref="getAudioMixingPlayoutVolume"/> + 获取本地播放的混音音量。 - + @@ -14,33 +14,43 @@

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

    + + + + +

    -

    你可以调用该方法获取混音的音乐文件的本地播放音量,方便排查音量相关问题。

    +

    -
    - 调用时机 -

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

    -
    -
    - 调用限制 -

    无。

    -
    -
    - 返回值 -
    - -
    \ No newline at end of file +
    + 调用时机 +

    请在调用 startAudioMixing 并收到 )回调后调用此方法。

    +
    +
    + 调用限制 +

    无。

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

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

    + +

    +

    +

    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita index 2c268feb550..a9d10f31b75 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getAudioMixingPublishVolume" /> - 获取音乐文件的远端播放音量。 + <ph keyref="getAudioMixingPublishVolume"/> + 获取用于发布的混音音量。 - + @@ -14,26 +14,44 @@

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

    + + + + +

    -
    - 详情 -

    该接口可以方便开发者排查音量相关问题。

    - 你需要在调用 并收到 () 回调后调用该方法。
    -
    - 返回值 -
    - -
    \ No newline at end of file +
    +

    +

    +
    + 调用限制 +

    无。

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

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

    + +

    +

    +

    +

    +

    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita b/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita index 408ddc4d18a..a3928047b39 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getAudioTrackCount" /> - 获取当前音乐文件的音轨索引。 + <ph keyref="getAudioTrackCount"/> + 获取当前音乐文件中音轨的索引。 - + @@ -14,28 +14,34 @@

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

    + + + + +

    -
    - 详情 - -
      -
    • 你需要在调用 并收到() 回调后调用该方法。
    • -
    -
    - 返回值 -
    - -
    \ No newline at end of file +
    +

    +

    +
    + 调用限制 +

    无。

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

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

    + +

    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_getcallid.dita b/dita/RTC-NG/API/api_irtcengine_getcallid.dita index 9080aa7a385..4570820099b 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcallid.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcallid.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getCallId" /> - 获取通话 ID。 + <ph keyref="getCallId"/> + 获取当前通话的 callId - + @@ -15,46 +15,60 @@

    public abstract String getCallId(); public abstract getCallId(): string; - - (NSString * _Nullable)getCallId; + - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId()); virtual int getCallId(agora::util::AString& callId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetCallId(FString& callId); abstract getCallId(): string; public abstract int GetCallId(ref string callId); abstract getCallId(): string; Future<String> getCallId(); -

    +

    -

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

    +

    当用户在客户端加入频道后,声网 SDK 会生成一个用于标识通话的 callId。你可以调用该方法获取 callId,并在调用如 等方法时传入该值。callId,标识该客户端的此次通话。你可以调用该方法获取 callId 参数,然后在调用 等方法时填入。

    调用时机 -

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

    -
    +

    在加入频道后调用此方法。

    +
    调用限制

    无。

    -
    +
    参数 - - callId - 输出参数,当前的通话 ID。 + + callId + 输出参数,当前的通话 ID。 + 输出参数,当前通话的 callId。详见 AString + 当前通话的 callId - +
    -
    +
    返回值 -

    通话 ID。

    -
      +

      通话 ID。

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
      -
        +
        • 方法调用成功则返回当前的通话 ID。
        • 方法调用失败则返回空字符串。
        • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

    方法调用成功时,返回当前通话的 callId。方法调用失败时,返回空字符串。

    +

      +
    • 方法调用成功时,返回当前通话的 callId
    • +
    • 方法调用失败,返回空字符串。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita b/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita index 9128fd2928a..70ace2b7dd7 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getCameraMaxZoomFactor" /> - 获取摄像头支持的最大放大倍率。 + <ph keyref="getCameraMaxZoomFactor"/> + 获取摄像头支持的最大变焦倍数。 - + @@ -15,26 +15,34 @@

    public abstract float getCameraMaxZoomFactor(); public abstract getCameraMaxZoomFactor(): number; - - (CGFloat)cameraMaxZoomFactor; + - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor()); virtual float getCameraMaxZoomFactor() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") float GetCameraMaxZoomFactor(); abstract getCameraMaxZoomFactor(): number; public abstract float GetCameraMaxZoomFactor(); abstract getCameraMaxZoomFactor(): number; Future<double> getCameraMaxZoomFactor(); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。
    • +
    +
    + 你必须在 SDK 触发 回调,并返回本地视频状态为 (1)后调用该方法。 + 你必须在 SDK 触发 回调,并返回本地视频状态为 (1)后调用此方法。 +
  • +
    返回值 -

    设备摄像头支持的最大放大倍率。

    -
    +

    设备摄像头支持的最大放大倍率。

    +

    方法调用成功,返回摄像头支持的最大变焦倍数。

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita b/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita index b3343b077eb..255257d3eb2 100644 --- a/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita +++ b/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita @@ -1,42 +1,56 @@ - + - <ph keyref="getConnectionState" /> - 获取当前网络连接状态。 + <ph keyref="getConnectionState"/> + 获取 SDK 当前连接状态。 - +

    - public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); - - - (AgoraConnectionState)getConnectionState; + public abstract int getConnectionState(); + + - (AgoraConnectionState)getConnectionState NS_SWIFT_NAME(getConnectionState()); virtual CONNECTION_STATE_TYPE getConnectionState() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - ECONNECTION_STATE_TYPE GetConnectionState(); - abstract getConnectionState(): ConnectionStateType; - public abstract CONNECTION_STATE_TYPE GetConnectionState(); - abstract getConnectionState(): ConnectionStateType; - Future<ConnectionStateType> getConnectionState(); -

    + + + + +

    +
    +
    +

    -
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制

    无。

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

    -

    +

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

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

    方法调用成功,返回当前连接状态,详见

    +

    方法调用成功,返回当前的连接状态,详见

    +

      +
    • CONNECTION_STATE_DISCONNECTED(1):SDK 与声网边缘服务器断开连接。
    • +
    • CONNECTION_STATE_CONNECTING(2):SDK 正在连接声网边缘服务器。
    • +
    • CONNECTION_STATE_CONNECTED(3):SDK 已加入频道并与声网边缘服务器连接。你可以在频道中发布或订阅媒体流。
    • +
    • CONNECTION_STATE_RECONNECTING(4):由于网络原因,SDK 与已加入的频道断开连接,正在尝试重新加入。
    • +
    • CONNECTION_STATE_FAILED(5):SDK 加入频道失败。
    • +
    +

    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita b/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita index 2eacc8371ed..58c5af74207 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita @@ -1,4 +1,4 @@ - + <ph keyref="getCurrentMonotonicTimeInMs"/> @@ -17,36 +17,46 @@ public abstract getCurrentMonotonicTimeInMs(): number; - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs()); virtual int64_t getCurrentMonotonicTimeInMs() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int64 GetCurrentMonotonicTimeInMs(); abstract getCurrentMonotonicTimeInMs(): number; public abstract long GetCurrentMonotonicTimeInMs(); abstract getCurrentMonotonicTimeInMs(): number; - Future<int> getCurrentMonotonicTimeInMs();

    + Future<int> getCurrentMonotonicTimeInMs();

    -
    - -
    自从
    -
    v4.2.0
    -
    -

    Monotonic Time 是指一个单调递增的时间序列,它的值会随着时间的推移而增加。单位为毫秒。

    在自定义视频采集、自定义音频采集场景中,为确保音视频同步,声网建议你调用该方法获取 SDK 当前的 Monotonic Time 后,将该值传入采集的视频帧()、音频帧()的时间戳参数。

    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制

    无。

    -
    +
    返回值 -
      +
      • ≥ 0: 方法调用成功,返回 SDK 当前的 Monotonic Time(毫秒)。
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
    + +

      +
    • ≥0:方法调用成功,返回 SDK 当前的 Monotonic Time(单位为毫秒)。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

      +
    • ≥ 0:方法调用成功,返回 SDK 当前的 Monotonic Time(单位为毫秒)。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

      +
    • ≥ 0:方法调用成功,返回 SDK 当前的单调时间(单位为毫秒)。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita b/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita index 8ae3dc47596..437b99b41ff 100644 --- a/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita @@ -1,46 +1,66 @@ - + - <ph keyref="getEffectCurrentPosition" /> - 获取指定音效文件的播放进度。 + <ph keyref="getEffectCurrentPosition"/> + 获取指定音效文件的播放位置。 - +

    - public int getEffectCurrentPosition(int soundId); - + public abstract int getEffectCurrentPosition(int soundId); + - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:)); virtual int getEffectCurrentPosition(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetEffectCurrentPosition(int soundId); abstract getEffectCurrentPosition(soundId: number): number; public abstract int GetEffectCurrentPosition(int soundId); abstract getEffectCurrentPosition(soundId: number): number; Future<int> getEffectCurrentPosition(int soundId); -

    +

    详情 - 该方法需要在 后调用。
    + 该方法需要在 后调用。 请在调用 后使用此方法。 + 请在调用 方法之后调用本方法。 + 请在调用 后调用此方法。 +
    参数 soundId - - -
    -
    + + 音效 ID。每个音效文件的 ID 是唯一的。 + +
    +
    返回值 -
      +
      • 方法调用成功,返回指定音效文件的播放进度(毫秒)。
      • < 0:方法调用失败。详见了解详情和解决建议。
      • -
    + +

    +

    +

    +

    +

    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita b/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita index 2cf3c828652..c6656ff72b4 100644 --- a/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita +++ b/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getEffectDuration" /> - 获取指定音效文件总时长。 + <ph keyref="getEffectDuration"/> + 获取指定音效文件的时长。 - + @@ -14,33 +14,51 @@

    public abstract int getEffectDuration(String filePath); - + - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:)); virtual int getEffectDuration(const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetEffectDuration(const FString& filePath); abstract getEffectDuration(filePath: string): number; public abstract int GetEffectDuration(string filePath); abstract getEffectDuration(filePath: string): number; Future<int> getEffectDuration(String filePath); -

    +

    详情 - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 请在加入频道后调用该方法。 +
    参数 - - + + -
    -
    + + filePath + 音效文件的路径:文件路径需精确到文件名及后缀名。支持 URL 地址、绝对路径或以 /assets/ 开头的文件路径。若使用绝对路径访问本地文件,可能会遇到权限问题,建议使用 URI 地址。例如:content://com.android.providers.media.documents/document/audio%3A14441 + 音效文件的路径:本地音效文件的绝对路径或 URL 地址(包括文件名后缀)。例如: + 音效文件的路径:音效文件的绝对路径或 URL 地址(包括文件名后缀)。例如: + +
    +
    返回值 -
    + +

    +

    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita b/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita index 3bed1fa9c71..fb2642565eb 100644 --- a/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getEffectsVolume" /> - 获取音效文件的播放音量。 + <ph keyref="getEffectsVolume"/> + 获取音效音量。 - + @@ -14,26 +14,38 @@

    public abstract double getEffectsVolume(); - - - (int)getEffectsVolume; + + - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume()); virtual int getEffectsVolume() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetEffectsVolume(); abstract getEffectsVolume(): number; public abstract int GetEffectsVolume(); abstract getEffectsVolume(): number; Future<int> getEffectsVolume(); -

    +

    详情 -

    音量范围为 0~100。100 (默认值)为原始文件音量。

    - 该方法需要在 后调用。
    -
    +

    音量为整数,范围为 0 到 100,默认值为 100,表示原始音量。

    + 该方法需要在 后调用。 请在调用 方法之后调用此方法。 +
    +
    返回值 -
    + +

    +

    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita b/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita index a64117e54a9..a062c867fcf 100644 --- a/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita +++ b/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getErrorDescription" /> - 获取警告或错误描述。 + <ph keyref="getErrorDescription"/> + 获取警告或错误码对应的描述信息。 - + @@ -17,28 +17,40 @@ public static getErrorDescription(error: number): string { return RtcEngineImpl.getErrorDescriptionInternal(error); } - + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; + + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:)); virtual const char* getErrorDescription(int code) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") FString GetErrorDescription(int code); abstract getErrorDescription(code: number): string; public abstract string GetErrorDescription(int code); abstract getErrorDescription(code: number): string; Future<String> getErrorDescription(int code); -

    +

    参数 - code - error + code + error SDK 报告的错误码。 -
    -
    + + error + 声网 SDK 报告的错误码。 + +
    +
    返回值 -

    具体的错误描述。

    -
    +

    具体的错误描述。

    +

      +
    • 方法调用成功时,返回错误码对应的描述信息。
    • +
    • 方法调用失败,返回空字符串。
    • +
    +

    +

    方法调用成功,返回具体的错误描述信息。

    +

    方法调用成功时,返回错误码对应的描述信息。 +方法调用失败,返回空字符串。

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita b/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita index b36b03b411d..7cb22a4b9af 100644 --- a/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getExtensionProperty" /> - 获取插件的详细信息。 + <ph keyref="getExtensionProperty"/> + 获取扩展的详细信息。 - + @@ -15,21 +15,20 @@

    public abstract String getExtensionProperty(String provider, String extension, String key); - + - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider - extension:(NSString * _Nonnull)extension - key:(NSString * _Nonnull)key; - - - - - -

    + extension:(NSString * _Nonnull)extension + key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:)); + + + + +

    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -39,28 +38,45 @@ 参数 - - + + - - + + - - + + + + + provider + 扩展提供方的名称。 + + + extension + 扩展的名称。 -
    -
    + + key + 扩展的键值。 + +
    +
    返回值 -
      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
      -
        +
        • 方法调用成功,则返回插件信息。
        • 方法调用失败,则返回空字符串。
        • -
        -
    + +

      +
    • 方法调用成功时,返回扩展信息字符串。
    • +
    • 方法调用失败时,返回空字符串。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita b/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita index 8d88baeb078..b33f20d7b96 100644 --- a/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita +++ b/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita @@ -1,4 +1,4 @@ - + <ph keyref="getNetworkType"/> @@ -14,30 +14,24 @@

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

    + Future<int> getNetworkType(); +

    详情 -
    - -
    自从
    -
    v4.0.1
    -
    -

    你可以在任何阶段通过该方法获取正在使用的网络类型。

    该方法在加入频道前后均可调用。
    -
    +
    返回值 -
      +
      • ≥ 0: 方法调用成功,返回本地网络连接类型。
          @@ -54,6 +48,58 @@
          • -1:网络连接类型未知。
          -
    + +

    +

    +

    +

    +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita b/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita index 01faed29130..e4ca01d451c 100644 --- a/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita +++ b/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita @@ -1,8 +1,8 @@ - + <ph keyref="getNtpWallTimeInMs"/> - 获取当前的 NTP (网络时间协议) 时间。 + 获取当前的 NTP(网络时间协议)时间。 @@ -14,30 +14,25 @@

    public abstract long getNtpWallTimeInMs(); - + - (uint64_t)getNtpWallTimeInMs; virtual uint64_t getNtpWallTimeInMs() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") FString GetNtpWallTimeInMs(); abstract getNtpWallTimeInMs(): number; public abstract UInt64 GetNtpWallTimeInMs(); abstract getNtpWallTimeInMs(): number; - Future<int> getNtpWallTimeInMs(); -

    + Future<int> getNtpWallTimeInMs(); +

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    在实时合唱的场景中,特别是在各个接收端由于网络原因导致下行链路不一致的情况下,你可以调用该方法来获取当前的 NTP 时间作为基准时间,以对齐多个接收端的歌词和音乐,实现合唱同步。

    -
    +
    返回值 -

    当前 NTP 时间的 Unix 时间戳 (毫秒)。

    -
    +

    当前 NTP 时间的 Unix 时间戳 (毫秒)。

    +

    方法调用成功,返回当前 NTP 时间的 Unix 时间戳(毫秒)。

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita b/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita index c30fa37d9e5..f99441d1ad5 100644 --- a/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita +++ b/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita @@ -1,71 +1,64 @@ - + - <ph keyref="getScreenCaptureSources" /> - 获取可共享的屏幕和窗口对象列表。 + <ph keyref="getScreenCaptureSources"/> + 获取可共享的屏幕和窗口列表。 - +

    - - - - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen; - + + + virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - UIScreenCaptureSourceList* GetScreenCaptureSources(const FSIZE & thumbSize, const FSIZE & iconSize, bool includeScreen); - abstract getScreenCaptureSources( - thumbSize: Size, - iconSize: Size, - includeScreen: boolean - ): ScreenCaptureSourceInfo[]; - public abstract ScreenCaptureSourceInfo[] GetScreenCaptureSources(SIZE thumbSize, SIZE iconSize, bool includeScreen); - abstract getScreenCaptureSources( - thumbSize: Size, - iconSize: Size, - includeScreen: boolean - ): ScreenCaptureSourceInfo[]; - Future<List<ScreenCaptureSourceInfo>> getScreenCaptureSources( - {required Size thumbSize, - required Size iconSize, - required bool includeScreen}); -

    + + + + +

    -
    - 详情 -

    屏幕共享或窗口共享前,你可以调用该方法获取可共享的屏幕和窗口的对象列表,方便用户通过列表中的缩略图选择共享某个显示器的屏幕或某个窗口。列表中包含窗口 ID 和屏幕 ID 等重要信息,你可以获取到 ID 后再调用 开启共享。

    - 该方法仅适用于 macOS 和 Windows。 -
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - thumbSize - 屏幕或窗口的缩略图的目标尺寸(宽高单位为像素)。详见 SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × 300,thumbSize 为 100 x 100,缩略图实际尺寸为 100 × 75。如果目标尺寸大于原图尺寸,缩略图即为原图,SDK 不进行缩放操作。 + + thumbSize + 屏幕或窗口缩略图的目标尺寸(单位为像素,宽度和高度)。SDK 会缩放原始图像,使图像最长边的长度与目标尺寸一致,同时不扭曲原始图像。例如,若原始图像为 400 × 300,thumbSize 为 100 × 100,则缩略图的实际尺寸为 100 × 75。如果目标尺寸大于原始尺寸,则缩略图为原始图像,SDK 不进行缩放。详见 SIZE - - iconSize - 程序所对应的图标的目标尺寸(宽高单位为像素)。详见 SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × 300,iconSize 为 100 × 100,图标实际尺寸为 100 × 75。如果目标尺寸大于原图尺寸,图标即为原图,SDK 不进行缩放操作。 + + iconSize + 应用程序图标的目标尺寸(单位为像素,宽度和高度)。SDK 会缩放原始图像,使图像最长边的长度与目标尺寸一致,同时不扭曲原始图像。例如,若原始图像为 400 × 300,iconSize 为 100 × 100,则图标的实际尺寸为 100 × 75。如果目标尺寸大于原始尺寸,则图标为原始图像,SDK 不进行缩放。详见 SIZE - - includeScreen - 除了窗口信息外,SDK 是否返回屏幕信息: + + includeScreen + 是否返回屏幕信息:
      -
    • :SDK 返回屏幕和窗口信息。
    • -
    • :SDK 仅返回窗口信息。
    • -
    +
  • :返回屏幕和窗口信息。
  • +
  • :仅返回窗口信息。
  • + +
    -
    - 返回值 -

    -

    数组。

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

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

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

    方法调用成功,返回 实例,详见 。方法调用失败,返回

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita index 91c9a5a7626..a0ed46605d6 100644 --- a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita +++ b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getUserInfoByUid" /> - 通过 UID 获取用户信息。 + <ph keyref="getUserInfoByUid"/> + 通过传入用户 ID 获取用户信息。 - + @@ -14,23 +14,23 @@

    public abstract int getUserInfoByUid(int uid, UserInfo userInfo); - + - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:)); virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetUserInfoByUid(int64 uid, FUserInfo& userInfo); abstract getUserInfoByUid(uid: number): UserInfo; public abstract int GetUserInfoByUid(uint uid, ref UserInfo userInfo); abstract getUserInfoByUid(uid: number): UserInfo; Future<UserInfo> getUserInfoByUid(int uid); -

    +

    -

    远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的映射表,并在本地触发 回调。收到回调后,调用该方法传入 UID 来获取包含了指定用户 User Account 的 对象。

    -
    +

    当远端用户加入频道后,SDK 会获取该远端用户的用户 ID 和用户账号,并将其缓存在一个映射表中,然后在本地客户端触发 回调。收到该回调后,你可以调用该方法并传入用户 ID,从 对象中获取指定用户的用户账号。 回调。收到回调后,调用该方法传入 UID 来获取包含了指定用户 User Account 的 对象。

    +
    调用时机 -

    在收到 回调后调用。

    +

    在收到 回调后调用该方法。

    调用限制 @@ -38,46 +38,59 @@
    参数 uid - 用户 ID。 - - - userInfo - 输入和输出参数。标识用户的 对象: + 用户 ID。 + 参数,表示用户 ID。 + 用户的 ID。请确保设置该参数。 + ,表示用户 ID。 + + + userInfo + 输入和输出参数。标识用户的 对象:
    • 输入值:一个 对象。
    • -
    • 输出值:一个包含了用户 User Account 和 UID 的 对象。
    • +
    • 输出值:一个包含了用户 User Account 和 UID 的 对象。
    -
    + 输入输出参数,表示用户信息的 对象。详见 + 输入和输出参数,表示用户信息的 对象。详见 + channelId -

    +

    localUserAccount 本地用户的 User Account。 - - error - 错误码。 - -

    -
    + + error + 错误码。 + 指向 的指针。可以设置为 。详见 + +
    +
    返回值 -
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,则返回
    • +
        +
      • 方法调用成功,返回 对象。
      • +
      • 方法调用失败,则返回
      -
        +
        • 0: 方法调用成功。
        • < 0: 方法调用失败。详见了解详情和解决建议。
        • -
    + +

    +

    +

    方法调用成功时,返回一个 对象。方法调用失败时,返回

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita index 0e7cb4ecc6d..d16c644a678 100644 --- a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita @@ -1,36 +1,36 @@ - + - <ph keyref="getUserInfoByUserAccount" /> - 通过 User Account 获取用户信息。 + <ph keyref="getUserInfoByUserAccount"/> + 通过传入用户账号获取用户信息。 - +

    - + - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:)); public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetUserInfoByUserAccount(const FString& userAccount, FUserInfo& userInfo); abstract getUserInfoByUserAccount(userAccount: string): UserInfo; public abstract int GetUserInfoByUserAccount(string userAccount, ref UserInfo userInfo); abstract getUserInfoByUserAccount(userAccount: string): UserInfo; Future<UserInfo> getUserInfoByUserAccount(String userAccount); -

    +

    -

    远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的映射表,并在本地触发 回调。收到回调后,调用该方法传入 User Account 来获取包含了指定用户 UID 的 对象。

    -
    +

    当远端用户加入频道后,SDK 会获取该远端用户的用户 ID 和用户账号,并将其缓存在映射表中,然后在本地客户端触发 回调。收到该回调后,你可以调用该方法并传入用户账号,从 对象中获取远端用户的用户 ID。 回调。收到回调后,调用该方法传入 User Account 来获取包含了指定用户 UID 的 对象。

    +
    调用时机 -

    在收到 回调后调用。

    +

    在收到 回调后调用该方法。

    调用限制 @@ -38,18 +38,19 @@
    参数 userAccount - 用户 User Account。 - - - - + 用户 User Account。 + 用户账号。 + + + + channelId @@ -59,13 +60,28 @@ localUserAccount 本地用户的 User Account。 - - - + + + + + + userInfo + 对象,用于标识用户信息。详见 + 输入和输出参数,表示用户信息。详见 -
    -
    + + error + 错误码,详见 + +
    +
    - </section> + <p props="android cpp"><ul> + <li>0:方法调用成功。</li> + <li>< 0:方法调用失败。</li> + </ul> + </p> + <p props="apple">方法调用成功时,返回一个 <xref keyref="UserInfo"/> 对象。方法调用失败时,返回 <codeph><ph keyref="NULL"/></codeph>。</p> + </section> </refbody> </reference> diff --git a/dita/RTC-NG/API/api_irtcengine_getversion.dita b/dita/RTC-NG/API/api_irtcengine_getversion.dita index d5f64006a0c..ad90cea99c9 100644 --- a/dita/RTC-NG/API/api_irtcengine_getversion.dita +++ b/dita/RTC-NG/API/api_irtcengine_getversion.dita @@ -1,8 +1,8 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"> <reference id="api_irtcengine_getversion"> <title><ph keyref="getVersion"/> - 获取 SDK 版本。 + 获取 SDK 版本号。 @@ -17,28 +17,33 @@ public static getSdkVersion(): string { return RtcEngineImpl.getRtcSdkVersion(); } - + (NSString * _Nonnull)getSdkVersion; + + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion()); virtual const char* getVersion(int* build) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") FString GetVersion(); abstract getVersion(): SDKBuildInfo; public abstract string GetVersion(ref int build); abstract getVersion(): SDKBuildInfo; Future<SDKBuildInfo> getVersion(); -

    +

    参数 - - build - 编译号。 - -
    -
    + + build + 编译号。 + 输出参数,表示 SDK 的构建索引。 + +
    +
    返回值 -

    当前的 SDK 版本号。格式为字符串。

    -

    对象。

    -
    +

    当前的 SDK 版本号。格式为字符串。

    +

    对象。

    +

    方法调用成功时,返回 SDK 的版本号,格式为字符串。方法调用失败,返回空字符串。

    +

    方法调用成功时,返回当前 SDK 的版本号,类型为 NSString

    +

    方法调用成功时,返回当前 SDK 的版本号字符串。 +方法调用失败,返回空字符串。

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita b/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita index 2e1d1f62dae..ce5ff036c83 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita @@ -1,12 +1,12 @@ - + - <ph keyref="getVolumeOfEffect" /> - 获取指定音效文件的播放音量。 + <ph keyref="getVolumeOfEffect"/> + 获取指定音效文件的音量。 - + @@ -14,30 +14,43 @@

    public abstract int getVolumeOfEffect(int soundId); - - - (int)getVolumeOfEffect:(int)soundId; + + - (int)getVolumeOfEffect:(int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:)); virtual int getVolumeOfEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int GetVolumeOfEffect(int soundId); abstract getVolumeOfEffect(soundId: number): number; public abstract int GetVolumeOfEffect(int soundId); abstract getVolumeOfEffect(soundId: number): number; Future<int> getVolumeOfEffect(int soundId); -

    +

    参数 soundId - 音效文件的 ID。 + 音效文件的 ID。 -
    -
    +
    +
    返回值 -
    + +

    +

    +

    方法调用成功,返回指定音效文件的音量。该值范围为 0 到 100,100 表示原始音量。 +< 0:方法调用失败。

    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_initialize.dita b/dita/RTC-NG/API/api_irtcengine_initialize.dita index 190c737905c..f909cec6227 100644 --- a/dita/RTC-NG/API/api_irtcengine_initialize.dita +++ b/dita/RTC-NG/API/api_irtcengine_initialize.dita @@ -1,8 +1,8 @@ - + <ph keyref="initialize"/> - 创建并初始化 初始化 + 初始化 实例。初始化 @@ -19,9 +19,9 @@ return RtcEngineImpl.createEngineImpl(config); } + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config - delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; + delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(with:delegate:)); virtual int initialize(const RtcEngineContext& context) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int Initialize(const FRtcEngineContext& context); abstract initialize(context: RtcEngineContext): number; public abstract int Initialize(RtcEngineContext context); @@ -30,45 +30,52 @@

    -

    该方法和 均能创建 实例。该方法与 的区别在于,该方法支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。

    - 类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。 +

    你必须在调用其他 API 之前调用该方法。该方法用于初始化 实例。 均能创建 实例。该方法与 的区别在于,该方法支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。

    + 类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。 + SDK 仅支持为一个 App 创建一个 实例。 提供的所有方法均为异步执行。声网建议在同一线程中调用这些方法。 + SDK 当前仅支持为一个 App 创建一个 实例。 提供的所有方法均为异步执行。声网建议你在同一线程中调用这些方法。
    调用时机 -

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

    -

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

    +

    在调用其他 API 之前。

    +

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

    调用限制 -

    SDK 只支持每个 App 创建一个 实例。

    -
    +

    无。

    +
    参数 - context - config - + context + config +

    实例的配置。详见

    + 实例的配置。详见 +
    + + delegate + + 的事件回调处理器,详见 + + + config + 用于配置 实例的参数,详见 - - delegate - - -
    -
    +
    +
    - <ph keyref="return-section-title" props="apple cpp framework"/> + <ph keyref="return-section-title" props="apple framework"/> <ph props="android hmos">返回/异常</ph> -

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

    -
      +

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

      +
      • 方法调用成功,返回一个成功初始化的 对象。
      • -
      • 0: 方法调用成功。
      • +
      • 0: 方法调用成功。
      • 方法调用失败,抛出异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
      • -
      • 方法调用失败,返回一个 对象,但其内部的 engine 为 ,并通过 delegate 回调返回具体的错误码。
      • -
      • < 0:方法调用失败。 +
      • < 0:方法调用失败。
        • -1: 一般性的错误(未明确归类)。
        • -2: 设置了无效的参数。
        • @@ -76,6 +83,20 @@
        • -22: 资源申请失败。当 App 占用资源过多,或系统资源耗尽时,SDK 分配资源失败,会返回该错误。
        • -101: App ID 无效。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无明确原因)。
      • +
      • -2:参数无效。
      • +
      • -7:SDK 未初始化。
      • +
      • -22:资源请求失败。由于你的 App 占用过多系统资源或系统资源不足,SDK 无法分配资源。
      • +
      • -101:App ID 无效。
      • +
      +
    • +
    +

    +

    方法调用成功时,返回初始化后的 对象。方法调用失败时,返回一个内部 engine 字段为 对象。你可以通过 回调获取错误码。

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita index 9a5472a6dab..c0a59ce173d 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita @@ -1,44 +1,54 @@ - + - <ph keyref="isCameraAutoExposureFaceModeSupported" /> - 检测设备是否支持自动曝光功能。 + <ph keyref="isCameraAutoExposureFaceModeSupported"/> + 检查设备是否支持自动曝光功能。 - +

    - - - - (BOOL)isCameraAutoExposureFaceModeSupported; + + + - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported()); virtual bool isCameraAutoExposureFaceModeSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraAutoExposureFaceModeSupported(); abstract isCameraAutoExposureFaceModeSupported(): boolean; public abstract bool IsCameraAutoExposureFaceModeSupported(); abstract isCameraAutoExposureFaceModeSupported(): boolean; Future<bool> isCameraAutoExposureFaceModeSupported(); -

    +

    详情 -

    - +

      -
    • 该方法仅适用于 iOS。
    • -
    • +
    • 该方法仅适用于 iOS。
    • +

    -
    + 该方法仅适用于 iOS 平台。 +必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 + 必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用此方法。 +
    返回值 -
      -
    • : 设备支持自动曝光功能。
    • -
    • : 设备不支持自动曝光功能。
    • -
    + +

    :设备支持自动曝光功能。 +:设备不支持自动曝光功能。

    +

    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita index 2e5a3d37bde..59a6bac376e 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraAutoFocusFaceModeSupported" /> - 检测设备是否支持人脸对焦功能。 + <ph keyref="isCameraAutoFocusFaceModeSupported"/> + 检测设备是否支持人脸自动对焦功能。 - + @@ -15,28 +15,37 @@

    public abstract boolean isCameraAutoFocusFaceModeSupported(); public abstract isCameraAutoFocusFaceModeSupported(): boolean; - - (BOOL)isCameraAutoFocusFaceModeSupported; + - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported()); virtual bool isCameraAutoFocusFaceModeSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraAutoFocusFaceModeSupported(); abstract isCameraAutoFocusFaceModeSupported(): boolean; public abstract bool IsCameraAutoFocusFaceModeSupported(); abstract isCameraAutoFocusFaceModeSupported(): boolean; Future<bool> isCameraAutoFocusFaceModeSupported(); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • + 仅适用于 Android 和 iOS 平台。必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 + 你必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 + 你必须在 SDK 触发 回调,并返回本地视频状态为 (1)后调用该方法。 +
  • +
    返回值 -
      -
    • : 设备支持人脸对焦功能。
    • -
    • : 设备不支持人脸对焦功能。
    • -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita index ffb3e7dca58..34541ca3744 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita @@ -1,8 +1,8 @@ - + <ph keyref="isCameraCenterStageSupported"/> - 查询摄像头是否支持人像锁定。 + 检查当前摄像头是否支持人像居中功能。 @@ -14,31 +14,25 @@

    - + - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported()); virtual bool isCameraCenterStageSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraCenterStageSupported(); abstract isCameraCenterStageSupported(): boolean; public abstract bool IsCameraCenterStageSupported(); abstract isCameraCenterStageSupported(): boolean; - Future<bool> isCameraCenterStageSupported();

    + Future<bool> isCameraCenterStageSupported();

    -
    - -
    自从
    -
    v4.3.1
    -
    -
    - 该方法仅适用于 iOS 和 macOS。 + 该方法仅适用于 iOS 和 macOS。 该方法仅适用于 iOS。 该方法仅适用于 macOS。

    在调用 开启人像锁定功能前,建议你先调用该方法查询当前设备是否支持人像锁定。

    调用时机 -

    该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) 后。

    +

    必须在成功启用摄像头之后调用,即 SDK 触发 回调并返回本地视频状态为 (1)之后。

    调用限制 @@ -46,9 +40,15 @@
    <ph keyref="return-section-title"/> -
      +
      • : 当前摄像头支持人像锁定。
      • : 当前摄像头不支持人像锁定。
      • -
    + +

      +
    • :当前摄像头支持人像居中功能。
    • +
    • :当前摄像头不支持人像居中功能。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita index 1cefc1e7fa4..f8a1d8fc086 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraExposurePositionSupported" /> - 检测设备是否支持手动曝光功能。 + <ph keyref="isCameraExposurePositionSupported"/> + 检查设备是否支持手动曝光功能。 - + @@ -15,28 +15,43 @@

    public abstract boolean isCameraExposurePositionSupported(); public abstract isCameraExposurePositionSupported(): boolean; - - (BOOL)isCameraExposurePositionSupported; + - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported()); virtual bool isCameraExposurePositionSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraExposurePositionSupported(); abstract isCameraExposurePositionSupported(): boolean; public abstract bool IsCameraExposurePositionSupported(); abstract isCameraExposurePositionSupported(): boolean; Future<bool> isCameraExposurePositionSupported(); -

    +

    +
    + +
    自从:
    +
    自 v2.3.2 版本新增。
    +
    +
    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • + 该方法仅适用于 Android 和 iOS 平台。必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 + 你必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用此方法。 + 必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 +
  • +
    返回值 -
      -
    • : 设备支持手动曝光功能。
    • -
    • : 设备不支持手动曝光功能。
    • -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita index ed2e9b80aa8..6bd8f32cf2b 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraExposureSupported" /> - 查询当前摄像头是否支持曝光调节。 + <ph keyref="isCameraExposureSupported"/> + 查询当前摄像头是否支持调节曝光值。 - + @@ -17,36 +17,65 @@ public abstract isCameraExposureSupported(): boolean; - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported()); virtual bool isCameraExposureSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraExposureSupported(); - + public abstract bool IsCameraExposureSupported(); abstract isCameraExposureSupported(): boolean; - Future<bool> isCameraExposureSupported(); -

    + Future<bool> isCameraExposureSupported(); +

    详情
    - -
    自从
    -
    v4.2.2
    + +
    自从:
    +
    自 v4.2.2 版本新增。
      -
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法仅适用于 Android 和 iOS。
    • 该方法必须在 SDK 触发 回调,返回本地视频状态为 (1) 之后调用。
    • 建议你在调用 调节曝光系数前,先调用该方法查询当前摄像头是否支持曝光调节。
    • 当你调用该方法时,查询的是当前正在使用的摄像头是否支持曝光调节,即调用 时指定的摄像头。
    -
    -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。
    • +
    • 在调用 之前,建议先调用该方法查询当前摄像头是否支持调节曝光值。
    • +
    • 该方法会调节当前活跃摄像头的曝光值,即调用 时指定的摄像头。
    • +
    +
    + 方法必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用。调用 之前,建议先调用该方法查询当前摄像头是否支持调节曝光值。该方法用于调节当前活跃摄像头的曝光值,即调用 时指定的摄像头。 +
      +
    • 你必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。
    • +
    • 在调用 之前,建议先调用该方法查询当前摄像头是否支持调节曝光值。
    • +
    • 该方法会查询当前激活摄像头的曝光调节能力,即调用 时指定的摄像头。
    • +
    +
    +
    +
    返回值 -
      +
      • :方法调用成功。
      • :方法调用失败。详见了解详情和解决建议。
      -
    +

      +
    • :查询成功,当前摄像头支持调节曝光值。
    • +
    • :查询失败,当前摄像头不支持调节曝光值或设备未初始化。
    • +
    +

    +

      +
    • :查询成功,当前摄像头支持调节曝光值。
    • +
    • :查询失败,当前摄像头不支持调节曝光值。
    • +
    +

    +

      +
    • :当前摄像头支持调节曝光值。
    • +
    • :当前摄像头不支持调节曝光值。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita index c467422f081..174d2d98420 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraFaceDetectSupported" /> + <ph keyref="isCameraFaceDetectSupported"/> 检查设备摄像头是否支持人脸检测。 - + @@ -15,27 +15,39 @@

    public abstract boolean isCameraFaceDetectSupported(); public abstract isCameraFaceDetectSupported(): boolean; - + virtual bool isCameraFaceDetectSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraFaceDetectSupported(); abstract isCameraFaceDetectSupported(): boolean; public abstract bool IsCameraFaceDetectSupported(); abstract isCameraFaceDetectSupported(): boolean; Future<bool> isCameraFaceDetectSupported(); -

    +

    -
    +
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
  • + 该方法仅适用于 Android 和 iOS 平台。必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 +
  • 返回值 -
      -
    • : 设备摄像头支持人脸检测。
    • -
    • : 设备摄像头不支持人脸检测。
    • -
    + +

    +

    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita b/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita index 5c3be4d25f3..30b8671ddb3 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraFocusSupported" /> - 检测设备是否支持手动对焦功能。 + <ph keyref="isCameraFocusSupported"/> + 检查设备是否支持手动对焦功能。 - + @@ -15,28 +15,37 @@

    public abstract boolean isCameraFocusSupported(); public abstract isCameraFocusSupported(): boolean; - - (BOOL)isCameraFocusPositionInPreviewSupported; + - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported()); virtual bool isCameraFocusSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraFocusSupported(); abstract isCameraFocusSupported(): boolean; public abstract bool IsCameraFocusSupported(); abstract isCameraFocusSupported(): boolean; Future<bool> isCameraFocusSupported(); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • + 方法仅适用于 Android 和 iOS 平台。必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 + 你必须在 SDK 触发 回调,并返回本地视频状态为 (1)后调用此方法。 + 你必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。 +
  • +
    返回值 -
      -
    • : 设备支持手动对焦功能。
    • -
    • : 设备不支持手动对焦功能。
    • -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita index 5b5175220f1..f36ae0e616b 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraTorchSupported" /> - 检测设备是否支持闪光灯常开。 + <ph keyref="isCameraTorchSupported"/> + 检查设备是否支持相机闪光灯功能。 - + @@ -14,31 +14,56 @@

    public abstract boolean isCameraTorchSupported(); - + - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported()); virtual bool isCameraTorchSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraTorchSupported(); abstract isCameraTorchSupported(): boolean; public abstract bool IsCameraTorchSupported(); abstract isCameraTorchSupported(): boolean; Future<bool> isCameraTorchSupported(); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    • 一般情况下,App 默认开启前置摄像头,因此如果你的前置摄像头不支持闪光灯常开,直接使用该方法会返回 。如果需要检查后置摄像头是否支持闪光灯常开,需要先使用 切换摄像头,再使用该方法。
    • -
    • 在系统版本 15 的 iPad 上,即使 返回 ,也可能因系统问题导致你无法通过 成功开启闪光灯。
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • +
  • 一般情况下,App 默认开启前置摄像头,因此如果你的前置摄像头不支持闪光灯常开,直接使用该方法会返回 。如果需要检查后置摄像头是否支持闪光灯常开,需要先使用 切换摄像头,再使用该方法。
  • +
  • 在系统版本 15 的 iPad 上,即使 返回 ,也可能因系统问题导致你无法通过 成功开启闪光灯。
  • +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。
    • +
    • 应用默认启用前置摄像头。如果前置摄像头不支持闪光灯,该方法返回 。如果你想检查后置摄像头是否支持闪光灯功能,请在调用该方法前调用
    • +
    • 在运行 iOS 15 的 iPad 上,即使 返回 ,由于系统问题,调用 可能无法成功打开闪光灯。
    • +
    +
    + 你必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用该方法。默认启用前置摄像头。如果前置摄像头不支持闪光灯,该方法返回 。如果你想检查后置摄像头是否支持闪光灯,请在调用该方法前调用 。在系统版本为 15 的 iPad 上,即使该方法返回 ,由于系统问题,调用 可能无法成功开启闪光灯。 + 必须在 SDK 触发 回调并返回本地视频状态为 (1)后调用此方法。App 默认启用前置摄像头。如果前置摄像头不支持闪光灯,此方法返回 。如果你想检查后置摄像头是否支持闪光灯功能,请在调用此方法前调用 +
    +
    返回值 -
    + +

    +

    +

    +

    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita b/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita index f145d36c129..9ca3c32764d 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isCameraZoomSupported" /> - 检测设备是否支持摄像头缩放功能。 + <ph keyref="isCameraZoomSupported"/> + 检查设备是否支持摄像头变焦功能。 - + @@ -15,32 +15,40 @@

    public abstract boolean isCameraZoomSupported(); public abstract isCameraZoomSupported(): boolean; - - (BOOL)isCameraZoomSupported; + - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported()); virtual bool isCameraZoomSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsCameraZoomSupported(); abstract isCameraZoomSupported(): boolean; public abstract bool IsCameraZoomSupported(); abstract isCameraZoomSupported(): boolean; Future<bool> isCameraZoomSupported(); -

    +

    - 该方法仅适用于 Android 和 iOS。 -
    + 该方法仅适用于 Android 和 iOS。 + 方法仅适用于 Android 和 iOS 平台。 + 方法仅适用于 iOS 平台,不适用于 macOS。 +
    调用时机 -

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

    +

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

    调用限制

    无。

    -
    +
    返回值 -
      -
    • : 设备支持相机缩放功能。
    • -
    • : 设备不支持相机缩放功能。
    • -
    +
      +
    • : 设备支持相机缩放功能。
    • +
    • : 设备不支持相机缩放功能。
    • +
    +

      +
    • :设备支持摄像头变焦功能。
    • +
    • :设备不支持摄像头变焦功能。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita b/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita index 79acd6a48a3..e6829fc4946 100644 --- a/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita +++ b/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita @@ -1,8 +1,8 @@ - + <ph keyref="isFeatureAvailableOnDevice"/> - 查询设备是否支持指定进阶功能。 + 检查当前设备是否支持指定的高级功能。 @@ -14,10 +14,10 @@

    public abstract boolean isFeatureAvailableOnDevice(int type); - + - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type; virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") bool IsFeatureAvailableOnDevice(EFeatureType type); public abstract bool IsFeatureAvailableOnDevice(FeatureType type); abstract isFeatureAvailableOnDevice(type: FeatureType): boolean; @@ -26,13 +26,13 @@

    详情
    - -
    自从
    -
    v4.2.3
    + +
    自从:
    +
    自 v4.3.0 版本新增。
    -

    查询当前设备能力是否满足虚拟背景、美颜等进阶功能的要求。

    -
    +

    在使用高级功能(如虚拟背景、图像增强)前,可以通过该方法判断当前设备是否具备相应的能力。你可以根据该方法的返回值决定是否显示或启用对应的功能按钮,或在设备能力不足时提示用户,以避免在低端设备上启用高级功能导致性能下降或功能不可用的问题。

    +
    适用场景

    在使用进阶音视频功能前,你可以根据查询结果判断当前设备是否支持这些功能,从而避免在低端设备上开启进阶功能导致性能下降或功能不可用的问题。你可以根据该方法的返回值,决定是否显示或启用相应的功能按钮,或者在设备能力不足时,为用户提示相应信息。

    @@ -42,21 +42,31 @@ type - 进阶功能类型,详见 + 进阶功能类型,详见

    进阶功能类型:

      -
    • (1):虚拟背景功能。
    • -
    • (2):美颜功能。
    • +
    • (1):虚拟背景功能。
    • +
    • (2):美颜功能。

    -
    -
    + 高级功能的类型,详见 + 高级功能类型。详见 + +
    返回值 -
      -
    • : 设备支持指定进阶功能。
    • -
    • : 设备不支持指定进阶功能。
    • -
    +
      +
    • : 设备支持指定进阶功能。
    • +
    • : 设备不支持指定进阶功能。
    • +
    +

    :当前设备支持指定的功能。 +:当前设备不支持指定的功能。

    +

      +
    • :当前设备支持该功能。
    • +
    • :当前设备不支持该功能。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita b/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita index e9eb7a353ed..f2eacd8cefa 100644 --- a/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita @@ -1,12 +1,12 @@ - + - <ph keyref="isSpeakerphoneEnabled" /> - 检查扬声器状态启用状态。 + <ph keyref="isSpeakerphoneEnabled"/> + 检查是否启用了扬声器播放。 - + @@ -14,33 +14,45 @@

    public abstract boolean isSpeakerphoneEnabled(); - public abstract isSpeakerphoneEnabled(): boolean; - - (BOOL)isSpeakerphoneEnabled; + + - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled()); virtual bool isSpeakerphoneEnabled() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - bool IsSpeakerphoneEnabled(); - abstract isSpeakerphoneEnabled(): boolean; - public abstract bool IsSpeakerphoneEnabled(); - abstract isSpeakerphoneEnabled(): boolean; - Future<bool> isSpeakerphoneEnabled(); -

    + + + + +

    - 该方法仅适用于 Android 和 iOS。 +

    调用时机 -

    该方法在加入频道前后都能调用。

    +

    你可以在加入频道前或加入频道后调用该方法。

    调用限制

    无。

    -
    - 返回值 -
    - -
    \ No newline at end of file +
    + <ph keyref="return-section-title"/> +

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

    + +

    :扬声器播放已启用,音频将从扬声器输出。 +:扬声器播放未启用,音频将从其他设备输出,例如耳机或听筒。

    +

    +

    +

    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita index a663726a1c4..3600ddd26c0 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita @@ -1,12 +1,12 @@ - + - <ph keyref="joinChannelWithUserAccountEx" /> - 使用 User Account 和 Token 加入频道,并设置频道媒体选项。 + <ph keyref="joinChannelWithUserAccountEx"/> + 使用用户账号和 Token 加入频道,并设置媒体选项。 - + @@ -15,17 +15,15 @@

    public abstract int joinChannelWithUserAccountEx(String token, String channelId, String userAccount, ChannelMediaOptions options, IRtcEngineEventHandler eventHandler); - + - (int)joinChannelExByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId userAccount:(NSString* _Nonnull)userAccount delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate mediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId, - const char* userAccount, const ChannelMediaOptions& options, - IRtcEngineEventHandler* eventHandler) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options, IRtcEngineEventHandler* eventHandler) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int JoinChannelWithUserAccountEx(const FString& token, const FString& channelId, const FString& userAccount, const FChannelMediaOptions& options); abstract joinChannelWithUserAccountEx( token: string, @@ -46,51 +44,87 @@ required String channelId, required String userAccount, required ChannelMediaOptions options}); -

    +

    -

    调用该方法前,如果你未调用 注册一个 User Account,调用该方法加入频道时,SDK 会自动为你创建一个 User Account。先调用 方法注册 Account,再调用此方法加入频道,可以缩短进入频道的时间。

    -

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过设置 optionsmediaOptions 参数或调用相应的 mute 方法实现。

    +

    在调用该方法前,如果你没有调用 注册用户账号,SDK 会在你调用该方法加入频道时自动为你创建一个用户账号。调用 后再调用该方法,可以缩短加入频道所需的时间。一旦用户加入频道,默认会订阅频道中所有其他用户的音视频流,从而产生用量和计费。如果你希望停止订阅其他用户的媒体流,可以设置 options 参数或调用相应的 方法。 注册一个 User Account,调用该方法加入频道时,SDK 会自动为你创建一个 User Account。先调用 方法注册 Account,再调用此方法加入频道,可以缩短进入频道的时间。

    +

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过设置 optionsmediaOptions 参数或调用相应的 mute 方法实现。

    为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。 -
    + 该方法仅支持用户同时加入一个频道。 +不同 App ID 的用户无法互通。 +加入频道前,请确保用于生成 Token 的 App ID 与调用 方法时传入的 App ID 一致,否则可能导致使用该 Token 加入频道失败。 +为确保通信顺畅,请使用相同的参数类型标识用户。例如,如果某用户使用 UID 加入频道,则其他用户也应使用 UID;使用用户账号加入频道时也应保持一致。如果用户使用声网 Web SDK 加入频道,请确保用户 ID 的参数类型一致。 +
    +
    + 适用场景 +

    该方法适用于多频道场景。

    +
    参数 - - + + channelId - -

    + +

    - - - - + 频道名。该参数表示用户进行实时音视频互动的频道。在相同 App ID 的前提下,填写相同频道名的用户会进入同一个频道进行音视频互动。字符串长度不得超过 64 字节。支持的字符(共 89 个)包括:小写英文字母 a 到 z,大写英文字母 A 到 Z,数字 0 到 9,空格,以及以下符号:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。 + + + + - options - mediaOptions - + options + mediaOptions + + 频道媒体选项。详见 + + + + - - - + + + - - - + + token + 在你的服务器上生成的用于鉴权的 Token。 -

    + + userAccount + 用户账号。该参数用于标识频道中的用户以进行实时音视频互动。你需要自行设置和管理用户账号,并确保同一频道中每个用户账号唯一。该参数的最大长度为 255 字节,不能为空。支持的字符(共 89 个)包括:小写英文字母 a 到 z,大写英文字母 A 到 Z,数字 0 到 9,空格,以及以下符号:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。 + + + eventHandler + 回调接口类。你可以通过该参数传入的 eventHandler 对象获取多个频道的回调事件。详见 + +
    -
    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_leavechannel.dita b/dita/RTC-NG/API/api_irtcengine_leavechannel.dita index 7d29d0fcb3f..2fe911a1aa4 100644 --- a/dita/RTC-NG/API/api_irtcengine_leavechannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_leavechannel.dita @@ -1,4 +1,4 @@ - + <ph keyref="leaveChannel"/> @@ -14,10 +14,10 @@

    public abstract int leaveChannel(); - - - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; + + - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:)); virtual int leaveChannel() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int LeaveChannel(); abstract leaveChannel(options?: LeaveChannelOptions): number; public abstract int LeaveChannel(); @@ -26,43 +26,59 @@

    -

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

    -

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

    +

    调用该方法后,SDK 会终止音视频互动,离开当前频道,并释放与会话相关的所有资源。你在加入频道后必须调用该方法结束通话,否则无法开始下一次通话。

    +

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

    • 该方法是异步操作,调用返回时并没有真正退出频道。
    • 如果你已调用 加入多个频道,调用本方法后会同时离开所有已加入的频道。
    + 如果在调用该方法后立即调用 ,SDK 不会触发 回调。 +该方法为异步调用,方法返回时并不代表你已成功离开频道。 +如果你调用了 加入了多个频道,调用该方法会离开你加入的所有频道。
    调用时机 -

    -

    +

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

    +
    调用限制 -

    -

    +

    无。

    + +

    成功调用该方法后,本地用户会触发 回调。远端用户会在远端主播离开频道后触发 回调。

    +
    - <ph props="ios mac">参数</ph> - + <ph props="apple">参数</ph> + -
    -
    + + leaveChannelBlock + 该回调表示你离开频道,并在 中提供通话统计信息。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    0:方法调用成功。 +< 0:方法调用失败。 +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita b/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita index 12b8ddbeb52..96746701f01 100644 --- a/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita +++ b/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita @@ -1,8 +1,8 @@ - + <ph keyref="loadExtensionProvider"/> - 加载插件。 + 加载扩展。 @@ -14,62 +14,55 @@

    - + virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int LoadExtensionProvider(const FString& path, bool unload_after_use); - abstract loadExtensionProvider( - path: string, - unloadAfterUse?: boolean - ): number; - public abstract int LoadExtensionProvider(string path, bool unload_after_use = false); - abstract loadExtensionProvider( - path: string, - unloadAfterUse?: boolean - ): number; - Future<void> loadExtensionProvider( - {required String path, bool unloadAfterUse = false}); -

    + + + + +

    -

    该方法用于将 SDK 外部插件(例如云市场插件和 SDK 拓展插件)添加到 SDK 中。

    +

    调用时机 -

    请在初始化 后立即调用该方法。

    +

    请确保在调用该方法前已初始化

    调用限制 -

    如果要加载多个插件,需要多次调用该方法。

    - 该方法仅适用于 Windows 和 Android。 - 该方法仅适用于 Android。 - 该方法仅适用于 Windows。 +

    无。

    参数 - - path - 插件的动态库路径和名称。例如:/library/libagora_segmentation_extension.dll + + path + 扩展库的路径和名称。例如:/library/libagora_segmentation_extension.dll - - unload_after_use - unloadAfterUse - 是否在插件使用完毕后自动卸载: + + unload_after_use + 是否在不再使用当前扩展时卸载该扩展:
      -
    • : 当 销毁时自动卸载插件。
    • -
    • : 不自动卸载插件,直到进程退出(推荐)。
    • -
    -
    +
  • :当 被销毁时卸载扩展。
  • +
  • :(推荐)直到进程终止前都不卸载扩展。
  • + +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita b/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita index fb5bfa62219..d3dfd223e18 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita @@ -1,8 +1,8 @@ - + <ph keyref="muteAllRemoteAudioStreams"/> - 取消或恢复订阅所有远端用户的音频流。 + 停止或恢复订阅所有远端用户的音频流。 @@ -15,36 +15,39 @@

    public abstract int muteAllRemoteAudioStreams(boolean muted); public abstract muteAllRemoteAudioStreams(muted: boolean): number; - - (int)muteAllRemoteAudioStreams:(BOOL)mute; + - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:)); virtual int muteAllRemoteAudioStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int MuteAllRemoteAudioStreams(bool mute); abstract muteAllRemoteAudioStreams(mute: boolean): number; public abstract int MuteAllRemoteAudioStreams(bool mute); abstract muteAllRemoteAudioStreams(mute: boolean): number; Future<void> muteAllRemoteAudioStreams(bool mute); -

    +

    -

    成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。

    +

    调用该方法后,本地用户将停止或恢复订阅所有远端用户的音频流,包括之后加入频道的用户。

    SDK 默认在加入频道时订阅所有远端用户的音频流,如果要修改此行为,可以在调用 加入频道时设置 autoSubscribeAudio,即可在加入频道时取消订阅所有用户的音频流。

    -
    + 如果你在调用该方法后再调用 ,以最后一次调用为准。默认情况下,加入频道时 SDK 会自动订阅所有远端用户的音频流。你可以在调用 joinChannel 加入频道时,将 autoSubscribeAudio 设置为 ,从而取消加入频道时对所有用户音频流的订阅。 + 如果调用该方法后又调用了 ,以最后一次调用为准。默认情况下,加入频道时 SDK 会自动订阅所有远端用户的音频流。你可以在调用 joinChannelByToken 加入频道时,将 autoSubscribeAudio 设置为 ,以取消加入频道时对所有用户音频流的订阅。 + 如果你调用该方法后再调用 ,以最后一次调用为准。默认情况下,SDK 在加入频道时会自动订阅所有远端用户的音频流。你可以在调用 joinChannel 加入频道时将 autoSubscribeAudio 设置为 ,以取消加入频道时对所有用户音频流的订阅。 +
    调用时机 -

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

    +

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

    调用限制 -

    如果在调用该方法之后又调用了 ,则后调用的方法会生效。

    +

    无。

    参数 muted - mute + mute

    是否取消订阅所有远端用户的音频流: @@ -55,13 +58,28 @@

    -
    -
    + + mute + 是否停止订阅所有远端用户的音频流: +
      +
    • :停止订阅所有远端用户的音频流。
    • +
    • :(默认)订阅所有远端用户的音频流。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita b/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita index c535f20e259..cfd97d376be 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita @@ -1,12 +1,12 @@ - + - <ph keyref="muteAllRemoteVideoStreams" /> - 取消或恢复订阅所有远端用户的视频流。 + <ph keyref="muteAllRemoteVideoStreams"/> + 停止或恢复订阅所有远端用户的视频流。 - + @@ -14,55 +14,52 @@

    public abstract int muteAllRemoteVideoStreams(boolean muted); - public abstract muteAllRemoteVideoStreams(muted: boolean): number; - - (int)muteAllRemoteVideoStreams:(BOOL)mute; + + - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:)); virtual int muteAllRemoteVideoStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int MuteAllRemoteVideoStreams(bool mute); - abstract muteAllRemoteVideoStreams(mute: boolean): number; - public abstract int MuteAllRemoteVideoStreams(bool mute); - abstract muteAllRemoteVideoStreams(mute: boolean): number; - Future<void> muteAllRemoteVideoStreams(bool mute); -

    + + + + +

    -

    成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。

    - -

    SDK 默认在加入频道时订阅所有远端用户的视频流,如果要修改此行为,可以在调用 加入频道时设置 autoSubscribeVideo,即可在加入频道时取消订阅所有用户的视频流。

    -
    +

    调用时机 -

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

    +

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

    调用限制 -

    如果在调用该方法之后又调用了 ,则后调用的方法会生效。

    +

    无。

    -
    +
    参数 - - muted - mute - -

    是否取消订阅所有远端用户的视频流。 - - - + + mute + muted + 是否停止订阅所有远端用户的视频流:

      -
    • : 取消订阅所有用户的视频流。
    • -
    • :(默认)订阅所有用户的视频流。
    • -

    -
    -
    +
  • :停止订阅所有远端用户的视频流。
  • +
  • :(默认)订阅所有远端用户的视频流。
  • + + +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita b/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita index 7717d30381c..75c095b925a 100644 --- a/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita @@ -1,8 +1,8 @@ - + <ph keyref="muteLocalAudioStream"/> - 取消或恢复发布本地音频流。 + 停止或恢复发送本地音频流。 @@ -15,19 +15,20 @@

    public abstract int muteLocalAudioStream(boolean muted); public abstract muteLocalAudioStream(muted: boolean): number; - - (int)muteLocalAudioStream:(BOOL)mute; + - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:)); virtual int muteLocalAudioStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int MuteLocalAudioStream(bool mute); abstract muteLocalAudioStream(mute: boolean): number; public abstract int MuteLocalAudioStream(bool mute); abstract muteLocalAudioStream(mute: boolean): number; Future<void> muteLocalAudioStream(bool mute); -

    +

    -

    该方法用于控制是否发布本地采集的音频流。如果不发布本地采集的音频流,也不会禁用音频采集设备,所以不影响音频的采集状态。

    -
    +

    + 成功调用该方法后,本地会触发回调 ;远端会触发 回调。 +
    调用时机

    加入频道前后均可调用。

    @@ -38,14 +39,18 @@
    参数 muted - mute + mute

    是否取消发布本地音频流。 @@ -56,13 +61,39 @@

    -
    -
    + + mute + 是否停止发布本地音频流: +
      +
    • :停止发布本地音频流。
    • +
    • :(默认)恢复发布本地音频流。
    • +
    +
    + 是否停止发送本地音频流: +
      +
    • :停止发送。
    • +
    • :恢复发送。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita b/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita index 5eec5e4cc8b..6feac30723b 100644 --- a/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita @@ -1,8 +1,8 @@ - + <ph keyref="muteLocalVideoStream"/> - 取消或恢复发布本地视频流。 + 停止或恢复发布本地视频流。 @@ -15,9 +15,9 @@

    public abstract int muteLocalVideoStream(boolean muted); public abstract muteLocalVideoStream(muted: boolean): number; - - (int)muteLocalVideoStream:(BOOL)mute; + - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:)); virtual int muteLocalVideoStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int MuteLocalVideoStream(bool mute); abstract muteLocalVideoStream(mute: boolean): number; public abstract int MuteLocalVideoStream(bool mute); @@ -26,12 +26,14 @@

    -

    该方法用于控制是否发布本地采集的视频流。如果不发布本地采集的视频流,也不会禁用视频采集设备,所以不影响视频的采集状态。

    +

    调用该方法停止发布本地采集的视频流时,视频采集设备仍会继续工作,不受影响。 +与调用 并传入 以关闭本地视频采集从而取消发布本地视频流的方法相比,该方法响应更快。

    相比于调用 () 关闭本地视频流采集、从而取消发布本地视频流的方法,该方法响应速度更快。

    + 成功调用该方法后,本地会触发回调 ;远端会触发回调
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -39,14 +41,14 @@
    参数 muted - mute + mute

    是否取消发送本地视频流。 @@ -59,13 +61,34 @@

    -
    -
    + + mute + 是否停止发布本地视频流: +
      +
    • :停止发布本地视频流。
    • +
    • :(默认)发布本地视频流。
    • +
    +
    + 是否停止发布本地视频流。 +
      +
    • :停止发布本地视频流。
    • +
    • :(默认)发布本地视频流。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita b/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita index 1c9fe2fd48a..af484afea66 100644 --- a/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita +++ b/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita @@ -1,12 +1,12 @@ - + - <ph keyref="muteRecordingSignal" /> - 是否将录音信号静音。 + <ph keyref="muteRecordingSignal"/> + 是否静音录制信号。 - + @@ -14,23 +14,28 @@

    public abstract int muteRecordingSignal(boolean muted); - - - (int)muteRecordingSignal:(BOOL)muted; + + - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:)); virtual int muteRecordingSignal(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int MuteRecordingSignal(bool mute); abstract muteRecordingSignal(mute: boolean): number; public abstract int MuteRecordingSignal(bool mute); abstract muteRecordingSignal(mute: boolean): number; Future<void> muteRecordingSignal(bool mute); -

    +

    -

    如果你已经调用 调节了音频采集信号音量,则调用该方法并设置为 时,SDK 的行为如下:

      +

      如果你已经调用了 方法调整了录制信号的音量,当你调用该方法并将参数设置为 时,SDK 的行为如下: + 调节了音频采集信号音量,则调用该方法并设置为 时,SDK 的行为如下:

      1. 记录调节后的音量。
      2. 将音频采集信号静音。
      - 当你再次调用该方法并设置为 时,录音信号会恢复为静音前 SDK 记录的音量。

      -
    + 当你再次调用该方法并设置为 时,录音信号会恢复为静音前 SDK 记录的音量。 +

    +
    调用时机

    加入频道前后均可调用。

    @@ -43,22 +48,39 @@ 参数 - muted + muted mute - +
      -
    • : 静音。
    • -
    • :(默认)原始音量。
    • +
    • : 静音。
    • +
    • :(默认)原始音量。
    -
    -
    -
    + 是否静音录制信号: +
      +
    • :静音录制信号。
    • +
    • :(默认)不静音录制信号。
    • +
    +
    +
      +
    • :静音录制信号。
    • +
    • :(默认)不静音录制信号。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita b/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita index 03e4d20306d..6582634dc63 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita @@ -1,8 +1,8 @@ - + <ph keyref="muteRemoteAudioStream"/> - 取消或恢复订阅指定远端用户的音频流。 + 停止或恢复订阅指定远端用户的音频流。 @@ -15,22 +15,21 @@

    public abstract int muteRemoteAudioStream(int uid, boolean muted); public abstract muteRemoteAudioStream(uid: number, muted: boolean): number; - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:)); + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int MuteRemoteAudioStream(int64 uid, bool mute); abstract muteRemoteAudioStream(uid: number, mute: boolean): number; public abstract int MuteRemoteAudioStream(uint uid, bool mute); abstract muteRemoteAudioStream(uid: number, mute: boolean): number; - Future<void> muteRemoteAudioStream({required int uid, required bool mute}); -

    + Future<void> muteRemoteAudioStream({required int uid, required bool mute}); +

    调用时机 -

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

    +

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

    调用限制 @@ -38,18 +37,20 @@
    参数 uid - 指定用户的用户 ID。 - + 指定用户的用户 ID。 + 指定远端用户的用户 ID。 + 指定用户的用户 ID。 + muted - mute + mute

    是否取消订阅指定远端用户的音频流。 @@ -59,13 +60,37 @@

    -
    -
    + + mute + 是否订阅指定远端用户的音频流。 +
      +
    • :停止订阅该用户的音频流。
    • +
    • :(默认)订阅该用户的音频流。
    • +
    +
    +
    + + mute + 是否订阅指定远端用户的音频流: +
      +
    • :停止订阅该用户的音频流。
    • +
    • :(默认)订阅该用户的音频流。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita b/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita index d0f213cb5d5..c8e02285096 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita @@ -1,12 +1,12 @@ - + - <ph keyref="muteRemoteVideoStream" /> - 取消或恢复订阅指定远端用户的视频流。 + <ph keyref="muteRemoteVideoStream"/> + 停止或恢复订阅指定远端用户的视频流。 - + @@ -16,21 +16,21 @@ public abstract int muteRemoteVideoStream(int uid, boolean muted); public abstract muteRemoteVideoStream(uid: number, muted: boolean): number; - (int)muteRemoteVideoStream:(NSUInteger)uid - mute:(BOOL)mute; + mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:)); virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int MuteRemoteVideoStream(int64 uid, bool mute); abstract muteRemoteVideoStream(uid: number, mute: boolean): number; public abstract int MuteRemoteVideoStream(uint uid, bool mute); abstract muteRemoteVideoStream(uid: number, mute: boolean): number; Future<void> muteRemoteVideoStream({required int uid, required bool mute}); -

    +

    调用时机 -

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

    +

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

    调用限制 @@ -38,35 +38,60 @@
    参数 userId - uid + uid 指定用户的用户 ID。 - muted - mute - + muted + mute +

    是否取消订阅指定远端用户的视频流。

      -
    • : 取消订阅指定用户的视频流。
    • -
    • : (默认)订阅指定用户的视频流。
    • +
    • : 取消订阅指定用户的视频流。
    • +
    • : (默认)订阅指定用户的视频流。

    -
    -
    -
    + 是否订阅指定远端用户的视频流: +
      +
    • :停止订阅该用户的视频流。
    • +
    • :(默认)订阅该用户的视频流。
    • +
    +
    + + + uid + 指定远端用户的用户 ID。 + + + mute + 是否订阅指定远端用户的视频流。 +
      +
    • :停止订阅该用户的视频流。
    • +
    • :(默认)订阅该用户的视频流。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita index 85d10a1df9b..4de0f6eca4a 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita @@ -1,12 +1,12 @@ - + - <ph keyref="pauseAllChannelMediaRelay" /> - 暂停向所有目标频道转发媒体流。 + <ph keyref="pauseAllChannelMediaRelay"/> + 暂停向所有目标频道的跨频道媒体流转发。 - + @@ -15,28 +15,39 @@

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

    +

    详情 -

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    - 该方法需要在调用 开始跨频道媒体流转发后调用。
    -
    +

    你可以在跨频道媒体流转发开始后调用该方法暂停向所有目标频道转发媒体流。如需恢复转发,请调用 方法。 方法。

    + 该方法需要在调用 开始跨频道媒体流转发后调用。 请在调用 方法之后调用该方法。 + 请在调用 方法之后调用本方法。 +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -5: 方法调用被拒绝。当前没有正在进行的跨频道媒体流转发。
      • -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita b/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita index 5d81ba8a614..64137da9fa6 100644 --- a/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita @@ -1,38 +1,47 @@ - + - <ph keyref="pauseAllEffects" /> - 暂停所有音效文件播放。 + <ph keyref="pauseAllEffects"/> + 暂停所有音效。 - +

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

    + + + + +

    -
    +
    +

    +

    +
    + 调用限制 +

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita index 2b26c50f711..b65e5e3a0bc 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita @@ -1,12 +1,12 @@ - + - <ph keyref="pauseAudioMixing" /> - 暂停播放音乐文件。 + <ph keyref="pauseAudioMixing"/> + 暂停播放和混音的音乐文件。 - + @@ -14,34 +14,38 @@

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

    + + + + +

    -

    当你调用 方法播放音乐文件后,如需暂停播放,请调用该方法。如果你需要停止播放,请调用

    +

    调用时机 -

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

    -
    +

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

    +
    调用限制

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

    + +

    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita b/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita index 9101e686a7b..50620975988 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita @@ -1,12 +1,12 @@ - + - <ph keyref="pauseEffect" /> - 暂停音效文件播放。 + <ph keyref="pauseEffect"/> + 暂停指定的音效文件。 - + @@ -14,31 +14,40 @@

    public abstract int pauseEffect(int soundId); - - - (int)pauseEffect:(int)soundId; + + - (int)pauseEffect:(int)soundId NS_SWIFT_NAME(pauseEffect(_:)); virtual int pauseEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int PauseEffect(int soundId); abstract pauseEffect(soundId: number): number; public abstract int PauseEffect(int soundId); abstract pauseEffect(soundId: number): number; Future<void> pauseEffect(int soundId); -

    +

    参数 soundId - - -
    -
    + + 音效文件的 ID。 + 音效文件的 ID。每个音效文件的 ID 是唯一的。 + 音效 ID。每个音效文件对应一个唯一的 ID。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_playalleffects.dita b/dita/RTC-NG/API/api_irtcengine_playalleffects.dita index 0af7fd9f520..34ea5f653c7 100644 --- a/dita/RTC-NG/API/api_irtcengine_playalleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_playalleffects.dita @@ -1,28 +1,27 @@ - + - <ph keyref="playAllEffects" /> + <ph keyref="playAllEffects"/> 播放所有音效文件。 - +

    - public abstract int playAllEffects( - int loopCount, double pitch, double pan, double gain, boolean publish); - + public abstract int playAllEffects(int loopCount, double pitch, double pan, double gain, boolean publish); + - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount pitch:(double)pitch pan:(double)pan gain:(NSInteger)gain publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:)); virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int PlayAllEffects(int loopCount, float pitch, float pan, int gain, bool publish); abstract playAllEffects( loopCount: number, @@ -45,18 +44,18 @@ required double pan, required int gain, bool publish = false}); -

    +

    详情 -

    多次调用 预加载多个音效文件后,你可以调用本方法播放所有预加载的音效文件。

    -
    +

    多次调用 将多个音效文件预加载到内存后,你可以调用该方法为频道内所有用户播放所有已加载的音效文件。 预加载多个音效文件后,你可以调用本方法播放所有预加载的音效文件。

    +
    参数 loopCount - 音效文件循环播放的次数: + 音效文件循环播放的次数: @@ -67,18 +66,70 @@
      -
    • -1: 无限循环播放音效文件,直至调用 后停止。
    • +
    • -1: 无限循环播放音效文件,直至调用 后停止。
    • 0: 播放音效文件一次。
    • 1: 播放音效文件两次。
    -
    + 音效的循环播放次数: +
      +
    • -1:无限循环播放音效,直到调用
    • +
    • 0:播放一次音效。
    • +
    • 1:播放两次音效。
    • +
    +
    + 音效文件的循环播放次数: +
      +
    • -1:无限循环播放音效文件,直到调用
    • +
    • 0:播放一次音效文件。
    • +
    • 1:播放两次音效文件。
    • +
    +
    + pitch - +

    音效的音调。取值范围为 [0.5,2.0]。默认值为 1.0,代表原始音调。取值越小,则音调越低。

    + 音效的音调。取值范围为 0.5 到 2.0。默认值为 1.0(原始音调)。值越小,音调越低。 + 音效的音调。取值范围为 [0.5, 2.0]。默认值为 1.0(原始音调)。值越小,音调越低。 +
    + + pan + 音效的空间位置。取值范围为 -1.0 到 1.0: +
      +
    • -1.0:音效出现在左侧。
    • +
    • 0.0:音效出现在正前方。
    • +
    • 1.0:音效出现在右侧。
    • +
    +
    + 音效的空间位置。取值范围为 [-1.0, 1.0]: +
      +
    • -1.0:音效定位在左侧。
    • +
    • 0:音效定位在正前方。
    • +
    • 1.0:音效定位在右侧。
    • +
    +
    +
    + + gain + 音效的音量。取值范围为 [0, 100]。默认值为 100(原始音量)。值越小,音量越低。 + + + publish + 是否将音效发布给远端用户: +
      +
    • :将音效发布给远端用户,本地用户和远端用户都能听到音效。
    • +
    • :(默认)不将音效发布给远端用户,只有本地用户能听到音效。
    • +
    +
    + 是否将音效发布到远端用户: +
      +
    • :将音效发布到远端用户,本地用户和远端用户都能听到音效。
    • +
    • :(默认)不将音效发布到远端用户,只有本地用户能听到音效。
    • +
    +
    -
    + pan @@ -118,17 +169,23 @@
      -
    • : 将音效发布到远端。本地和远端用户都能听到该音效。
    • -
    • : (默认)不将音效发布到远端。只能本地用户能听到该音效。
    • +
    • : 将音效发布到远端。本地和远端用户都能听到该音效。
    • +
    • : (默认)不将音效发布到远端。只能本地用户能听到该音效。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita b/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita index 092f38bca56..f8b73757e62 100644 --- a/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita @@ -1,8 +1,8 @@ - + <ph keyref="preloadChannel"/> - 使用 tokenchannelIdchannelNameuidoptionalUid 预加载频道。 + 预加载频道。 @@ -14,12 +14,12 @@

    public abstract int preloadChannel(String token, String channelName, int optionalUid); - + - (int)preloadChannelByToken:(NSString * _Nullable)token - channelId:(NSString * _Nonnull)channelId - uid:(NSUInteger)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:uid:)); - virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + channelId:(NSString * _Nonnull)channelId + uid:(NSUInteger)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:uid:)); + virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int PreloadChannel(const FString & token, const FString & channelId, int64 uid); abstract preloadChannel( token: string, @@ -32,16 +32,10 @@ channelId: string, uid: number ): number; - Future<void> preloadChannel( + Future<void> preloadChannel( {required String token, required String channelId, required int uid});

    -
    - -
    自从
    -
    v4.2.2
    -
    -

    调用该方法可以减少观众频繁切换频道时加入频道的时间,从而缩短观众听到主播首帧音频以及看到首帧画面的耗时,提升观众端的视频体验。

    如果当前频道已经成功预加载,观众加入、离开频道后如需再次加入该频道,只要预加载时传入的 Token 仍在有效期内,则无需重新预加载。

    预加载不生效不会影响后续正常加入频道,也不会增加加入频道的耗时。 @@ -62,18 +56,48 @@ token - 在服务端生成的用于鉴权的动态密钥。详见。 + 在服务端生成的用于鉴权的动态密钥。详见

    Token 过期后,根据预加载频道的数量,你可以通过不同方式来传入用于预加载频道的新 Token:

    • 预加载一个频道时:调用此方法来传入新的 Token。
    • 预加载多个频道时:
      • 如果你使用了通配的 Token,调用 来更新所有预加载频道的 Token。 生成通配 Token 时,用户 ID 不得设为 0。详见
      • 如果你使用了不同的 Token:调用此方法并传入你的用户 ID、对应的频道名和更新后的 Token。

    -
    + 在你的服务器上生成的用于鉴权的 Token。当用于预加载频道的 Token 过期时,你可以根据预加载的频道数量更新 Token: +
      +
    • 如果只预加载一个频道,调用该方法传入新的 Token 即可。
    • +
    • 如果预加载多个频道:
        +
      • 若使用通配符 Token 预加载所有频道,调用 更新 Token。注意:生成通配符 Token 时,确保用户 ID 不为 0。详见 Secure authentication with tokens
      • +
      • 若为不同频道使用不同的 Token 进行预加载,调用该方法传入用户 ID、频道名和新的 Token。
      • +
      +
    • +
    +
    + 在你的服务器上生成的用于鉴权的 Token。当用于预加载频道的 Token 过期时,你可以根据预加载频道的数量更新 Token。 +
      +
    • 如果只预加载一个频道,调用该方法传入新的 Token。
    • +
    • 如果预加载多个频道:
        +
      • 若使用通配符 Token 预加载所有频道,调用 更新 Token。注意:生成通配符 Token 时,确保用户 ID 不为 0。
      • +
      • 若为不同频道使用不同的 Token 进行预加载,调用该方法传入用户 ID、频道名和新的 Token。
      • +
      +
    • +
    +
    + 在你的服务器上生成的用于鉴权的 Token。当用于预加载频道的 Token 过期时,你可以根据预加载频道的数量更新 Token: +
      +
    • 如果只预加载一个频道,调用该方法传入新的 Token。
    • +
    • 如果预加载多个频道:
        +
      • 若使用通配符 Token 预加载所有频道,调用 更新 Token。注意:生成通配符 Token 时,确保用户 ID 不为 0。详见 使用 token 进行安全鉴权
      • +
      • 若为不同频道使用不同的 Token 进行预加载,调用该方法传入用户 ID、频道名和新的 Token。
      • +
      +
    • +
    +
    + - channelId + channelId channelName -

    待预加载的频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 +

    待预加载的频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):

    • 26 个小写英文字母 a~z
    • @@ -82,26 +106,87 @@
    • 空格
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","

    + 要预加载的频道名。该参数表示用户进行实时音视频互动的频道。在相同 App ID 的前提下,填写相同频道名的用户会进入同一个频道进行音视频互动。字符串长度必须小于 64 字节。支持的字符(共 89 个)包括: +
      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 标点符号和其他字符,包括:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    + 要预加载的频道名。该参数表示用户进行实时音视频互动的频道。在相同 App ID 下,填写相同频道名的用户会进入同一个频道。频道名长度必须小于 64 字节。支持的字符(共 89 个): +
      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 特殊字符:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    +
    + + + - - - - - optionalUid - 用户 ID。该参数用于标识用户进行实时音视频互动的频道,你需要自行设置和管理用户 ID,并确保同一频道内的用户 ID 唯一。该参数为 32 位有符号整数,取值范围为:-231 到 231-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 + optionalUid + 用户 ID。该参数用于标识用户进行实时音视频互动的频道,你需要自行设置和管理用户 ID,并确保同一频道内的用户 ID 唯一。该参数为 32 位有符号整数,取值范围为:-231 到 231-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 + 用户 ID。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 唯一。该参数为 32 位有符号整数,取值范围为 -2^31 到 2^31-1。如果未指定用户 ID(或设置为 0),SDK 会分配一个随机用户 ID,并在 回调中返回。你的应用程序必须记录并维护返回的用户 ID,因为 SDK 不会保存。 + + + channelName + 要预加载的频道名。字符串长度必须小于 64 字节。支持的字符包括: +
      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 标点符号和其他字符,包括:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    +
    + + uid + 用户 ID。该参数用于标识频道内进行实时音视频互动的用户。你需要自行设置并管理用户 ID,确保同一频道内的用户 ID 唯一。该参数为 32 位无符号整数,取值范围为 1 到 2^32 - 1。如果未指定用户 ID(或设置为 0),SDK 会自动分配一个随机用户 ID,并在 回调中返回。你的应用程序必须记录并维护该返回的用户 ID,SDK 不会保存该值。 + 用户 ID。用于标识频道中的用户以进行实时音视频互动。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 唯一。该参数为 32 位无符号整数,取值范围为 1 到 2^32-1。如果未指定用户 ID(或设置为 0),SDK 会分配一个随机用户 ID,并在 回调中返回。你的应用程序必须记录并维护返回的用户 ID,SDK 不会保存该值。 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

      +
        +
      • 0:方法调用成功。
      • < 0:方法调用失败。详见了解详情和解决建议。
          -
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • +
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • -102:频道名无效。你需要填入有效的频道名,重新加入频道。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7: 对象尚未初始化。请先初始化 对象再调用该方法。
      • +
      • -102:频道名无效。请传入有效的频道名并重新加入频道。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7: 对象尚未初始化。请在调用该方法前初始化该对象。
      • +
      • -102:频道名无效。请传入有效的频道名并重新加入频道。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7: 对象尚未初始化。请在调用该方法前初始化 对象。
      • +
      • -102:频道名无效。请传入有效的频道名并重新加入频道。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_preloadchannelwithuseraccount.dita b/dita/RTC-NG/API/api_irtcengine_preloadchannelwithuseraccount.dita index 6d42b3ccdd4..e2ad8cd5a70 100644 --- a/dita/RTC-NG/API/api_irtcengine_preloadchannelwithuseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_preloadchannelwithuseraccount.dita @@ -1,8 +1,8 @@ - + <ph keyref="preloadChannelWithUserAccount"/> - 使用 tokenchannelIdchannelNameuserAccount 预加载频道。 + 使用指定的 Token、频道名和用户账号预加载频道。 @@ -13,14 +13,13 @@

    - public abstract int preloadChannelWithUserAccount( - String token, String channelName, String userAccount); - + public abstract int preloadChannelWithUserAccount(String token, String channelName, String userAccount); + - (int)preloadChannelByTokenWithUserAccount:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(preloadChannelWithUserAccount(byToken:channelId:userAccount:)); virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int PreloadChannelWithUserAccount(const FString& token, const FString& channelId, const FString& userAccount); abstract preloadChannelWithUserAccount( token: string, @@ -33,23 +32,41 @@ channelId: string, userAccount: string ): number; - Future<void> preloadChannelWithUserAccount( + Future<void> preloadChannelWithUserAccount( {required String token, required String channelId, required String userAccount});

    -
    +
      +
    • 调用该方法时,请确保将用户角色设置为观众,且未将音频场景设置为 ,否则该方法不生效。
    • +
    • 请确保用于预加载的用户账号、频道名和 Token 与加入频道时传入的值一致,否则该方法不生效。
    • +
    • 一个 实例最多支持预加载 20 个频道,超出限制时,仅保留最新的 20 个预加载频道。
    • +
    • 预加载频道失败不会影响加入频道的能力,也不会增加加入频道所需的时间。
    • +
    +
    +
      +
    • 调用该方法时,请确保将用户角色设置为观众,且未将音频场景设置为 ,否则该方法不生效。
    • +
    • 你还需要确保用于预加载的用户账号、频道名和 Token 与加入频道时传入的值一致,否则该方法不生效。
    • +
    • 一个 实例最多支持预加载 20 个频道。超出限制时,仅保留最新的 20 个预加载频道生效。
    • +
    • 预加载频道失败并不意味着无法加入频道,也不会增加加入频道所需的时间。
    • +
    +
    +
      +
    • 调用该方法时,请确保将用户角色设置为观众,且未将音频场景设置为 ,否则该方法不生效。
    • +
    • 请确保用于预加载的用户账号、频道名和 Token 与加入频道时传入的值一致,否则该方法不生效。
    • +
    • 一个 实例最多支持预加载 20 个频道,超出限制时,仅保留最新的 20 个预加载频道生效。
    • +
    • 预加载频道失败不会影响加入频道的功能,也不会增加加入频道所需的时间。
    • +
    +
    +
    <p/> </section> <section id="restriction" deliveryTarget="details"> <title>调用限制 -

    • -
    • 请确保预加载频道时传入的频道名、用户 User Account、Token 和后续加入频道时传入的值相同,否则预加载不生效。
    • -
    • -

    +

    无。

    参数 @@ -59,25 +76,152 @@ - - + + - - + + + + + token + 在你的服务器上生成的用于鉴权的 Token。当用于预加载频道的 Token 过期时,你可以根据预加载的频道数量更新 Token。 +
      +
    • 预加载一个频道时,调用该方法传入新的 Token。
    • +
    • 预加载多个频道时:
        +
      • 如果你为所有预加载频道使用通配符 Token,调用 更新 Token。注意:生成通配符 Token 时,确保用户 ID 不为 0。详见 Secure authentication with tokens
      • +
      • 如果你为不同频道使用不同的 Token,调用该方法传入用户 ID、频道名和新的 Token。
      • +
      +
    • +
    +
    + 在你的服务器上生成的用于鉴权的 Token。当预加载频道的 Token 过期时,你可以根据预加载的频道数量更新 Token。 +
      +
    • 如果只预加载一个频道,调用该方法传入新的 Token。
    • +
    • 如果预加载多个频道:
        +
      • 如果你为所有预加载频道使用通配符 Token,调用 更新 Token。注意:生成通配符 Token 时,确保用户 ID 不为 0。详见 使用 Token 进行安全认证
      • +
      • 如果你为不同频道使用不同的 Token 进行预加载,调用该方法传入用户 ID、频道名和新的 Token。
      • +
      +
    • +
    +
    + 在你的服务器上生成的用于鉴权的 Token。当用于预加载频道的 Token 过期时,你可以根据预加载的频道数量更新 Token。 +
      +
    • 预加载一个频道时,调用该方法传入新的 Token。
    • +
    • 预加载多个频道时:
        +
      • 如果你为所有预加载频道使用通配符 Token,调用 更新 Token。注意:生成通配符 Token 时,确保用户 ID 不为 0。详见 Secure authentication with tokens
      • +
      • 如果你为不同频道使用不同的 Token,调用该方法传入用户账号、频道名和新的 Token。
      • +
      +
    • +
    +
    +
    + + channelId + 你想要预加载的频道名。该参数表示用户进行实时音视频互动的频道。在相同 App ID 下,填写相同频道名的用户会进入同一个频道进行音视频互动。字符串长度必须小于 64 字节。支持的字符(共 89 个)包括: +
      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格。
    • +
    • 标点符号和其他符号,包括:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    + 你想要预加载的频道名。该参数表示用户进行实时音视频互动的频道。在相同 App ID 的前提下,填写相同频道名的用户会进入同一个频道进行音视频互动。字符串长度必须小于 64 字节。支持的字符(共 89 个)包括: +
      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格。
    • +
    • 标点符号和其他符号,包括:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    +
    + + channelId + 要预加载的频道名。该参数表示用户进行实时音视频互动的频道。在相同 App ID 下,填写相同频道名的用户会进入同一个频道进行音视频互动。字符串长度必须小于 64 字节。支持的字符(共 89 个)包括: +
      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格
    • +
    • 标点符号和其他符号,包括:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    +
    + + userAccount + 用户账号。用于标识频道中的用户以进行实时音视频互动。你需要自行设置和管理用户账号,并确保同一频道中的每个用户账号唯一。该参数的最大长度为 255 字节。请确保设置该参数且不为 。支持的字符如下(共 89 个): +
      +
    • 26 个小写英文字母:a 到 z。
    • +
    • 26 个大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    + 用户账号。该参数用于标识频道中的用户以进行实时音视频互动。你需要自行设置和管理用户账号,并确保同一频道中的每个用户账号唯一。该参数的最大长度为 255 字节。请确保设置该参数,且不为 。支持的字符如下(共 89 个): +
      +
    • 26 个小写英文字母:a 到 z。
    • +
    • 26 个大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格。
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    + 用户账号。该参数用于标识频道中的用户以进行实时音视频互动。你需要自行设置和管理用户账号,并确保同一频道中的每个用户账号唯一。该参数的最大长度为 255 字节,不能为空。支持的字符如下(共 89 个): +
      +
    • 26 个小写英文字母:a 到 z。
    • +
    • 26 个大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格。
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

      +
        +
      • 0:方法调用成功。
      • < 0:方法调用失败。详见了解详情和解决建议。
        • -2:传入的参数无效。例如,User Account 为空。你需要填入有效的参数,重新加入频道。
        • -
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • +
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • -102:频道名无效。你需要填入有效的频道名,重新加入频道。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效,例如用户账号为空。请传入有效参数后重新加入频道。
      • +
      • -7: 对象尚未初始化。请先初始化 对象再调用该方法。
      • +
      • -102:频道名无效。请传入有效的频道名后重新加入频道。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。例如,用户账号为空。你需要传入有效参数并重新加入频道。
      • +
      • -7: 对象尚未初始化。你需要先初始化该对象再调用该方法。
      • +
      • -102:频道名无效。你需要传入有效的频道名并重新加入频道。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。例如,用户账号为空。你需要传入有效参数并重新加入频道。
      • +
      • -7: 对象尚未初始化。你需要先初始化 对象再调用该方法。
      • +
      • -102:频道名无效。你需要传入有效的频道名并重新加入频道。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita b/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita index e82ba1d125b..eaf06da9a28 100644 --- a/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita @@ -1,12 +1,12 @@ - + - <ph keyref="preloadEffect" /> - 将音效文件加载至内存。 + <ph keyref="preloadEffect"/> + 将指定的音效文件预加载到内存中。 - + @@ -14,12 +14,11 @@

    public abstract int preloadEffect(int soundId, String filePath); - + - (int)preloadEffect:(int)soundId - filePath:(NSString* _Nonnull)filePath; - + filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:)); virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int PreloadEffect(int soundId, const FString & filePath, int startPos); abstract preloadEffect( soundId: number, @@ -34,12 +33,18 @@ ): number; Future<void> preloadEffect( {required int soundId, required String filePath, int startPos = 0}); -

    +

    -

    为保证通信畅通,请注意控制预加载音效文件的大小。

    +

    确保所有预加载文件的总大小不超过限制。关于该方法支持的音频文件格式,详见 What formats of audio files does the Agora RTC SDK support。 +

    +

    该方法支持的预加载音频文件的格式见 RTC SDK 支持播放哪些格式的音频文件

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

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

    @@ -53,30 +58,48 @@ soundId - 音效的 ID。每个音效的 ID 具有唯一性。 - + 音效的 ID。每个音效的 ID 具有唯一性。 + 音效 ID。每个音效文件的 ID 必须唯一。 + filePath - 文件路径: + 文件路径:
      -
    • Android: 文件路径,需精确到文件名及后缀。支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。通过绝对路径访问本地文件可能会遇到权限问题,建议使用 URI 地址访问本地文件。例如 content://com.android.providers.media.documents/document/audio%3A14441
    • -
    • Windows: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 C:\music\audio.mp4
    • -
    • iOS 或 macOS: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 /var/mobile/Containers/Data/audio.mp4
    • +
    • Android: 文件路径,需精确到文件名及后缀。支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。通过绝对路径访问本地文件可能会遇到权限问题,建议使用 URI 地址访问本地文件。例如 content://com.android.providers.media.documents/document/audio%3A14441
    • +
    • Windows: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 C:\music\audio.mp4
    • +
    • iOS 或 macOS: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 /var/mobile/Containers/Data/audio.mp4
    • iOS : 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 /var/mobile/Containers/Data/audio.mp4
    • macOS: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 /var/mobile/Containers/Data/audio.mp4
    -
    - - startPos - 音效文件加载的起始位置,单位为毫秒。 - -
    -
    + 文件路径: +
      +
    • iOS 或 macOS:音效文件的绝对路径或 URL 地址(包括文件名后缀)。例如:
    • +
    +
    + 文件路径: +
      +
    • Windows:音效文件的绝对路径或 URL 地址(包括文件名后缀),例如:
    • +
    +
    + + + startPos + 音效文件加载的起始位置,单位为毫秒。 + 音效文件的播放起始位置(单位为毫秒)。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita b/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita index 9afe84579f9..9ff7c50e88a 100644 --- a/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita @@ -1,74 +1,86 @@ - + - <ph keyref="queryCameraFocalLengthCapability" /> + <ph keyref="queryCameraFocalLengthCapability"/> 查询摄像头支持的焦距能力。 - +

    - public AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); - - - (NSArray<AgoraFocalLengthInfo *>* _Nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); + public abstract AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); + + - (NSArray<AgoraFocalLengthInfo *>* _Nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int QueryCameraFocalLengthCapability(const TArray<FFocalLengthInfo> & focalLengthInfos); - + public abstract int QueryCameraFocalLengthCapability(ref FocalLengthInfo[] focalLengthInfos, ref int size); abstract queryCameraFocalLengthCapability(): { focalLengthInfos: FocalLengthInfo[]; size: number; }; - Future<List<FocalLengthInfo>> queryCameraFocalLengthCapability(); -

    + Future<List<FocalLengthInfo>> queryCameraFocalLengthCapability(); +

    详情 -
    - -
    自从
    -
    v4.3.1
    -
    -

    如需开启摄像头广角、超广角拍摄模式,建议你先调用该方法查询设备是否具备相应的焦距能力,再根据查询结果调用 调整摄像头的焦距配置,以达到最佳的摄像头采集效果。

    - 该方法仅适用于 Android 和 iOS。
    -
    + 该方法仅适用于 Android 和 iOS。
    +
    参数 focalLengthInfos - 输入和输出参数。指向 对象数组的指针:
      + 输入和输出参数。指向 对象数组的指针:
      • 输入值:指向一个 对象数组,用于存储焦距信息。
      • 输出值:方法执行后,输出查询到的焦距信息。
      输出参数。方法执行后,输出包含摄像头焦距信息的 对象数组。 - - - size - 输入和输出参数。焦距信息数量:
        + 输入输出参数,指向 对象数组的指针。方法执行后,输出查询到的焦距信息。详见 + + + size + 输入和输出参数。焦距信息数量:
        • 输入值:指定 focalLengthInfos 数组可以容纳的最大焦距信息数量。请确保该值不小于 8,即 focalLengthInfos 至少有空间存储 8 个焦距信息。
        • 输出值:方法执行后,输出查询到的焦距信息数量。
        输出参数。方法执行后,输出查询到的焦距信息数量。 -
        -
    -
    + 输入输出参数,表示焦距信息项的数量。输入时指定 focalLengthInfos 可容纳的最大焦距信息项数量,确保该值不小于 8。方法执行后,输出实际获取的焦距信息项数量。 + +
    +
    <ph keyref="return-section-title"/> -

    返回 对象数组,其中包含摄像头的方向和焦距类型。

    -

    返回一个包含以下属性的对象: +

    返回 对象数组,其中包含摄像头的方向和焦距类型。

    +

    返回一个包含以下属性的对象:

    • focalLengthInfos 对象数组,其中包含摄像头的方向和焦距类型。
    • size:实际查询到的焦距信息数量。

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

    +

    +

    +

    +

    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita b/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita index e8cc8fa00d6..2f2a019d5f9 100644 --- a/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita @@ -1,8 +1,8 @@ - + <ph keyref="queryCodecCapability"/> - 查询 SDK 支持的视频编解码能力。 + 查询 SDK 支持的视频编解码器能力。 @@ -14,65 +14,73 @@

    public abstract CodecCapInfo[] queryCodecCapability(); - - - (NSArray <AgoraVideoCodecCapInfo *> *_Nullable)queryCodecCapability; - virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + - (NSArray <AgoraVideoCodecCapInfo *> *_Nullable)queryCodecCapability; + virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int QueryCodecCapability(TArray<FCodecCapInfo> & codecInfo, int QuerySize = 10); abstract queryCodecCapability(): { codecInfo: CodecCapInfo[]; size: number }; public abstract int QueryCodecCapability(ref CodecCapInfo[] codecInfo, ref int size); abstract queryCodecCapability(): { codecInfo: CodecCapInfo[]; size: number }; - Future<List<CodecCapInfo>> queryCodecCapability(int size);

    + Future<List<CodecCapInfo>> queryCodecCapability(int size);

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    -
    +
    参数 - - codecInfo - + + codecInfo +

    输入和输出参数,表示 SDK 的视频编码能力数组。详见

    • 输入值:用户执行该方法时定义的 ,表示待查询的视频编解码能力。
    • 输出值:方法执行完毕后输出的 ,表示 SDK 实际支持的视频编解码能力。
    -
    - - size - 输入和输出参数,表示 数组的大小。 + 输入和输出参数,表示 SDK 支持的视频编解码器能力数组。你在调用该方法时传入一个 ,表示要查询的视频编解码器能力。方法执行完毕后返回的 表示 SDK 实际支持的视频编解码器能力。详见 + + + size + 输入和输出参数,表示 数组的大小。
    • 输入值:用户执行该方法时定义的 的大小。
    • 输出值:方法执行完毕后输出的 的大小。
    的大小。 -
    -
    -
    + 输入和输出参数,表示 codecInfo 数组的大小。你在调用该方法时传入 codecInfo 的大小,方法执行完毕后返回实际支持的 codecInfo 数组大小。 + +
    +
    返回值 -
      +
      • 如果调用成功,则返回一个包含以下属性的对象:
        • codecInfo 数组,表示 SDK 的视频编码能力。
        • size 数组的大小。
      • 如果调用超时,请修改调用逻辑,不要在主线程中调用该方法。
      -
        +
        • 0: 方法调用成功。
        • < 0: 方法调用失败。详见了解详情和解决建议。
        -
          +
          • 如果调用成功,则返回 数组,表示 SDK 的视频编码能力。
          • 如果调用超时,请修改调用逻辑,不要在主线程中调用该方法。
          • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

      +
    • 方法调用成功时,返回一个 数组,表示设备的视频编码能力。详见
    • +
    • 如果调用超时,请修改调用逻辑,避免在主线程中调用该方法。
    • +
    +

    +

    方法调用成功,返回一个 数组,表示设备的视频编解码能力。 +如果调用超时,请修改调用逻辑,避免在主线程中调用该方法。

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita b/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita index 3437cf1d1b6..95821a74ef2 100644 --- a/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita +++ b/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita @@ -1,8 +1,8 @@ - + <ph keyref="queryDeviceScore"/> - 查询设备评分等级。 + 查询当前设备的性能评分。 @@ -14,36 +14,41 @@

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

    + Future<int> queryDeviceScore();

    详情 -
    - -
    自从
    -
    v4.3.0
    -
    -

    适用场景 -

    在高清或超高清视频场景下,可以先调用该方法查询设备的等级评分。如果返回的评分较低(比如低于 60),则需要适当调低视频分辨率,以避免影响视频体验。不同业务场景要求的最低设备评分等级不同,具体评分推荐请

    +

    在高清或超高清视频场景下,可以先调用该方法查询设备的等级评分。如果返回的评分较低(比如低于 60),则需要适当调低视频分辨率,以避免影响视频体验。不同业务场景要求的最低设备评分等级不同,具体评分推荐请

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

    方法调用成功时,返回一个取值范围为 [0,100] 的值,表示当前设备的评分等级,数值越大表示设备能力越强,大部分设备的评分在 60 到 100 之间;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

    -
      -
    • > 0: 方法调用成功,值为当前设备的评分等级,取值范围为[0,100],数值越大表示设备能力越强。大部分设备的评分在 60 到 100 之间。
    • +

      方法调用成功时,返回一个取值范围为 [0,100] 的值,表示当前设备的评分等级,数值越大表示设备能力越强,大部分设备的评分在 60 到 100 之间;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

      +
        +
      • > 0: 方法调用成功,值为当前设备的评分等级,取值范围为[0,100],数值越大表示设备能力越强。大部分设备的评分在 60 到 100 之间。
      • < 0: 方法调用失败。
      • -
    + +

      +
    • > 0:方法调用成功,返回当前设备的评分,范围为 [0, 100],数值越大表示设备性能越强。大多数设备评分在 60 到 100 之间。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

      +
    • > 0:方法调用成功,返回当前设备的评分,范围为 [0,100],数值越大表示设备性能越强。大多数设备评分在 60 到 100 之间。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_queryinterface.dita b/dita/RTC-NG/API/api_irtcengine_queryinterface.dita index b1a721d5a85..532efacf8ef 100644 --- a/dita/RTC-NG/API/api_irtcengine_queryinterface.dita +++ b/dita/RTC-NG/API/api_irtcengine_queryinterface.dita @@ -1,8 +1,8 @@ - + <ph keyref="queryInterface"/> - 获取指定接口类的指针。 + 获取指定接口的指针。 @@ -14,34 +14,42 @@

    - + virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UObject* QueryInterface(EINTERFACE_ID_TYPE iid); -

    +

    参数 iid - 想要获取的接口类 ID。详见 - + 想要获取的接口类 ID。详见 + 接口的 ID,详见 + inter - 输出参数。指定接口的对象指针。 - -
    + 输出参数。指定接口的对象指针。 + 输出参数,指定接口的指针。 + +
    返回值 -
      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita b/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita index c78291a78d8..23ac1e2f6b4 100644 --- a/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita @@ -1,4 +1,4 @@ - + <ph keyref="queryScreenCaptureCapability"/> @@ -14,44 +14,59 @@

    public abstract int queryScreenCaptureCapability(); - + - (AgoraScreenCaptureFrameRateCapability)queryScreenCaptureCapability NS_SWIFT_NAME(queryScreenCaptureCapability()); - #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) - virtual int queryScreenCaptureCapability() = 0; -#endif - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + virtual int queryScreenCaptureCapability() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int QueryScreenCaptureCapability(); - + public abstract int QueryScreenCaptureCapability(); abstract queryScreenCaptureCapability(): number; - Future<int> queryScreenCaptureCapability();

    + Future<int> queryScreenCaptureCapability();

    详情
    - -
    自从
    -
    v4.2.0
    + +
    自从:
    +
    自 v4.2.0 版本新增。
    -

    -

    +

    为确保屏幕共享性能最佳,特别是在启用如 60 fps 的高帧率时,建议你在共享前调用该方法查询设备支持的最高帧率。如果设备不支持高帧率,你可以相应地降低屏幕共享流的帧率,以避免影响共享质量。

    +
    适用场景 -

    该方法仅适用于 Android 和 iOS。

    +

    该方法仅适用于 Android 和 iOS。

    在屏幕共享场景下,如果你想启用高帧率(如 60 fps)、但不确定设备是否支持时,可以先调用该方法查询设备支持的最高帧率。如果设备不支持高帧率,你可以在开启屏幕共享时适当调低屏幕共享流的帧率,以确保共享场景的效果符合预期。

    -
    +
    <ph keyref="return-section-title"/> -
    • 方法调用成功时,返回设备支持的最高帧率。详见
    • +
      • 方法调用成功时,返回设备支持的最高帧率。详见
      • 方法调用失败时,返回
      -
        -
      • 方法调用成功时,返回设备支持的最高帧率。详见 -
          +
            +
          • 方法调用成功时,返回设备支持的最高帧率。详见 +
            • 0:最高支持 15 fps。
            • 1:最高支持 30 fps。
            • 2:最高支持 60 fps。
          • <0:方法调用失败。详见了解详情和解决建议。
          -
    +

    +

    +

    +

    +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_rate.dita b/dita/RTC-NG/API/api_irtcengine_rate.dita index f0e82bea762..69cc97ef795 100644 --- a/dita/RTC-NG/API/api_irtcengine_rate.dita +++ b/dita/RTC-NG/API/api_irtcengine_rate.dita @@ -1,12 +1,12 @@ - + - <ph keyref="rate" /> - 给通话评分。 + <ph keyref="rate"/> + 允许用户在通话结束后对通话进行评分。 - + @@ -14,14 +14,12 @@

    public abstract int rate(String callId, int rating, String description); - + - (int)rate:(NSString * _Nonnull)callId rating:(NSInteger)rating -description:(NSString * _Nullable)description; - virtual int rate(const char* callId, - int rating, - const char* description) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:)); + virtual int rate(const char* callId, int rating, const char* description) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int Rate(const FString& callId, int rating, const FString& description); abstract rate(callId: string, rating: number, description: string): number; public abstract int Rate(string callId, int rating, string description); @@ -30,37 +28,61 @@ description:(NSString * _Nullable)description; {required String callId, required int rating, required String description}); -

    +

    详情 - 该方法需要在用户离开频道后调用。
    + 该方法需要在用户离开频道后调用。 请确保在离开频道后调用此方法。 + 请确保在离开频道后调用该方法。 +
    参数 callId - 通话 ID。你可以通过调用 获取该参数。 - + 通话 ID。你可以通过调用 获取该参数。 + 当前通话的 ID。你可以通过调用 获取该 ID。 + rating - 给通话的评分,最低 1 分,最高 5 分。 - + 给通话的评分,最低 1 分,最高 5 分。 + 通话评分,取值范围为 1(最低分)到 5(最高分)。 + description - (非必选项)给通话的描述。长度应小于 800 字节。 - -
    -
    + (非必选项)给通话的描述。长度应小于 800 字节。 + (可选)对通话的描述。字符串长度应小于 800 字节。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita b/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita index 0f3911d7fce..ce70abbd24f 100644 --- a/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita @@ -1,71 +1,66 @@ - + - <ph keyref="registerAudioEncodedFrameObserver" /> - 注册音频编码数据观测器。 + <ph keyref="registerAudioEncodedFrameObserver"/> + 注册编码音频观察器。 - +

    - public abstract int registerAudioEncodedFrameObserver( - AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - - - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate - config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull) config; + public abstract int registerAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); + + - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:)); virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int RegisterAudioEncodedFrameObserver(const FAudioEncodedFrameObserverConfig& config, UIAudioEncodedFrameObserver* observer); - abstract registerAudioEncodedFrameObserver( - config: AudioEncodedFrameObserverConfig, - observer: IAudioEncodedFrameObserver - ): number; - public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - abstract registerAudioEncodedFrameObserver( - config: AudioEncodedFrameObserverConfig, - observer: IAudioEncodedFrameObserver - ): number; - void registerAudioEncodedFrameObserver( - {required AudioEncodedFrameObserverConfig config, - required AudioEncodedFrameObserver observer}); -

    + + + + +

    -
    - 详情 -

    - -

      -
    • 请在加入频道后调用该方法。
    • -
    • 由于该方法和 都会设置音频内容和音质,不建议该方法和 一起使用。否则,只有后调用的方法会生效。
    • -

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - config - 编码后音频的观测器设置。详见 + + config + 编码音频的观察者配置。详见 + 编码音频的观察者配置,详见 + 编码音频观察器的配置。详见 + + + observer + 编码音频的观察者。详见 + 编码音频观察器。详见 - - - - observer - delegate - 编码后音频的观测器。详见 + + delegate + 编码音频的观察者,详见
    -
    +
    <ph keyref="return-section-title"/> -

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

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

    一个 对象。

    - +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita b/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita index 2d67649bed3..92c52c6a6d4 100644 --- a/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita @@ -1,12 +1,12 @@ - + - <ph keyref="registerAudioSpectrumObserver" /> - 注册音频频谱观测器。 + <ph keyref="registerAudioSpectrumObserver"/> + 注册音频频谱观察器。 - + @@ -14,11 +14,10 @@

    public abstract int registerAudioSpectrumObserver(IAudioSpectrumObserver observer); - - - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate; - virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:)); + virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterAudioSpectrumObserver(UIAudioSpectrumObserver* observer); abstract registerAudioSpectrumObserver( observer: IAudioSpectrumObserver @@ -28,31 +27,42 @@ observer: IAudioSpectrumObserver ): number; void registerAudioSpectrumObserver(AudioSpectrumObserver observer); -

    +

    详情 -

    成功注册音频频谱观测器并调用 开启音频频谱监测后,SDK 会按照你设置的时间间隔报告你在 类中实现的回调。

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

    调用 成功注册音频频谱观察器,并调用 启用音频频谱监测后,SDK 会按照设置的时间间隔触发你在 中实现的回调。 开启音频频谱监测后,SDK 会按照你设置的时间间隔报告你在 类中实现的回调。

    + 该方法在加入频道前后均可调用。 你可以在加入频道前或加入频道后调用此方法。 +
    参数 - observer - delegate - -

    音频频谱观测器。详见

    + observer + delegate + +

    音频频谱观测器。详见

    + 音频频谱观察器。详见 +
    + + delegate + 音频频谱观察者。详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      一个 对象。

      -
    +

    一个 对象。

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_registerextension.dita b/dita/RTC-NG/API/api_irtcengine_registerextension.dita index 1b9cb96a234..7a202db7f3f 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerextension.dita @@ -1,8 +1,8 @@ - + <ph keyref="registerExtension"/> - 注册插件。 + 注册一个扩展。 @@ -13,15 +13,13 @@

    - public abstract int registerExtension( - String provider, String extension, Constants.MediaSourceType sourceType); - + public abstract int registerExtension(String provider, String extension, Constants.MediaSourceType sourceType); + - (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; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + 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; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int RegisterExtension(const FString& provider, const FString& extension, EMEDIA_SOURCE_TYPE type); abstract registerExtension( provider: string, @@ -34,26 +32,20 @@ extension: string, type?: MediaSourceType ): number; - Future<void> registerExtension( + Future<void> registerExtension( {required String provider, required String extension, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    -
    - -
    自从
    -
    v4.1.0
    -
    -
    -

    对于 SDK 外部的插件(例如云市场插件和 SDK 拓展插件),加载插件后,你需要调用该方法注册插件。SDK 内部插件(包含在 SDK 包中的插件)在初始化 后会自动加载并注册,无需调用该方法。

    +

    对于 SDK 外部的插件(例如云市场插件和 SDK 拓展插件),加载插件后,你需要调用该方法注册插件。SDK 内部插件(包含在 SDK 包中的插件)在初始化 后会自动加载并注册,无需调用该方法。

    调用时机
      -
    • 建议你在初始化 后、加入频道前调用该方法。
    • -
    • 对于视频相关插件(例如美颜插件),需要在启用视频模块(/)之前调用该方法。
    • +
    • 建议你在初始化 后、加入频道前调用该方法。
    • +
    • 对于视频相关插件(例如美颜插件),需要在启用视频模块(/)之前调用该方法。
    • 调用该方法前,需要先调用 加载插件。
    • 调用该方法前,需要先在 Xcode 中将插件动态库(.xcframework)链接至工程以加载插件。
    • 调用该方法前,需要先调用 加载插件。
    • @@ -81,17 +73,58 @@ -
    -
    + + provider + 扩展提供方的名称。 + + + extension + 扩展的名称。 + + + sourceType + 扩展的数据源类型,详见 + + + type + 扩展的源类型,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -3: 该插件动态库没有被加载。声网推荐你检查该动态库是否存放在预期的位置,或该动态库名是否正确。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -3:扩展库未加载。声网建议你检查动态库的存储位置或名称。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -3:未加载扩展库。建议你检查动态库的存储位置或名称。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -3:扩展库未加载。建议检查动态库的存储位置或名称。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita b/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita index 7e608d30e35..f4d6383a1f9 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita @@ -1,12 +1,12 @@ - + - <ph keyref="registerLocalUserAccount" /> - 注册本地用户 User Account。 + <ph keyref="registerLocalUserAccount"/> + 注册一个用户账号。 - + @@ -14,57 +14,72 @@

    public abstract int registerLocalUserAccount(String appId, String userAccount); - + - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:)); virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int RegisterLocalUserAccount(const FString& appId, const FString& userAccount); abstract registerLocalUserAccount(appId: string, userAccount: string): number; public abstract int RegisterLocalUserAccount(string appId, string userAccount); abstract registerLocalUserAccount(appId: string, userAccount: string): number; Future<void> registerLocalUserAccount( {required String appId, required String userAccount}); -

    +

    -

    该方法为本地用户注册一个 User Account。注册成功后,该 User Account 即可标识该本地用户的身份,用户可以使用它加入频道。

    +

    注册成功后,用户账号可用于在加入频道时标识本地用户。该方法为可选项。如果你希望使用用户账号加入频道,可以选择以下任一方式: +

    +

    该方法为可选。如果你希望用户使用 User Account 加入频道,可参考下列任意一种方式实现: -

    调用限制

    无。

    -
    + +

    成功调用该方法后,SDK 会触发 回调报告本地用户的用户 ID 和用户账号。

    +
    参数 - appId - appID - 你的项目在控制台注册的 App ID。 - + appId + appID + 你的项目在控制台注册的 App ID。 + 你在声网控制台上项目的 App ID。 + 你在声网控制台项目中的 App ID。 + userAccount - -

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User Account,并确保同一频道中每个用户的 User Account 是唯一的。该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符): + +

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User Account,并确保同一频道中每个用户的 User Account 是唯一的。该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符):

    • 26 个小写英文字母 a-z
    • @@ -74,14 +89,38 @@
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","

    -
    -
    -
    + 用户账号。你需要自行设置并管理用户账号,并确保同一频道内的每个用户账号唯一。该参数的最大长度为 255 字节,不能为空。支持的字符包括(共 89 个): +
      +
    • 26 个小写英文字母:a 到 z。
    • +
    • 26 个大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格。
    • +
    • 特殊字符:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。
    • +
    +
    + 用户账号。该参数用于在频道中标识用户以进行实时音视频互动。你需要自行设置和管理用户账号,并确保同一频道中每个用户账号唯一。该参数的最大长度为 255 字节,不能为空。支持的字符如下(共 89 个): +
      +
    • 26 个小写英文字母:a 到 z。
    • +
    • 26 个大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 空格
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita b/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita index 03c65e3c0c4..0d9e73aa4e3 100644 --- a/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita @@ -1,12 +1,12 @@ - + - <ph keyref="registerMediaMetadataObserver" /> - 注册媒体 metadata 观测器用于接收或发送 metadata。 + <ph keyref="registerMediaMetadataObserver"/> + 注册元数据观察器。 - + @@ -14,52 +14,60 @@

    public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); - public abstract registerMediaMetadataObserver(observer:IMetadataObserver,type:number):number; - - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int RegisterMediaMetadataObserver(UIMetadataObserver* observer, FENUMWRAP_METADATA_TYPE type); - abstract registerMediaMetadataObserver( - observer: IMetadataObserver, - type: MetadataType - ): number; - public abstract int RegisterMediaMetadataObserver(IMetadataObserver observer, METADATA_TYPE type); - abstract registerMediaMetadataObserver( - observer: IMetadataObserver, - type: MetadataType - ): number; - void registerMediaMetadataObserver( - {required MetadataObserver observer, required MetadataType type}); -

    + + - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:)); + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + + + + +

    -
    - 详情 -

    你需要自行实现 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。

    -

    调用该方法成功后,SDK 会触发 回调。

    - 请在 前调用该方法。
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - observer - metadataDataSource - metadata 观测器。详见 + + observer + metadataDelegate + 元数据观察器,详见 + 元数据观察者,详见 + 元数据观察器。详见 - - type - -

    metadata 类型。目前仅支持 详见

    -
    + + type + 元数据类型。当前 SDK 仅支持以下类型: +
      +
    • :视频元数据。
    • +
    +
    + 元数据类型,详见 。当前仅支持 + 元数据类型。详见 。SDK 当前仅支持
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

      +
    • :方法调用成功。
    • +
    • :方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita b/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita index 93299d8b214..854b5e7625c 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita @@ -1,8 +1,8 @@ - + <ph keyref="registerPacketObserver"/> - 注册数据包观测器。 + 注册一个数据包观察器。 @@ -14,40 +14,54 @@

    - + virtual int registerPacketObserver(IPacketObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterPacketObserver(UIPacketObserver* observer); public abstract int RegisterPacketObserver(IPacketObserver observer); -

    +

    详情 -

    该方法注册数据包观测器 (Packet Observer)。在 SDK 发送/接收(语音、视频)网络包时,会回调 定义的接口,App 可用此接口对数据做处理,例如加解密。

    +

    调用该方法可注册一个数据包观察器。当声网 SDK 触发为语音或视频数据包传输注册的 回调时,你可以通过该方法处理数据包,例如加密或解密。 定义的接口,App 可用此接口对数据做处理,例如加解密。

    • 处理后发送到网络的包大小不应超过 1200 字节,否则有可能发送失败。
    • 若需调用此方法,需确保接收端和发送端都调用此方法,否则会出现未定义行为(例如音频无声或视频黑屏)。
    • 若在直播场景下使用旁路推流、录制,不建议调用此方法。
    • 你需要在加入频道前调用该方法。
    • -
    +
      +
    • 处理后发送到网络的数据包大小不得超过 1200 字节,否则 SDK 可能无法发送该数据包。
    • +
    • 请确保接收端和发送端都调用该方法,否则可能会出现无声音或黑屏等未定义行为。
    • +
    • 使用媒体推流或录制功能时,声网不建议调用该方法。
    • +
    • 请在加入频道前调用该方法。
    • +
    +
    +
    参数 observer - - -
    + + 数据包观察器。详见 + +
    返回值 -
    + +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_removevideowatermark.dita b/dita/RTC-NG/API/api_irtcengine_removevideowatermark.dita index 5db29f268ce..ca1fa7d64cc 100644 --- a/dita/RTC-NG/API/api_irtcengine_removevideowatermark.dita +++ b/dita/RTC-NG/API/api_irtcengine_removevideowatermark.dita @@ -25,12 +25,12 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +
    -

    该方法通过指定的唯一 ID,从本地视频流中移除之前添加的水印图像。

    +

    调用限制 @@ -45,7 +45,12 @@ 要移除的水印的标识符。 要移除的水印 ID。该值应与添加水印时使用的 ID 保持一致。 -
    + + id + 要移除的水印图像的唯一 ID。 + 要移除的水印的 ID。该值应与添加水印时使用的 ID 相同。 + +
    <ph keyref="return-section-title"/>

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

    @@ -58,6 +63,6 @@
  • < 0:方法调用失败。
  • -
    + diff --git a/dita/RTC-NG/API/api_irtcengine_renewtoken.dita b/dita/RTC-NG/API/api_irtcengine_renewtoken.dita index dee0197cba1..ebea7194930 100644 --- a/dita/RTC-NG/API/api_irtcengine_renewtoken.dita +++ b/dita/RTC-NG/API/api_irtcengine_renewtoken.dita @@ -15,19 +15,25 @@

    public abstract int renewToken(String token); public abstract renewToken(token: string): number; - - (int)renewToken:(NSString * _Nonnull)token; + - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:)); virtual int renewToken(const char* token) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int RenewToken(const FString & token); abstract renewToken(token: string): number; public abstract int RenewToken(string token); abstract renewToken(token: string): number; Future<void> renewToken(String token); -

    +

    -

    该方法用于更新 Token,成功调用该方法后 SDK 会触发 回调。Token 会在一定时间后失效,此时 SDK 将无法和服务器建立连接。

    -
    +

    该方法用于更新 Token。Token 启用并使用后,会在一段时间后过期,届时 SDK 将无法与服务器建立连接。成功调用该方法后,SDK 会触发 回调。你可以在以下任一时机调用该方法: + 回调。Token 会在一定时间后失效,此时 SDK 将无法和服务器建立连接。

    +

    +
    调用时机

    在以下任意一种情况下,声网推荐你在你的服务端重新生成 Token,然后调用该方法传入新的 Token: @@ -45,23 +51,67 @@ token - 新生成的 Token。 - -

    -
    + 新生成的 Token。 + 新的 Token。 + +
    +
    <ph keyref="return-section-title"/>

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

    -
    + +

    +

    +

    +

    +

    +

    + diff --git a/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita index 133825223ec..8532ae5928d 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita @@ -1,12 +1,12 @@ - + - <ph keyref="resumeAllChannelMediaRelay" /> - 恢复向所有目标频道转发媒体流。 + <ph keyref="resumeAllChannelMediaRelay"/> + 恢复向所有目标频道的跨频道媒体流转发。 - + @@ -15,28 +15,39 @@

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

    +

    详情 -

    调用 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

    - 该方法需要在 后调用。
    -
    +

    方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

    + 该方法需要在 后调用。 请在调用 方法后调用该方法。 + 请在调用 后再调用此方法。 +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

      +
        +
      • 0:方法调用成功。
      • < 0:方法调用失败。详见了解详情和解决建议。
        • -5: 方法调用被拒绝。当前没有暂停的跨频道媒体流转发。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -5:方法调用被拒绝,当前没有已暂停的跨频道媒体流转发。
      • +
      +
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita b/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita index 169110489fa..c5752c8e583 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita @@ -1,49 +1,51 @@ - + - <ph keyref="resumeAllEffects" /> + <ph keyref="resumeAllEffects"/> 恢复播放所有音效文件。 - +

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

    + + + + +

    -

    当你调用 暂停播放所有音效文件后,如需恢复播放,可以调用该方法。

    +

    调用时机 -

    该方法需要在 后调用。

    -
    +

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

    +
    调用限制

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita index df8515d5d12..3ca0bfd0537 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita @@ -1,12 +1,12 @@ - + - <ph keyref="resumeAudioMixing" /> - 恢复播放音乐文件。 + <ph keyref="resumeAudioMixing"/> + 恢复播放并混音音乐文件。 - + @@ -14,34 +14,38 @@

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

    + + + + +

    -

    当你调用 暂停播放音乐文件后,如需恢复播放,请调用该方法。

    +

    调用时机 -

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

    -
    +

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

    +
    调用限制

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita b/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita index b6755393d47..2737b083bfa 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita @@ -1,46 +1,52 @@ - + - <ph keyref="resumeEffect" /> - 恢复播放指定音效文件。 + <ph keyref="resumeEffect"/> + 恢复播放指定的音效文件。 - +

    - public abstract int resumeEffect(int soundId); - - - - (int)resumeEffect:(int)soundId; - + public abstract int resumeEffect(int soundId); + + - (int)resumeEffect:(int)soundId NS_SWIFT_NAME(resumeEffect(_:)); virtual int resumeEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int ResumeEffect(int soundId); abstract resumeEffect(soundId: number): number; public abstract int ResumeEffect(int soundId); abstract resumeEffect(soundId: number): number; Future<void> resumeEffect(int soundId); -

    +

    参数 soundId - - -
    -
    + + 音效文件的 ID。每个音效文件的 ID 是唯一的。 + 音效文件的唯一标识符。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita b/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita index 3f3cf0c3532..b545113b49b 100644 --- a/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita @@ -1,8 +1,8 @@ - + <ph keyref="selectAudioTrack"/> - 指定当前音乐文件的播放音轨。 + 选择播放过程中使用的音轨。 @@ -13,41 +13,44 @@

    - 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") -int SelectAudioTrack(int index); - abstract selectAudioTrack(index: number): number; - public abstract int SelectAudioTrack(int index); - abstract selectAudioTrack(index: number): number; - Future<void> selectAudioTrack(int index); -

    + public abstract int selectAudioTrack(int audioIndex); + + - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:)); + + + + + +

    -
    - 详情 -

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

    - -
      -
    • 该方法支持的音频文件格式见
    • -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - index + + index audioIndex - 指定的播放音轨。取值范围应大于等于 0 且小于 的返回值。 + 你想要播放的音轨索引。该值应大于等于 0 且小于 返回的值。
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita b/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita index 61481b56007..847f79da63f 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita @@ -1,32 +1,27 @@ - + - <ph keyref="sendCustomReportMessage" /> - 发送自定义上报消息。 + <ph keyref="sendCustomReportMessage"/> + 上报自定义消息。 - +

    - public abstract int sendCustomReportMessage( - String id, String category, String event, String label, int value); - + public abstract int sendCustomReportMessage(String id, String category, String event, String label, int value); + - (int)sendCustomReportMessage:(NSString * _Nullable)messageId category:(NSString * _Nullable)category event:(NSString * _Nullable)event label:(NSString * _Nullable)label - value:(NSInteger)value; - virtual int sendCustomReportMessage(const char *id, - const char* category, - const char* event, - const char* label, - int value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:)); + virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SendCustomReportMessage(const FString& id, const FString& category, const FString& event, const FString& label, int value); abstract sendCustomReportMessage( id: string, @@ -49,11 +44,11 @@ required String event, required String label, required int value}); -

    +

    详情 -

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

    -
    +

    该方法目前处于测试阶段,提供免费试用。在测试版本中,最多支持在 6 秒内上报 10 条消息,每条消息不超过 256 字节,每个字符串不超过 100 字节。如需试用该功能,请联系 support@agora.io,并与我们讨论自定义消息的格式。开通并商定自定义数据格式。

    +
    -
    \ 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 46a5fbdc05a..25947530f5c 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -1,12 +1,12 @@ - + - <ph keyref="sendStreamMessage" /> - 发送数据流。 + <ph keyref="sendStreamMessage"/> + 发送数据流消息。 - + @@ -16,11 +16,9 @@ public abstract int sendStreamMessage(int streamId, byte[] message); public abstract sendStreamMessage(streamId: number, message: ArrayBuffer): number; - (int)sendStreamMessage:(NSInteger)streamId - data:(NSData * _Nonnull)data; - virtual int sendStreamMessage(int streamId, - const char* data, - size_t length) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:)); + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SendStreamMessage(int streamId, const FString& data); abstract sendStreamMessage(streamId: number, data: Uint8Array, length: number): number; public abstract int SendStreamMessage(int streamId, byte[] data, uint length); @@ -31,46 +29,83 @@ ): number;
    Future<void> sendStreamMessage( {required int streamId, required Uint8List data, required int length}); -

    +

    详情 - -

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

    + +

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

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

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

    -

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

    +

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

      -
    • 该方法需要在加入频道后、且调用 创建数据通道之后调用。
    • +
    • 该方法需要在加入频道后、且调用 创建数据通道之后调用。
    • 该方法仅适用于主播用户。
    • -
    + 如果你需要一个更全面的低延迟、高并发、可扩展的实时消息和状态同步解决方案,建议使用 Signaling。 + + + 如果你需要一个更全面的解决方案来实现低延迟、高并发和可扩展的实时消息传递与状态同步,建议使用 Signaling。 + + + 如果你需要更全面的低延迟、高并发和可扩展的实时消息和状态同步解决方案,建议使用 Signaling。 + + + +
    参数 streamId - 数据流 ID。可以通过 获取。 - + 数据流 ID。可以通过 获取。 + 数据流 ID。你可以通过调用 createDataStream 获取该 ID。 + 数据流 ID。你可以通过调用 获取该 ID。 + 数据流 ID,通过调用 createDataStream 获取。 + - message - data - 待发送的数据。 - - - length - 数据长度。 - -
    -
    + message + data + 待发送的数据。 + 要发送的消息内容。 + + + length + 数据长度。 + 消息内容的长度。 + + + data + 要发送的消息内容。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    + - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita b/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita index 6deeeb2a004..a245b6eb49f 100644 --- a/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setAdvancedAudioOptions" /> - 设置音频的高级选项。 + <ph keyref="setAdvancedAudioOptions"/> + 设置高级音频选项。 - + @@ -14,35 +14,47 @@

    public abstract int setAdvancedAudioOptions(AdvancedAudioOptions options); - - - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options; - virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetAdvancedAudioOptions(const FAdvancedAudioOptions& options); - abstract setAdvancedAudioOptions(options: AdvancedAudioOptions): number; - public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); - abstract setAdvancedAudioOptions(options: AdvancedAudioOptions): number; - Future<void> setAdvancedAudioOptions(AdvancedAudioOptions options); -

    + + - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:)); + virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0; + + + + +

    -
    - 详情 -

    如果你对音频处理有进阶需求,例如需要采集和发送立体声,可以调用该方法设置音频的高级选项。

    - 你需要在 前调用该方法。
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - options - 音频的高级选项。详见 + + options + 音频的高级选项。详见 + 高级音频选项。详见 + + + sourceType + 音频源类型,默认值为 0。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setainsmode.dita b/dita/RTC-NG/API/api_irtcengine_setainsmode.dita index 7bfea774d19..5cef86f349c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setainsmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setainsmode.dita @@ -1,8 +1,8 @@ - + <ph keyref="setAINSMode"/> - 设置是否开启 AI 降噪功能并设置降噪模式。 + 设置是否启用 AI 噪声抑制功能,并指定噪声抑制模式。 @@ -14,24 +14,18 @@

    public abstract int setAINSMode(boolean enabled, int mode); - + - (int)setAINSMode:(BOOL)enabled mode:(AUDIO_AINS_MODE)mode NS_SWIFT_NAME(setAINSMode(_:mode:)); virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAINSMode(bool enabled, EAUDIO_AINS_MODE mode); abstract setAINSMode(enabled: boolean, mode: AudioAinsMode): number; public abstract int SetAINSMode(bool enabled, AUDIO_AINS_MODE mode); abstract setAINSMode(enabled: boolean, mode: AudioAinsMode): number; - Future<void> setAINSMode( + Future<void> setAINSMode( {required bool enabled, required AudioAinsMode mode});

    -
    - -
    自从
    -
    v4.2.0
    -
    -

    你可以调用开方法来开启 AI 降噪功能。该功能可以在保证语音质量的前提下,智能化检测并降低周围环境中多种稳态与非稳态噪声,使人声更加清晰。 稳态噪声指在任何时间点上都具有相同频率的噪声,常见的稳态噪声有:

    • 电视机噪声
    • @@ -49,30 +43,48 @@
    调用时机 -

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

    +

    你可以在加入频道前或加入频道后调用此方法。

    调用限制
    • 该方法依赖于 AI 降噪动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    • 该方法依赖于 AI 降噪动态库,如果删除该动态库会导致无法正常开启该功能。AI 降噪动态库名称见
    • -
    • 目前暂不推荐在 Android 6.0 及以下版本的设备上开启该功能。
    +
  • 该方法依赖于 AI 降噪动态库,如果删除该动态库会导致无法正常开启该功能。AI 降噪动态库名称见
  • +
  • 目前暂不推荐在 Android 6.0 及以下版本的设备上开启该功能。
  • 参数 enabled - 是否开启 AI 降噪功能: + 是否开启 AI 降噪功能:
    • 开启 AI 降噪功能。
    • (默认)关闭 AI 降噪功能。
    -
    + 是否启用 AI 噪声抑制功能: +
      +
    • :启用 AI 噪声抑制。
    • +
    • :(默认)关闭 AI 噪声抑制。
    • +
    +
    + 是否启用 AI 噪声抑制功能: +
      +
    • :启用 AI 噪声抑制功能。
    • +
    • :(默认)不启用 AI 噪声抑制功能。
    • +
    +
    + 是否启用 AI 噪声抑制功能: +
      +
    • :启用 AI 噪声抑制。
    • +
    • :(默认)不启用 AI 噪声抑制。
    • +
    +
    + mode - -

    降噪模式,详见

    + +

    降噪模式,详见

    降噪模式:

    • 0:(默认)均衡降噪模式。如果你希望实现对噪声抑制和延时都较为均衡的降噪效果,可选择该模式。
    • @@ -80,14 +92,29 @@
    • 2:低延时强降噪模式。该模式的降噪延时比弱降噪和强降噪模式大约低一半,适用于对降噪及低延时要求较高的场景,如实时合唱。

    -
    -
    -
    + AI 噪声抑制模式: +
      +
    • 0:(默认)平衡模式。该模式在噪声抑制效果和延迟之间取得平衡。
    • +
    • 1:激进模式。适用于如户外直播等对噪声抑制效果要求较高的场景,抑制效果更强,但可能影响音频原始特性。
    • +
    • 2:低延迟激进模式。该模式的噪声抑制延迟约为平衡模式和激进模式的一半,适用于如实时合唱等对低延迟和噪声抑制效果要求较高的场景。
    • +
    +
    + AI 噪声抑制模式。详见 + AI 噪声抑制模式,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita b/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita index b423152d8c8..7890fd51913 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setAudioEffectPreset" /> - 设置 SDK 预设的人声音效。 + <ph keyref="setAudioEffectPreset"/> + 设置 SDK 预设的音效效果。 - + @@ -14,39 +14,84 @@

    public abstract int setAudioEffectPreset(int preset); - - - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; + + - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:)); virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAudioEffectPreset(FENUMWRAP_AUDIO_EFFECT_PRESET preset); abstract setAudioEffectPreset(preset: AudioEffectPreset): number; public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); abstract setAudioEffectPreset(preset: AudioEffectPreset): number; Future<void> setAudioEffectPreset(AudioEffectPreset preset); -

    +

    -

    调用该方法可以为本地发流用户设置 SDK 预设的人声音效,且不会改变原声的性别特征。设置音效后,频道内所有用户都能听到该效果。

    +
    + +
    自从:
    +
    自 v3.2.0 版本新增。
    +
    +
    +

    调用该方法为发送音频流的本地用户设置 SDK 预设的音效效果。该效果不会改变原始声音的性别特征。设置后,频道内所有用户都能听到该音效。 + +调用时机:你可以在加入频道前或加入频道后调用该方法。 + +为了获得更好的音效效果,建议在调用本方法前先调用以下方法: +

      +
    • 调用 将音频场景设置为高音质音频场景,即 (3)。
    • +
    • 调用 setAudioProfile,并将 profile 参数设置为 (4)或 (5)。
    • +
    +

    根据不同的场景,你可以为用户设置不同的音效,各音效的适用场景可参考

    -
    +
      +
    • 不要将 setAudioProfile 中的 profile 参数设置为 (1)或 (6),否则该方法不生效。
    • +
    • 如果调用 并将 preset 参数设置为除 以外的枚举值,不要调用 ,否则 的设置会被覆盖。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖 的设置:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 此方法依赖于美声动态库 。如果该动态库被删除,则无法正常启用该功能。
    • +
    +
    +
      +
    • 不要将 中的 profile 参数设置为 (1),否则该方法不生效。
    • +
    • 如果调用 并将 preset 参数设置为除 之外的枚举值,则不要调用 ,否则会覆盖 的设置。
    • +
    • 调用 后,声网不建议再调用以下方法,否则会覆盖 的设置:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 此方法依赖于语音美声动态库 (iOS)或
    • +
    +
    +
    调用时机 -

    加入频道前后均可调用。

    -

    +

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

    +

    调用限制
    • -
    • 如果调用 并设置除 外的枚举,请勿再调用 ,否则 设置的效果会被覆盖。
    • -
    • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖: +
    • 如果调用 并设置除 外的枚举,请勿再调用 ,否则 设置的效果会被覆盖。
    • +
    • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖:
        -
      • -
      • -
      • -
      • -
      • -
      • +
      • +
      • +
      • +
      • +
      • +
    • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
    @@ -56,46 +101,53 @@ preset - 预设的音效选项,详见 - 预设的音效选项。 + 预设的音效选项,详见 + 预设的音效选项。
      -
    • : 原声,即关闭人声音效。
    • -
    • : KTV。
    • -
    • : 演唱会。
    • -
    • : 录音棚。
    • -
    • : 留声机。
    • -
    • : 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • -
    • : 空旷。
    • -
    • : 空灵。
    • -
    • : 虚拟环绕声,即 SDK 在双声道的基础上产生仿真的环绕声场,从而营造出具有环绕感的音效。 +
    • : 原声,即关闭人声音效。
    • +
    • : KTV。
    • +
    • : 演唱会。
    • +
    • : 录音棚。
    • +
    • : 留声机。
    • +
    • : 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • +
    • : 空旷。
    • +
    • : 空灵。
    • +
    • : 虚拟环绕声,即 SDK 在双声道的基础上产生仿真的环绕声场,从而营造出具有环绕感的音效。 启用虚拟环绕声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    • -
    • : 合唱。声网推荐你在合唱场景下使用,使人声更具空间立体感。
    • -
    • : 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。 +
    • : 合唱。声网推荐你在合唱场景下使用,使人声更具空间立体感。
    • +
    • : 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。
        -
      • 使用该预设音效前,你需要将 profile 参数设置为 (3) 或 (5),否则该预设音效的设置无效。
      • +
      • 使用该预设音效前,你需要将 profile 参数设置为 (3) 或 (5),否则该预设音效的设置无效。
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    • -
    • : 大叔。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 老年男性。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 男孩。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 少女。建议用于处理女声,否则无法达到预期效果。
    • -
    • : 女孩。建议用于处理女声,否则无法达到预期效果。
    • -
    • : 猪八戒。
    • -
    • : 绿巨人。
    • -
    • : R&B。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • -
    • : 流行。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • -
    • : 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。
    • +
    • : 大叔。建议用于处理男声,否则无法达到预期效果。
    • +
    • : 老年男性。建议用于处理男声,否则无法达到预期效果。
    • +
    • : 男孩。建议用于处理男声,否则无法达到预期效果。
    • +
    • : 少女。建议用于处理女声,否则无法达到预期效果。
    • +
    • : 女孩。建议用于处理女声,否则无法达到预期效果。
    • +
    • : 猪八戒。
    • +
    • : 绿巨人。
    • +
    • : R&B。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • +
    • : 流行。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • +
    • : 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。
    -
    -
    -
    + SDK 预设的音效选项,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita b/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita index 49fd96b2b65..d8db222ed1d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setAudioMixingDualMonoMode" /> + <ph keyref="setAudioMixingDualMonoMode"/> 设置当前音频文件的声道模式。 - + @@ -14,48 +14,46 @@

    public abstract int setAudioMixingDualMonoMode(Constants.AudioMixingDualMonoMode mode); - - - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; + + - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:)); virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetAudioMixingDualMonoMode(EAUDIO_MIXING_DUAL_MONO_MODE mode); - abstract setAudioMixingDualMonoMode(mode: AudioMixingDualMonoMode): number; - public abstract int SetAudioMixingDualMonoMode(AUDIO_MIXING_DUAL_MONO_MODE mode); - abstract setAudioMixingDualMonoMode(mode: AudioMixingDualMonoMode): number; - Future<void> setAudioMixingDualMonoMode(AudioMixingDualMonoMode mode); -

    + + + + +

    -

    在双声道音频文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、左声道模式、右声道模式或混合模式。

    +

    -
    - 适用场景 -

    在 KTV 场景中,音频文件的左声道存储了伴奏,右声道存储了原唱的歌声。你可以根据实际需求进行设置:

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

    -
    -
    - 调用时机 -

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

    -
    -
    - 调用限制 -

    该方法仅适用于双声道的音频文件。

    -
    -
    - 参数 +
    + 调用时机 +

    在调用 startAudioMixing 并收到 回调后调用此方法。

    +
    +
    + 调用限制 +

    无。

    +
    +
    + 参数 - - mode - 声道模式。详见 - + + mode + 声道模式,详见 +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita b/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita index 53d6df6add5..9f8df57900c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setAudioMixingPitch" /> - 调整本地播放的音乐文件的音调。 + <ph keyref="setAudioMixingPitch"/> + 设置本地音乐文件的音调。 - + @@ -14,42 +14,53 @@

    public abstract int setAudioMixingPitch(int pitch); - - - (int)setAudioMixingPitch:(NSInteger)pitch; + + - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:)); virtual int setAudioMixingPitch(int pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAudioMixingPitch(int pitch); abstract setAudioMixingPitch(pitch: number): number; public abstract int SetAudioMixingPitch(int pitch); abstract setAudioMixingPitch(pitch: number): number; Future<void> setAudioMixingPitch(int pitch); -

    +

    -

    本地人声和播放的音乐文件混音时,调用该方法可以仅调节音乐文件的音调。

    +

    + 你需要在调用 startAudioMixing 并收到 )回调后调用此方法。 + 你需要在调用 并收到 audioMixingStateChanged:reasonCode:)回调后调用此方法。
    调用时机 -

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

    +

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

    调用限制

    无。

    -
    +
    参数 pitch - 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 - -
    -
    + 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 + 按半音阶设置本地音乐文件的音调(默认值为 0,表示保持原始音调)。取值范围为 -12 到 12,相邻两个值之间的音调差为一个半音。该参数的绝对值越大,音调变化越明显。 + 按半音阶设置本地音乐文件的音调。默认值为 0,表示保持原始音调。取值范围为 -12 到 12,相邻两个值之间的音调差为一个半音。该参数的绝对值越大,音调升高或降低的幅度越大。 + 按半音音阶设置本地音乐文件的音调。默认值为 0(默认),表示保持原始音调。取值范围为 -12 到 12,相邻两个值之间的音调差为一个半音。该参数的绝对值越大,音调变化越明显。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita b/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita index acd9d49d36b..c40831b7014 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita @@ -1,8 +1,8 @@ - + <ph keyref="setAudioMixingPlaybackSpeed"/> - 设置当前音乐文件的播放速度。 + 设置当前音频文件的播放速度。 @@ -13,25 +13,19 @@

    - public abstract int setAudioMixingPlaybackSpeed(int speed); + 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") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAudioMixingPlaybackSpeed(int speed); abstract setAudioMixingPlaybackSpeed(speed: number): number; public abstract int SetAudioMixingPlaybackSpeed(int speed); abstract setAudioMixingPlaybackSpeed(speed: number): number; - Future<void> setAudioMixingPlaybackSpeed(int speed);

    + Future<void> setAudioMixingPlaybackSpeed(int speed);

    详情 -
    - -
    自从
    -
    v4.3.1
    -
    -

    你需要在调用 并收到 回调报告播放状态为 后再调用该方法。

    @@ -39,20 +33,40 @@ speed - 音乐文件的播放速度。推荐取值范围为 [50,400],其中: + 音乐文件的播放速度。推荐取值范围为 [50,400],其中:
    • 50: 0.5 倍速。
    • 100: 原始速度。
    • 400: 4 倍速。
    -
    -
    -
    + 播放速度。声网建议将该值设置在 50 到 400 之间,具体如下: +
      +
    • 50:原始速度的一半。
    • +
    • 100:原始速度。
    • +
    • 400:原始速度的 4 倍。
    • +
    +
    + 播放速度。建议设置为 50 到 400 之间的整数,对应关系如下: +
      +
    • 50:原始速度的一半。
    • +
    • 100:原始速度。
    • +
    • 400:原始速度的 4 倍。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita b/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita index b9893aa19e6..9b7785105a0 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setAudioMixingPosition" /> - 设置音乐文件的播放位置。 + <ph keyref="setAudioMixingPosition"/> + 设置音频混音的播放位置。 - + @@ -15,41 +15,48 @@

    public abstract int setAudioMixingPosition(int pos); public abstract setAudioMixingPosition(pos: number): number; - - (int)setAudioMixingPosition:(NSInteger)pos; + - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:)); virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAudioMixingPosition(int pos); abstract setAudioMixingPosition(pos: number): number; public abstract int SetAudioMixingPosition(int pos); abstract setAudioMixingPosition(pos: number): number; Future<void> setAudioMixingPosition(int pos); -

    +

    -

    该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。

    -
    +

    调用该方法可将音乐文件的播放位置设置为不同的起始位置。默认从头开始播放。

    +
    调用时机 -

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

    -
    +

    请在调用 startAudioMixing 并收到 回调后调用此方法。

    +
    调用限制

    无。

    -
    +
    参数 pos - 整数。进度条位置,单位为毫秒。 - -
    -
    + 整数。进度条位置,单位为毫秒。 + 播放位置,单位为毫秒。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 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 0b68b2e08a2..ae2c1569fee 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setAudioScenario" /> + <ph keyref="setAudioScenario"/> 设置音频场景。 - + @@ -15,22 +15,24 @@

    public abstract int setAudioScenario(int scenario); public abstract setAudioScenario(scenario: Constants.AudioScenarioType): number; - - (int)setAudioScenario:(AgoraAudioScenario)scenario; + - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:)); virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAudioScenario(EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); abstract setAudioScenario(scenario: AudioScenarioType): number; public abstract int SetAudioScenario(AUDIO_SCENARIO_TYPE scenario); abstract setAudioScenario(scenario: AudioScenarioType): number; Future<void> setAudioScenario(AudioScenarioType scenario); -

    +

    -

    -

    +

    你可以根据实际需求选择不同的音频场景。例如,在对音质要求较高的音乐教学场景中,建议将 scenario 设置为 (3)。你可以在加入频道前或后调用该方法。

    + 由于 iOS 系统限制,在通话音量模式下部分音频路由可能无法识别。如果你需要使用外接声卡,建议将音频场景设置为 (3)。在该场景下,SDK 会切换为媒体音量模式,以避免该问题。 + 由于 iOS 系统限制,在通话音量模式下部分音频路由无法被识别。因此,如果你需要使用外置声卡,建议将音频场景设置为 (3)。在该场景下,SDK 会切换为媒体音量,以避免该问题。 +
    适用场景 -

    该方法适用于各种音频场景,你可以按需选择。例如,在音乐教学等高音质需求的场景中,建议将 scenario 设置为 (3)。

    +

    该方法适用于各种音频场景,你可以按需选择。例如,在音乐教学等高音质需求的场景中,建议将 scenario 设置为 (3)。

    调用时机 @@ -42,26 +44,45 @@ scenario - 音频场景。不同的音频场景下,设备的音量类型是不同的。 - 详见 + 音频场景。不同的音频场景下,设备的音量类型是不同的。 + 详见
      -
    • (0):(默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
    • -
    • (3): 高音质场景,适用于音乐为主的场景。
    • -
    • (5): 聊天室场景,适用于用户需要频繁上下麦的场景。
    • -
    • (7): 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 +
    • (0):(默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
    • +
    • (3): 高音质场景,适用于音乐为主的场景。
    • +
    • (5): 聊天室场景,适用于用户需要频繁上下麦的场景。
    • +
    • (7): 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 使用该枚举前,你需要调用 获取音频设备是否支持极低延时采集和播放。只有在支持极低延时(isLowLatencyAudioSupported = )的音频设备上,才能够体验到极低延时。
    • -
    • (8): 会议场景,适用于人声为主的多人会议。
    • -
    • (10): AI 对话场景,仅适用于与创建的智能体互动的场景。
    • +
    • (8): 会议场景,适用于人声为主的多人会议。
    • +
    • (10): AI 对话场景,仅适用于与创建的智能体互动的场景。
    -
    -
    + 音频场景。在不同的音频场景下,设备使用不同的音量类型: +
      +
    • (0):默认场景,SDK 会根据用户角色和音频路由自动选择合适的音质。
    • +
    • (3):高音质场景,适用于主要播放音乐的场景。
    • +
    • (5):聊天室场景,适用于用户频繁切换角色或静音/取消静音麦克风的场景。
    • +
    • (7):实时合唱场景,适用于网络状况良好且对超低延迟有要求的场景。使用该枚举前需调用 查看音频设备是否支持超低延迟采集和播放。要体验超低延迟,需确保音频设备支持超低延迟(isLowLatencyAudioSupported = )。
    • +
    • (8):会议场景,主要以人声为主。
    • +
    • (10):AI 对话场景,仅适用于用户与由 Conversational AI Engine 创建的对话式智能体交互的场景。
    • +
    +
    + 音频场景,在不同的音频场景下,设备使用不同的音量类型。详见 + 音频场景。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita b/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita index de85ebbb0c9..c407802d8d7 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita @@ -1,23 +1,23 @@ - + - <ph keyref="setAudioSessionOperationRestriction" /> - 设置 SDK 对 Audio Session 的操作权限。 + <ph keyref="setAudioSessionOperationRestriction"/> + 设置 SDK 对音频会话的操作权限。 - +

    - - + + - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:)); virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetAudioSessionOperationRestriction(EAUDIO_SESSION_OPERATION_RESTRICTION restriction); abstract setAudioSessionOperationRestriction(restriction: AudioSessionOperationRestriction): number; public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); @@ -26,31 +26,44 @@ ): number; Future<void> setAudioSessionOperationRestriction( AudioSessionOperationRestriction restriction); -

    +

    详情 -

    默认情况下,SDK 和 App 对 Audio Session 都有操作权限。如果你只需使用 App 对 Audio Session 进行操作,你可以调用该方法限制 SDK 对 Audio Session 的操作权限。

    +

    默认情况下,SDK 和 App 均可配置音频会话。如果你只希望由 App 配置音频会话,可以通过该方法限制 SDK 对音频会话的操作权限。你可以在加入频道前或后调用该方法。一旦调用该方法限制 SDK 的权限,该限制会在 SDK 需要更改音频会话时生效。

    该方法在加入频道前后都能调用。一旦调用该方法限制了 SDK 对 Audio Session 的操作权限,该限制会在 SDK 需要更改 Audio Session 时生效。

      -
    • 该方法仅适用于 iOS 平台。
    • +
    • 该方法仅适用于 iOS 平台。
    • 该方法不会限制 App 对 Audio Session 的操作权限。
    • -
    +
      +
    • 此方法仅适用于 iOS。
    • +
    • 此方法不会限制 App 对音频会话的操作权限。
    • +
    +
    + 该方法不会限制 App 对音频会话的操作权限。 +
    参数 restriction - SDK 对 Audio Session 的操作权限,详见 。该参数为 Bit Mask,每个 Bit 对应一个权限。 - -
    -
    + SDK 对 Audio Session 的操作权限,详见 。该参数为 Bit Mask,每个 Bit 对应一个权限。 + SDK 对音频会话的操作权限。该参数为位掩码格式,每一位对应一个权限。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita b/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita index 7ad598169f8..aba945b9eea 100644 --- a/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setBeautyEffectOptions" /> - 设置美颜效果选项。 + <ph keyref="setBeautyEffectOptions"/> + 设置美颜特效选项。 - + @@ -14,10 +14,10 @@

    public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); - - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options; + + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:)); virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetBeautyEffectOptions(bool enabled, const FBeautyOptions& options, EMEDIA_SOURCE_TYPE type); abstract setBeautyEffectOptions( enabled: boolean, @@ -34,14 +34,17 @@ {required bool enabled, required BeautyOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    -

    开启本地美颜功能,并设置美颜效果选项。

    -
    +

    + 该方法依赖图像增强动态库 。如果该动态库被删除,将无法正常启用该功能。 +该功能对设备性能要求较高。调用该方法时,SDK 会自动检测当前设备的性能能力。 + 该方法依赖图像增强动态库 (iOS)或 +
    调用时机 -

    请在 之后调用该方法。

    +

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

    调用限制 @@ -55,40 +58,83 @@ 参数 - enabled - enable - 是否开启美颜功能: + enabled + enable + 是否开启美颜功能:
    • : 开启美颜功能。
    • :(默认)关闭美颜功能。
    -
    + 是否启用美颜特效功能: +
      +
    • :启用美颜特效功能。
    • +
    • :(默认)禁用美颜特效功能。
    • +
    +
    + 是否启用美颜功能: +
      +
    • :启用美颜功能。
    • +
    • :(默认)关闭美颜功能。
    • +
    +
    + options - 美颜选项,详细定义见 - - + 美颜选项,详细定义见 + 美颜特效选项,详见 + 美颜选项。详见 + + -
    -
    + + type + 要应用滤镜效果的媒体源类型,详见 。 +该参数仅支持以下两种设置: +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,将该参数设置为
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -4:当前设备不支持该功能,可能的原因有:
          • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
          • -
          • 当前设备版本低于 Android 5.0,不支持该操作,建议更换设备或升级操作系统。
          • +
          • 当前设备版本低于 Android 5.0,不支持该操作,建议更换设备或升级操作系统。
      -
    +

    +

    +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita b/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita index 73d882e0a3e..f9bad22779b 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita @@ -1,60 +1,71 @@ - + - <ph keyref="setCameraAutoExposureFaceModeEnabled" /> - 设置是否开启自动曝光功能。 + <ph keyref="setCameraAutoExposureFaceModeEnabled"/> + 设置是否启用自动曝光功能。 - +

    - - - - virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + + + virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraAutoExposureFaceModeEnabled(bool enabled); abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number; public abstract int SetCameraAutoExposureFaceModeEnabled(bool enabled); abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number; Future<void> setCameraAutoExposureFaceModeEnabled(bool enabled); -

    +

    详情 -

    - +

      -
    • 该方法仅适用于 iOS。
    • -
    • +
    • 该方法仅适用于 iOS。
    • +

    -
    + 该方法仅适用于 iOS 平台。你必须在调用 后再调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后。 +
    参数 - enabled - + enabled +

    是否开启自动曝光:

      -
    • : 开启自动曝光。
    • -
    • : 关闭自动曝光。
    • +
    • : 开启自动曝光。
    • +
    • : 关闭自动曝光。

    + 是否启用自动曝光: +
      +
    • :启用自动曝光。
    • +
    • :关闭自动曝光。
    • +
    +
    -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita b/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita index 92e3e79d2d6..679ffa11c0a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraAutoFocusFaceModeEnabled" /> - 设置是否开启人脸对焦功能。 + <ph keyref="setCameraAutoFocusFaceModeEnabled"/> + 启用或关闭摄像头人脸自动对焦功能。 - + @@ -15,22 +15,23 @@

    public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); public abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; - - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; + - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:)); virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraAutoFocusFaceModeEnabled(bool enabled); abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; Future<void> setCameraAutoFocusFaceModeEnabled(bool enabled); -

    +

    -

    SDK 默认关闭人脸自动对焦。如需开启人脸自动对焦,请调用该方法。

    +

    SDK 默认开启人脸自动对焦。如需关闭人脸自动对焦,请调用该方法。

    -

    SDK 默认在 Android 平台关闭人脸自动对焦,在 iOS 平台开启人脸自动对焦。如需自行设置人脸自动对焦,请调用该方法。

    - 该方法仅适用于 Android 和 iOS。 -
    +

    SDK 默认在 Android 平台关闭人脸自动对焦,在 iOS 平台开启人脸自动对焦。如需自行设置人脸自动对焦,请调用该方法。

    + 该方法仅适用于 Android 和 iOS。 + 此方法仅适用于 Android 和 iOS 平台。 +
    调用限制 @@ -40,27 +41,46 @@ 参数 - enabled + enabled enable - +

    是否开启人脸对焦:

      -
    • : 开启人脸对焦功能。
    • -
    • : 关闭人脸对焦功能。
    • +
    • : 开启人脸对焦功能。
    • +
    • : 关闭人脸对焦功能。

    -
    -
    -
    + 是否启用人脸自动对焦功能: +
      +
    • :启用摄像头人脸自动对焦功能。
    • +
    • :关闭人脸自动对焦功能。
    • +
    +
    + 是否启用人脸自动对焦功能: +
      +
    • :启用摄像头人脸自动对焦功能。
    • +
    • :关闭摄像头人脸自动对焦功能。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

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

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita index c7d641d256c..6ad327615b0 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraCapturerConfiguration" /> + <ph keyref="setCameraCapturerConfiguration"/> 设置摄像头采集配置。 - + @@ -15,9 +15,9 @@

    public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); public abstract setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number; - - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; + - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:)); virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraCapturerConfiguration(const FCameraCapturerConfiguration& config); abstract setCameraCapturerConfiguration( config: CameraCapturerConfiguration @@ -28,34 +28,45 @@ ): number; Future<void> setCameraCapturerConfiguration( CameraCapturerConfiguration config); -

    +

    -
    +
    如需调整摄像头焦距配置,建议先调用 查询设备的焦距能力,并根据查询结果进行配置。由于部分 Android 设备的限制,即使根据 返回的结果设置了焦距类型,设置也可能不生效。 + 如需调整摄像头焦距配置,建议先调用 方法查询设备的焦距能力,并根据查询结果进行配置。 + 如需调整相机焦距配置,建议先调用 查询设备的焦距能力,并根据查询结果进行配置。由于部分 Android 设备的限制,即使根据 返回的结果设置了焦距类型,设置也可能不生效。 +
    调用时机 -

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

    +

    在启用本地摄像头采集之前调用,例如调用 joinChannel 之前。

    调用限制 -

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

    -

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

    -

    无。

    -
    +

    无。

    +

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

    +
    参数 config - 摄像头采集配置,详见 。 - 在该方法中,不需要设置 deviceId 参数。 - -
    -
    + 摄像头采集配置,详见 。 + 在该方法中,不需要设置 deviceId 参数。 + 摄像头采集配置。详见 + 摄像头采集配置。无需设置 deviceId 参数。详见 + 摄像头采集配置。详见 。在此方法中,无需设置 deviceId 参数。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita b/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita index d7979a9c59c..4dc3546ac0d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita @@ -1,24 +1,23 @@ - + - <ph keyref="setCameraDeviceOrientation" /> - 设置采集视频的旋转角度。 + <ph keyref="setCameraDeviceOrientation"/> + 设置视频采集画面的旋转角度。 - +

    - - - - virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + + + virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraDeviceOrientation(EVIDEO_SOURCE_TYPE type, FENUMWRAP_VIDEO_ORIENTATION orientation); abstract setCameraDeviceOrientation( type: VideoSourceType, @@ -31,36 +30,50 @@ ): number; Future<void> setCameraDeviceOrientation( {required VideoSourceType type, required VideoOrientation orientation}); -

    +

    详情
      -
    • 该方法仅适用于 Windows。
    • -
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
    • +
    • 该方法仅适用于 Windows。
    • +
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
    • 当视频采集设备不带重力感应功能时,你可以调用该方法手动调整采集到的视频画面的旋转角度。
    -
    + 该方法仅适用于 Windows 平台。 +你必须在调用 后再调用该方法。设置结果在成功打开摄像头后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后生效。 +当视频采集设备不具备重力感应功能时,你可以调用该方法手动调整采集画面的旋转角度。 +
    参数 type - 视频源类型,详见 + 视频源类型,详见 + 视频源的类型,详见 + + + orientation + 顺时针旋转的角度,详见 - + orientation - 顺时针旋转角度,详见 + 顺时针旋转角度,详见
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita b/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita index c1ae077263f..e61945baf73 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraExposureFactor" /> - 设置当前摄像头的曝光系数。 + <ph keyref="setCameraExposureFactor"/> + 设置摄像头的曝光值。 - + @@ -15,55 +15,81 @@

    public abstract int setCameraExposureFactor(int factor); public abstract setCameraExposureFactor(factor: number): number; - -- (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:)); + - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:)); virtual int setCameraExposureFactor(float factor) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraExposureFactor(float factor); - + public abstract int SetCameraExposureFactor(float factor); abstract setCameraExposureFactor(factor: number): number; - Future<void> setCameraExposureFactor(double factor); -

    + Future<void> setCameraExposureFactor(double factor); +

    详情
    - -
    自从
    -
    v4.2.2
    + +
    自从:
    +
    自 v4.2.2 版本新增。
    -

    当拍摄环境光线不足或过于明亮时,会影响视频采集的画质。为了获得更好的视频效果,你可以使用该方法调节摄像头的曝光系数。

    +

    你可以通过该方法调整摄像头的曝光值,以获得最佳的视频质量。拍摄环境中光线不足或过强会影响视频采集的图像质量。

      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
    • +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
    • 建议你在调用该方法前,先调用 查询当前摄像头是否支持调节曝光系数。
    • 当你调用该方法时,设置的是当前正在使用的摄像头的曝光系数,即调用 时指定的摄像头。
    -
    +
      +
    • 此方法仅适用于 Android 和 iOS 平台。
    • +
    • 你必须在调用 后再调用此方法。设置结果在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后生效。
    • +
    • 在调用此方法前,建议先调用 方法检查当前摄像头是否支持调整曝光值。
    • +
    • 该方法调整的是当前激活摄像头的曝光值,即调用 时指定的摄像头。
    • +
    +
    +
      +
    • 必须在调用 方法之后调用此方法。设置结果在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后。
    • +
    • 调用此方法前,建议调用 方法检查当前摄像头是否支持调整曝光值。
    • +
    • 此方法调整的是当前激活摄像头的曝光值,即调用 方法时指定的摄像头。
    • +
    +
    +
      +
    • 你必须在调用 方法之后再调用此方法。设置结果在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后生效。
    • +
    • 在调用此方法前,声网建议先调用 方法检查当前摄像头是否支持调整曝光值。
    • +
    • 通过此方法设置的是当前正在使用的摄像头的曝光值,即调用 方法时指定的摄像头。
    • +
    +
    +
    参数 - exposureFactor - factor - + exposureFactor + factor +

    摄像头的曝光系数。默认值为 0,表示使用摄像头的默认曝光量。取值越大,曝光量越大。视频图像过曝时,你可以降低曝光系数;视频图像欠曝且暗部细节丢失时,你可以增加曝光系数。如果你指定的曝光系数超出设备支持的范围,SDK 会自动调节为设备实际支持的范围。

    取值范围为 [-20,20]。

    取值范围为 [-8.0,8.0]。

    -

    在 Android 平台上,取值范围为 [-20.0,20.0];在 iOS 平台上,取值范围为 [-8.0,8.0]。

    +

    在 Android 平台上,取值范围为 [-20.0,20.0];在 iOS 平台上,取值范围为 [-8.0,8.0]。

    -
    -
    -
    + 摄像头的曝光值。默认值为 0(默认),表示使用摄像头的默认曝光值。值越大,曝光越强。当视频图像过曝时,可以减小曝光值;当视频图像曝光不足且暗部细节丢失时,可以增大曝光值。如果设置的曝光值超出设备支持的范围,SDK 会自动将其调整为设备实际支持的范围。取值范围为 [-20, 20]。 + 摄像头的曝光值。默认值为 0(默认),表示使用摄像头的默认曝光值。值越大,曝光越强。当视频图像过曝时,可以降低曝光值;当视频图像曝光不足且暗部细节丢失时,可以提高曝光值。如果设置的曝光值超出设备支持的范围,SDK 会自动将其调整为设备实际支持的范围。取值范围为 [-8.0, 8.0]。 + 摄像头的曝光值。默认值为 0,表示使用摄像头的默认曝光值。值越大,曝光越强。当视频图像过曝时,可以降低曝光值;当视频图像曝光不足且暗部细节丢失时,可以提高曝光值。如果设置的曝光值超出设备支持的范围,SDK 会自动将其调整为设备实际支持的范围。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      无实际含义。

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita b/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita index 6efdd0619b2..fabdce96c37 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraExposurePosition" /> - 设置手动曝光位置。 + <ph keyref="setCameraExposurePosition"/> + 设置摄像头的曝光位置。 - + @@ -15,10 +15,9 @@

    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; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:)); + virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraExposurePosition(float positionXinView, float positionYinView); abstract setCameraExposurePosition( positionXinView: number, @@ -31,38 +30,60 @@ ): number; Future<void> setCameraExposurePosition( {required double positionXinView, required double positionYinView}); -

    +

    +
    + +
    自从:
    +
    自 v2.3.2 版本新增。
    +
    +
    详情 -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    • 成功调用该方法后,本地会触发 回调。
    +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    • 成功调用该方法后,本地会触发 回调。
    -
    + 该方法仅适用于 Android 和 iOS 平台。你必须在调用 后再调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后。调用该方法成功后,SDK 会触发 回调。 + 你必须在调用 方法之后再调用本方法。设置结果会在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)时。成功调用该方法后,SDK 会触发 回调。 +
      +
    • 你必须在调用 之后再调用该方法。设置结果会在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)时。
    • +
    • 成功调用该方法后,SDK 会触发 回调。
    • +
    +
    +
    参数 - - positionXinView - 触摸点相对于视图的横坐标。 - - - positionYinView - 触摸点相对于视图的纵坐标。 - - - positionInView - 触摸点相对于视图的横坐标和纵坐标。 - -
    -
    + + positionXinView + 触摸点相对于视图的横坐标。 + 视图中触摸点的水平坐标。 + + + positionYinView + 触摸点相对于视图的纵坐标。 + 视图中触摸点的垂直坐标。 + + + positionInView + 触摸点相对于视图的横坐标和纵坐标。 + 视图中触摸点的水平和垂直坐标。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita b/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita index 70a41a6a0e1..7e6c4f45355 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraFocusPositionInPreview" /> - 设置手动对焦位置,并触发对焦。 + <ph keyref="setCameraFocusPositionInPreview"/> + 设置摄像头的手动对焦位置。 - + @@ -15,10 +15,9 @@

    public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); public abstract setCameraFocusPositionInPreview(positionX: number, positionY: number): number; - - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; - virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:)); + virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraFocusPositionInPreview(float positionX, float positionY); abstract setCameraFocusPositionInPreview( positionX: number, @@ -31,38 +30,55 @@ ): number; Future<void> setCameraFocusPositionInPreview( {required double positionX, required double positionY}); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    • 成功调用该方法后,本地会触发 回调。
    • +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    • 成功调用该方法后,本地会触发 回调。
    -
    + 仅适用于 Android 和 iOS 平台。必须在调用 后调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后生效。调用该方法成功后,SDK 会触发 回调。 + 你必须在调用 方法之后再调用本方法。设置结果会在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后生效。成功调用该方法后,SDK 会触发 回调。 + 你必须在调用 之后再调用此方法。设置结果在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)后生效。成功调用该方法后,SDK 会触发 回调。 +
    参数 - - positionX - 触摸点相对于视图的横坐标。 - - - positionY - 触摸点相对于视图的纵坐标。 - - - position - 触摸点相对于视图的坐标。 - -
    -
    + + positionX + 触摸点相对于视图的横坐标。 + 视图中触摸点的水平坐标。 + + + positionY + 触摸点相对于视图的纵坐标。 + 视图中触摸点的垂直坐标。 + + + position + 触摸点相对于视图的坐标。 + 视图中触摸点的坐标。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

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

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita b/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita index 5aa24ee1eb0..ffa2d07d7de 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita @@ -1,4 +1,4 @@ - + <ph keyref="setCameraStabilizationMode"/> @@ -14,24 +14,18 @@

    - - - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:)); + + - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:)); virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraStabilizationMode(FENUMWRAP_CAMERA_STABILIZATION_MODE mode); public abstract int SetCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode); abstract setCameraStabilizationMode(mode: CameraStabilizationMode): number; - Future<void> setCameraStabilizationMode(CameraStabilizationMode mode);

    + Future<void> setCameraStabilizationMode(CameraStabilizationMode mode);

    -
    - -
    自从
    -
    v4.3.1
    -
    -
    - +

    该方法仅适用于 iOS。

    摄像头防抖模式默认关闭,你需要调用该方法开启并设置合适的防抖模式。

    @@ -42,7 +36,7 @@
    调用时机 -

    该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) 后。

    +

    必须在摄像头成功启用后调用此方法,即 SDK 触发 回调并返回本地视频状态为 (1)之后。

    调用限制 @@ -56,15 +50,22 @@ mode - 摄像头的防抖模式。详见 - -
    -
    + 摄像头的防抖模式。详见 + 摄像头防抖模式。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita b/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita index ed96514d3eb..f239295735d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraTorchOn" /> - 设置是否打开闪光灯。 + <ph keyref="setCameraTorchOn"/> + 开启或关闭摄像头闪光灯。 - + @@ -14,46 +14,64 @@

    public abstract int setCameraTorchOn(boolean isOn); - - - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); - virtual int setCameraTorchOn(bool isOn) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); + virtual int setCameraTorchOn(bool isOn) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraTorchOn(bool isOn); abstract setCameraTorchOn(isOn: boolean): number; public abstract int SetCameraTorchOn(bool isOn); abstract setCameraTorchOn(isOn: boolean): number; Future<void> setCameraTorchOn(bool isOn); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • + 仅适用于 Android 和 iOS 平台。你必须在调用 后再调用该方法。设置结果会在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)时。 + 你必须在调用 之后再调用此方法。设置结果将在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)之后。 +
    参数 isOn - +

    是否打开闪光灯:

      -
    • : 打开闪光灯。
    • -
    • :(默认)关闭闪光灯。
    • +
    • : 打开闪光灯。
    • +
    • :(默认)关闭闪光灯。

    -
    -
    -
    + 是否开启摄像头闪光灯: +
      +
    • :开启闪光灯。
    • +
    • :(默认)关闭闪光灯。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

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

    + diff --git a/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita b/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita index bd39777777d..aafa542300a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCameraZoomFactor" /> - 设置摄像头放大比例。 + <ph keyref="setCameraZoomFactor"/> + 设置摄像头缩放因子。 - + @@ -15,41 +15,61 @@

    public abstract int setCameraZoomFactor(float factor); public abstract setCameraZoomFactor(factor: number): number; - - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; - virtual int setCameraZoomFactor(float factor) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:)); + virtual int setCameraZoomFactor(float factor) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCameraZoomFactor(float factor); abstract setCameraZoomFactor(factor: number): number; public abstract int SetCameraZoomFactor(float factor); abstract setCameraZoomFactor(factor: number): number; Future<void> setCameraZoomFactor(double factor); -

    +

    详情 -

    部分 iOS 设备的后置摄像头为多个摄像头组成的融合镜头,如双摄(广角和超广角)或三摄(广角、超广角和长焦),对于这种具备超广角能力的融合镜头,你可以调用 cameraFocalLengthType 设置为 (0)(标准镜头),然后调用该方法将摄像头缩放比例设置为小于 1.0 的数值,从而实现超广角的拍摄效果。

    +

    对于配备多镜头后置摄像头的 iOS 设备,例如配备广角和超广角双摄像头,或广角、超广角和长焦三摄像头的设备,你可以先调用 方法,将 cameraFocalLengthType 设置为 (0)(标准镜头),然后将摄像头缩放因子设置为小于 1.0 的值,以实现超广角视角的视频采集。 + cameraFocalLengthType 设置为 (0)(标准镜头),然后调用该方法将摄像头缩放比例设置为小于 1.0 的数值,从而实现超广角的拍摄效果。

      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 你必须在调用 之后再调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)之后。
    • +
    +

      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • + 你必须在调用 方法之后再调用此方法。设置结果将在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)之后。 + 你必须在调用 方法之后再调用此方法。该设置在摄像头成功开启后生效,即 SDK 触发 回调并返回本地视频状态为 (1)之后。 +
    参数 - factor - zoomFactor - 摄像头放大比例。对不支持超广角的设备,取值范围从 1.0 到最大放大比例;对支持超广角的设备,取值范围从 0.5 到最大放大比例。你可以通过 方法获取设备支持的最大放大比例。 - 摄像头放大比例。你可以通过 方法获取设备支持的最大放大比例。 - -
    -
    + factor + zoomFactor + 摄像头放大比例。对不支持超广角的设备,取值范围从 1.0 到最大放大比例;对支持超广角的设备,取值范围从 0.5 到最大放大比例。你可以通过 方法获取设备支持的最大放大比例。 + 摄像头放大比例。你可以通过 方法获取设备支持的最大放大比例。 + 摄像头缩放倍数。你可以通过调用 方法获取设备支持的最大缩放倍数。 + 摄像头缩放因子。对于不支持超广角的设备,该值范围为 1.0 到设备支持的最大缩放因子;对于支持超广角的设备,该值范围为 0.5 到设备支持的最大缩放因子。你可以通过调用 方法获取设备支持的最大缩放因子。 + 摄像头缩放因子。对于不支持超广角的设备,该值范围为 1.0 到设备支持的最大缩放因子;对于支持超广角的设备,该值范围为 0.5 到设备支持的最大缩放因子。你可以调用 方法获取设备支持的最大缩放因子。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 方法调用成功: 返回设置的 factor 值。
    • +

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

      +
        +
      • 方法调用成功: 返回设置的 factor 值。
      • 方法调用失败: 返回值 < 0。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +

      +
    • 方法调用成功,返回摄像头缩放因子值。
    • +
    • < 0:方法调用失败。
    • +
    +

    + - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita b/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita index a2a14cbe3cd..a31550959b9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setChannelProfile" /> + <ph keyref="setChannelProfile"/> 设置频道场景。 - + @@ -15,50 +15,61 @@

    public abstract int setChannelProfile(int profile); public abstract setChannelProfile(profile: number): number; - - (int)setChannelProfile:(AgoraChannelProfile)profile; + - (int)setChannelProfile:(AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:)); virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetChannelProfile(ECHANNEL_PROFILE_TYPE profile); abstract setChannelProfile(profile: ChannelProfileType): number; public abstract int SetChannelProfile(CHANNEL_PROFILE_TYPE profile); abstract setChannelProfile(profile: ChannelProfileType): number; Future<void> setChannelProfile(ChannelProfileType profile); -

    +

    -

    你可以调用该方法设置频道的使用场景。SDK 会针对不同的使用场景采用不同的优化策略,如直播场景优先保证画质。SDK 初始化后默认的频道场景为直播场景。

    - -

    不同的频道场景下,SDK 的默认音频路由是不同的,详见 中的说明。

    +

    SDK 会根据不同的频道场景采用不同的优化策略。例如,在极速直播场景中,SDK 会优先保证视频质量。 +初始化 SDK 后,默认频道场景为极速直播。 +调用时机:请在加入频道前调用此方法。

    + +

    不同的频道场景下,SDK 的默认音频路由是不同的,详见 中的说明。

    -
    + 为确保实时通信质量,建议频道内所有用户使用相同的频道场景。 +在不同频道场景下,SDK 的默认音频路由不同。详见 +
      +
    • 为确保实时通信质量,声网建议频道内所有用户使用相同的频道场景。
    • +
    • 在 iOS 平台,不同频道场景下 SDK 的默认音频路由不同,详见
    • +
    +
    + 为确保实时通信质量,声网建议频道内所有用户使用相同的频道场景。 +在不同的频道场景中,SDK 的默认音频路由不同。详见 +
    调用时机 -

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

    +

    请在加入频道前调用此方法。

    调用限制 -

    为保证实时音视频质量,相同频道内的用户必须使用同一种频道场景。

    +

    无。

    参数 profile - -

    频道使用场景。详见

    + +

    频道使用场景。详见

    频道使用场景。

      -
    • (0):通信。声网推荐使用直播场景以获取更好的音视频体验。
    • -
    • (1):(默认)直播。
    • -
    • (2):游戏语音场景。 +
    • (0):通信。声网推荐使用直播场景以获取更好的音视频体验。
    • +
    • (1):(默认)直播。
    • +
    • (2):游戏语音场景。
      废弃:
      请改用
    • -
    • (3):互动。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。 +
    • (3):互动。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。
      废弃:
      @@ -67,18 +78,44 @@

    -
    -
    -
    + 频道场景: +
      +
    • (0):通信场景。声网建议使用直播场景以获得更好的音视频体验。
    • +
    • (1):(默认)直播场景。
    • +
    • (2):游戏场景。已废弃,请使用
    • +
    • (3):互动场景。该场景对延迟进行了优化,适用于用户之间需要频繁互动的场景。已废弃,请使用
    • +
    +
    + 频道场景。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • +

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

      +
        +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -2: 参数无效。
        • -7: SDK 尚未初始化。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。
      • +
      • -7:SDK 未初始化。
      • +
      +
    • +
    +

    +

    0:方法调用成功。 +< 0:方法调用失败。 +

      +
    • -2:参数无效。
    • +
    • -7:SDK 尚未初始化。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita b/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita index aacc5822572..ffb6ee23904 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setCloudProxy" /> + <ph keyref="setCloudProxy"/> 设置云代理服务。 - + @@ -14,52 +14,85 @@

    public abstract int setCloudProxy(int proxyType); - - - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); + + - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetCloudProxy(ECLOUD_PROXY_TYPE proxyType); abstract setCloudProxy(proxyType: CloudProxyType): number; public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); abstract setCloudProxy(proxyType: CloudProxyType): number; Future<void> setCloudProxy(CloudProxyType proxyType); -

    +

    +
    + +
    自从:
    +
    自 v3.3.0 版本新增。
    +
    +
    详情 -

    当用户的网络访问受到防火墙限制时,你需要将声网提供的 IP 和端口号添加到防火墙白名单,然后调用该方法开启云代理,并通过 proxyType 参数设置云代理类型。

    -

    成功连接云代理后,SDK 会触发 (, ) 回调。 +

    当用户的网络访问受防火墙限制时,需要配置防火墙,允许访问声网提供的特定 IP 地址和端口。然后调用该方法启用云代理,并通过 proxyType 参数设置云代理类型。成功连接到云代理后,SDK 会触发 回调,状态为 ,原因为 。要禁用已设置的云代理,请调用 setCloudProxy(NONE_PROXY)。如需更改云代理类型,需先调用 setCloudProxy(NONE_PROXY),再调用 并传入期望的 proxyType 值。proxyType 参数设置云代理类型。

    +

    成功连接云代理后,SDK 会触发 (, ) 回调。

    -

    如果你想关闭已设置的 Force UDP 或 Force TCP 云代理,请调用 ()

    -

    如果你想更改已设置的云代理类型,请先调用 (),再调用 并传入你期望的 proxyType 值。 +

    如果你想关闭已设置的 Force UDP 或 Force TCP 云代理,请调用 ()

    +

    如果你想更改已设置的云代理类型,请先调用 (),再调用 并传入你期望的 proxyType 值。

    • 建议你在频道外调用该方法。
    • 如果用户处于内网防火墙环境下,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。
    • -
    • 使用 Force UDP 云代理时,调用 方法时无法播放 HTTP 协议的在线音频文件。旁路推流和跨频道媒体流转发功能会使用 TCP 协议的云代理。
    • -
    +
  • 使用 Force UDP 云代理时,调用 方法时无法播放 HTTP 协议的在线音频文件。旁路推流和跨频道媒体流转发功能会使用 TCP 协议的云代理。
  • +
      +
    • 建议你在加入频道前调用此方法。
    • +
    • 当用户处于防火墙之后并使用强制 UDP 云代理时,Media Push 和跨频道联播服务不可用。
    • +
    • 当你使用强制 TCP 云代理时,调用 startAudioMixing 方法播放 HTTP 协议的在线音乐文件时会出现错误。Media Push 和跨频道联播服务使用 TCP 协议的云代理。
    • +
    +
    +
      +
    • 建议在加入频道前调用此方法。
    • +
    • 当你处于防火墙环境中并使用强制 UDP 云代理时,媒体推流和跨频道联播服务不可用。
    • +
    • 使用强制 TCP 云代理时,调用 方法播放 HTTP 协议的在线音乐文件会报错。媒体推流和跨频道联播服务使用 TCP 协议的云代理。
    • +
    +
    +
      +
    • 建议在加入频道前调用此方法。
    • +
    • 当你处于防火墙环境下并使用强制 UDP 云代理时,媒体推流和跨频道联播服务不可用。
    • +
    • 当使用强制 TCP 云代理时,若调用 startAudioMixing 播放 HTTP 协议的在线音乐文件,会出现错误。媒体推流和跨频道联播服务使用 TCP 协议的云代理。
    • +
    +
    +
    参数 proxyType - -

    云代理类型,详见

    + +

    云代理类型,详见

    云代理类型。

      -
    • (0):自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换到 TLS 443。
    • -
    • (1):UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • -
    • (2):TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • +
    • (0):自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换到 TLS 443。
    • +
    • (1):UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • +
    • (2):TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。

    该参数为必填参数,如果你不赋值,SDK 会报错。

    -
    -
    -
    + 云代理的类型: +
      +
    • TRANSPORT_TYPE_NONE_PROXY (0):自动模式。SDK 默认启用该模式。在此模式下,SDK 会尝试直接连接 SD-RTN™,若失败则自动切换至 TCP/TLS 443。
    • +
    • TRANSPORT_TYPE_UDP_PROXY (1):UDP 协议的云代理,即强制 UDP 云代理模式。在此模式下,SDK 始终通过 UDP 传输数据。
    • +
    • TRANSPORT_TYPE_TCP_PROXY (2):TCP(加密)协议的云代理,即强制 TCP 云代理模式。在此模式下,SDK 始终通过 TCP/TLS 443 传输数据。
    • +
    +
    + 云代理类型,详见 。该参数为必填项,如果未传入值,SDK 会报错。 + 云代理的类型。该参数为必填项,如果未传入值,SDK 会报错。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。 @@ -67,6 +100,16 @@
      • -2: 传入的参数无效。
      • -7: SDK 尚未初始化。
      -
    + +

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita index 1e8a2a760ff..651400076d5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setColorEnhanceOptions" /> - 设置色彩增强功能。 + <ph keyref="setColorEnhanceOptions"/> + 设置色彩增强效果。 - + @@ -15,11 +15,10 @@

    public abstract int setColorEnhanceOptions(boolean enabled, ColorEnhanceOptions options); - - - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:)); - + + - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:)); virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetColorEnhanceOptions(bool enabled, const FColorEnhanceOptions& options, EMEDIA_SOURCE_TYPE type); abstract setColorEnhanceOptions( enabled: boolean, @@ -32,49 +31,96 @@ options: ColorEnhanceOptions, type?: MediaSourceType ): number; - Future<void> setColorEnhanceOptions( + Future<void> setColorEnhanceOptions( {required bool enabled, required ColorEnhanceOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    +
    + +
    自从:
    +
    自 v4.0.0 版本新增。
    +
    +
    详情 -

    摄像头采集到的视频画面可能存在色彩失真的现象。色彩增强功能可以通过智能调节饱和度和对比度等视频特性,提升视频色彩丰富度和色彩还原度,最终使视频画面更生动。

    +

    摄像头采集的视频图像可能存在色彩失真。色彩增强功能可智能调整视频的饱和度和对比度等特性,从而增强视频的色彩丰富度和还原度,使画面更加生动。

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

      -
    • 请在 后调用该方法。
    • +
    • 请在 后调用该方法。
    • 色彩增强对设备性能有一定要求。开启色彩增强后,如果设备出现严重发烫等问题,建议你将色彩增强等级修改为消耗性能较少的等级或关闭色彩增强功能。
    • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
      +
    • 请在调用该方法前调用
    • +
    • 色彩增强功能对设备性能有一定要求。开启该功能后,如果设备出现严重发热问题,声网建议你将色彩增强等级调整为较低的性能消耗等级,或关闭该功能。
    • +
    • 此方法依赖图像增强动态库 。如果该动态库被删除,则无法正常启用该功能。
    • +
    +
    +
      +
    • 请在调用该方法前先调用 方法。
    • +
    • 颜色增强功能对设备性能有一定要求。启用颜色增强后,如果设备出现严重发热问题,声网建议你将颜色增强级别调整为较低的性能消耗等级,或关闭颜色增强功能。
    • +
    • 此方法依赖图像增强动态库 (iOS)或
    • +
    +
    +
    参数 - enabled - enable - 是否开启色彩增强功能: + enabled + enable + 是否开启色彩增强功能:
      -
    • :开启色彩增强功能。
    • -
    • :(默认)关闭色彩增强功能。
    • +
    • :开启色彩增强功能。
    • +
    • :(默认)关闭色彩增强功能。
    -
    + 是否开启色彩增强功能: +
      +
    • :开启色彩增强。
    • +
    • :(默认)关闭色彩增强。
    • +
    +
    + 是否启用颜色增强功能: +
      +
    • :启用颜色增强。
    • +
    • :(默认)关闭颜色增强。
    • +
    +
    + options - 色彩增强选项,用于设置色彩增强的效果。详见 - - + 色彩增强选项,用于设置色彩增强的效果。详见 + 色彩增强选项,详见 + 颜色增强选项,详见 + + -
    -
    + + type + 应用滤镜效果的媒体源类型,详见 。 +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,设置为
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita b/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita index 279942558e1..db80737e8ce 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -1,79 +1,68 @@ - + <ph keyref="setDefaultAudioRouteToSpeakerphone"/> - 设置默认的音频路由。 + 设置默认音频播放路由。 - +

    - public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeaker); - public abstract setDefaultAudioRoutetoSpeakerphone(defaultToSpeaker:boolean):number; - - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker; - virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - abstract setDefaultAudioRouteToSpeakerphone( - defaultToSpeaker: boolean - ): number; - public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - abstract setDefaultAudioRouteToSpeakerphone( - defaultToSpeaker: boolean - ): number; - Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); -

    + + + - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:)); + virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; + + + + +

    - 该方法仅适用于 Android 和 iOS 平台。 -

    手机设备一般有两个音频路由,一个是位于顶部的听筒,播放声音偏小;一个是位于底部的扬声器,播放声音偏大。设置默认的音频路由,就是在没有外接设备的前提下,设置系统使用听筒还是扬声器播放音频。

    -

    不同场景下,系统默认的音频路由也不同。具体如下: -

      -
    • 语音通话:听筒
    • -
    • 语音直播:扬声器
    • -
    • 视频通话:扬声器
    • -
    • 视频直播:扬声器
    • -

    -

    调用该 API 可以改变上述默认音频路由。

    - -

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

    -
    +

    +

    调用时机 -

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

    +

    在加入频道前调用此方法。如果需要在加入频道后更改音频路由,请调用

    调用限制

    无。

    参数 - - defaultToSpeaker - 是否使用扬声器作为默认的音频路由: + + defaultToSpeaker + 是否将扬声器设置为默认音频路由:
      -
    • : 设置默认音频路由为扬声器。
    • -
    • : 设置默认音频路由为听筒。
    • -
    -
    +
  • :将扬声器设置为默认音频路由。
  • +
  • :将听筒设置为默认音频路由。
  • + +
    +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita index 9cf02a6dd40..ca29de6aa92 100644 --- a/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita @@ -1,8 +1,8 @@ - + <ph keyref="setEarMonitoringAudioFrameParameters"/> - 设置耳返的音频数据格式。 + 设置耳返原始音频数据的格式。 @@ -13,17 +13,14 @@

    - public abstract int setEarMonitoringAudioFrameParameters( - int sampleRate, int channel, int mode, int samplesPerCall); - + public abstract int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, int mode, int samplesPerCall); + - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate - channel:(NSInteger)channel - mode:(AgoraAudioRawFrameOperationMode)mode - samplesPerCall:(NSInteger)samplesPerCall; - virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, - RAW_AUDIO_FRAME_OP_MODE_TYPE mode, - int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + channel:(NSInteger)channel + mode:(AgoraAudioRawFrameOperationMode)mode + samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:)); + virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); abstract setEarMonitoringAudioFrameParameters( sampleRate: number, @@ -38,31 +35,49 @@ mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - Future<void> setEarMonitoringAudioFrameParameters( + Future<void> setEarMonitoringAudioFrameParameters( {required int sampleRate, required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    详情 -

    该方法用于设置 回调的耳返音频数据格式。

    +

    该方法用于设置通过 回调上报的耳返音频数据格式。 回调的耳返音频数据格式。

    • 调用该方法前,你需要先调用 ,将 includeAudioFilters 设置为
    • SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • -
    +
      +
    • 在调用该方法前,需要先调用 ,并将 includeAudioFilters 设置为
    • +
    • SDK 会根据该方法中设置的 samplesPerCallsampleRatechannel 参数计算采样间隔。采样间隔(秒)= samplesPerCall / (sampleRate × channel)。请确保采样间隔 ≥ 0.01 秒。SDK 会根据采样间隔触发 回调。
    • +
    +
    +
      +
    • 在调用该方法前,需要先调用 方法,并将 includeAudioFilters 设置为
    • +
    • SDK 会根据该方法中设置的 samplesPerCallsampleRatechannel 参数计算采样间隔。采样间隔(秒)= samplesPerCall / (sampleRate × channel)。请确保采样间隔 ≥ 0.01 秒。SDK 会根据采样间隔触发 回调。
    • +
    +
    +
      +
    • 在调用该方法前,需要先调用 方法,并将 includeAudioFilters 设置为
    • +
    • SDK 会根据该方法中设置的 samplesPerCallsampleRatechannel 参数计算采样间隔。采样间隔(秒) = samplesPerCall / (sampleRate × channel)。请确保采样间隔 ≥ 0.01 秒。SDK 会根据采样间隔触发 回调。
    • +
    +
    +
    参数 sampleRate - 中报告音频的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。 - + 中报告音频的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。 + 回调中上报的音频数据的采样率。可设置为 8000、16000、32000、44100 或 48000 Hz。 + 回调中上报的音频数据的采样率,可设置为 8000、16000、32000、44100 或 48000 Hz。 + 回调中上报的音频数据的采样率,单位为 Hz。可设置为 8000、16000、32000、44100 或 48000。 + channel - +

    中报告音频的声道数,可设置为 1 或 2:

      @@ -70,25 +85,53 @@
    • 2: 双声道。

    -
    + 回调中上报的音频声道数: +
      +
    • 1:单声道。
    • +
    • 2:双声道。
    • +
    +
    + 回调中上报的音频数据的声道数: +
      +
    • 1:单声道。
    • +
    • 2:双声道。
    • +
    +
    + mode - -

    音频帧的使用模式,详见

    + +

    音频帧的使用模式,详见

    - + 音频帧的使用模式: +

      +
    • (0):(默认)只读模式。例如,用户通过声网 SDK 获取数据后推送 RTMP 或 RTMPS 流。
    • +
    • (2):读写模式。用户从 中读取数据并进行修改后播放。例如,用户有自己的音效处理模块并进行语音预处理,如变声。
    • +
    +
    + 音频帧的使用模式,详见 +
    samplesPerCall - 中报告的音频的采样点数,如旁路推流应用中通常为 1024。 - -
    -
    + 中报告的音频的采样点数,如旁路推流应用中通常为 1024。 + 回调中上报的数据采样数,例如媒体推流场景中为 1024。 + 回调中上报的数据采样数,例如媒体推流时为 1024。 + 回调中上报的数据采样点数量。例如,媒体推流时通常设置为 1024。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita b/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita index 258f22baeea..eb0c2d717e6 100644 --- a/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setEffectPosition" /> - 设置指定音效文件的播放位置。 + <ph keyref="setEffectPosition"/> + 设置音效文件的播放位置。 - + @@ -14,39 +14,50 @@

    public abstract int setEffectPosition(int soundId, int pos); - - - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:)); + + - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:)); virtual int setEffectPosition(int soundId, int pos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetEffectPosition(int soundId, int pos); abstract setEffectPosition(soundId: number, pos: number): number; public abstract int SetEffectPosition(int soundId, int pos); abstract setEffectPosition(soundId: number, pos: number): number; - Future<void> setEffectPosition({required int soundId, required int pos}); -

    + Future<void> setEffectPosition({required int soundId, required int pos}); +

    详情 -

    成功设置后,本地音效文件会在指定位置开始播放。

    - 该方法需要在 playEffect 后调用。
    +

    + 该方法需要在 playEffect 后调用。 请在调用 方法之后使用此方法。 + 请在调用 方法之后调用该方法。 + 请在调用 方法后调用此方法。 +
    参数 soundId - - + + 音效 ID。 + 音效 ID。每个音效文件的 ID 是唯一的。 + pos - 音效文件的播放位置,单位为毫秒。 + 音效文件的播放位置,单位为毫秒。 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita b/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita index b9e2d7b4199..897a670e273 100644 --- a/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita @@ -1,36 +1,34 @@ - + - <ph keyref="setEffectsVolume" /> - 设置音效文件的播放音量。 + <ph keyref="setEffectsVolume"/> + 设置音效播放的音量。 - +

    - public abstract int setEffectsVolume(double volume); - - - - (int)setEffectsVolume:(NSInteger)volume; - + public abstract int setEffectsVolume(double volume); + + - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:)); virtual int setEffectsVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetEffectsVolume(int volume); abstract setEffectsVolume(volume: number): number; public abstract int SetEffectsVolume(int volume); abstract setEffectsVolume(volume: number): number; Future<void> setEffectsVolume(int volume); -

    +

    调用时机 -

    该方法需要在 后调用。

    +

    在调用 方法之后调用。

    调用限制 @@ -41,15 +39,23 @@ volume - 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    -
    + 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 + 播放音量。取值范围为 [0, 100],默认值为 100,表示原始音量。 + 播放音量。取值范围为 [0, 100],默认值为 100(默认),表示原始音量。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita b/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita index a271c08ab77..6117509a3ca 100644 --- a/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setEnableSpeakerphone" /> - 开启或关闭扬声器播放。 + <ph keyref="setEnableSpeakerphone"/> + 启用或关闭音频路由至扬声器。 - + @@ -14,26 +14,39 @@

    public abstract int setEnableSpeakerphone(boolean enabled); - + - (int)setEnableSpeakerphone:(BOOL)enableSpeaker; virtual int setEnableSpeakerphone(bool speakerOn) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetEnableSpeakerphone(bool speakerOn); abstract setEnableSpeakerphone(speakerOn: boolean): number; public abstract int SetEnableSpeakerphone(bool speakerOn); abstract setEnableSpeakerphone(speakerOn: boolean): number; Future<void> setEnableSpeakerphone(bool speakerOn);

    -

    不同场景下 SDK 默认的音频路由见

    - 该方法仅适用于 Android 和 iOS 平台。 -
    +

    如果 SDK 的默认音频路由或通过 设置的路由不符合你的需求,你可以调用该方法切换当前频道内的音频路由。

    + 该方法仅适用于 Android 和 iOS 平台。 +
      +
    • 该方法仅设置当前频道内的音频路由,不影响默认音频路由。如果用户离开当前频道并加入另一个频道,将使用默认音频路由。
    • +
    • 如果用户使用了外部音频播放设备(如蓝牙或有线耳机),该方法不生效,SDK 会通过外部设备播放音频。当用户连接多个外部设备时,SDK 会通过最后连接的设备播放音频。
    • +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    +
    + 该方法仅设置当前频道中的音频路由,不影响默认音频路由。如果你离开当前频道并加入另一个频道,将使用默认音频路由。 +如果你使用了蓝牙或有线耳机等外部音频播放设备,该方法不生效,SDK 会通过外部设备播放音频。当你连接多个外部设备时,SDK 会通过最后连接的设备播放音频。 +
      +
    • 该方法仅设置当前频道中的音频路由,不影响默认音频路由。用户离开当前频道并加入其他频道时,将使用默认音频路由。
    • +
    • 如果用户使用了蓝牙或有线耳机等外部音频播放设备,该方法不生效,SDK 会通过外部设备播放音频。当用户连接多个外部设备时,SDK 会通过最后连接的设备播放音频。
    • +
    +
    +
    适用场景 -

    如果 SDK 默认的音频路由或 的设置无法满足你的需求,你可以调用该方法切换当前的音频路由。

    +

    如果 SDK 默认的音频路由或 的设置无法满足你的需求,你可以调用该方法切换当前的音频路由。

    调用时机 -

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

    +

    加入频道后调用该方法。

    调用限制 @@ -44,31 +57,46 @@
    参数 enabled - enableSpeaker - speakerOn + enableSpeaker + speakerOn

    设置是否开启扬声器播放:

      -
    • : 开启。音频路由为扬声器。
    • -
    • : 关闭。音频路由为听筒。
    • +
    • : 开启。音频路由为扬声器。
    • +
    • : 关闭。音频路由为听筒。

    -
    -
    + + enableSpeakerphone + 设置是否启用扬声器或听筒: +
      +
    • :启用设备状态监测,音频路由为扬声器。
    • +
    • :关闭设备状态监测,音频路由为听筒。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita b/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita index cf278c9a910..521e394e141 100644 --- a/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setExtensionProperty" /> - 设置插件的属性。 + <ph keyref="setExtensionProperty"/> + 设置扩展属性。 - + @@ -16,14 +16,13 @@ public abstract int setExtensionProperty( 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; - - virtual int setExtensionProperty( - const char* provider, const char* extension, - const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider + extension:(NSString * _Nonnull)extension + key:(NSString * _Nonnull)key + value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:)); + virtual int setExtensionProperty(const char* provider, const char* extension, const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetExtensionProperty(const FString& provider, const FString& extension, const FString& key, const FString& value, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); abstract setExtensionProperty( provider: string, @@ -46,53 +45,69 @@ required String key, required String value, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    -

    开启插件后,你可以调用该方法设置插件的属性。

    -
    +

    + 如果你需要为多个扩展设置属性,需要多次调用该方法。 +
    调用时机 -

    请在调用 开启插件后调用该方法。

    +

    在调用 方法之后调用。

    调用限制 -

    如果要设置多个插件的属性,需要多次调用该方法。

    +

    无。

    参数 provider - 提供插件的服务商名称。 - + 提供插件的服务商名称。 + 扩展提供方的名称。 + extension - 插件的名称。 - + 插件的名称。 + 扩展的名称。 + key - 插件属性的 Key。 - + 插件属性的 Key。 + 扩展属性的键。 + 扩展属性的键名。 + value - 插件属性 Key 对应的值。 - + 插件属性 Key 对应的值。 + 扩展属性键对应的值。 + - - + + + + + type + 扩展的来源类型,详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita b/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita index 6814e7f83fc..a03d39cea61 100644 --- a/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita @@ -1,27 +1,25 @@ - + - <ph keyref="setExtensionProviderProperty" /> - 设置插件服务商的属性。 + <ph keyref="setExtensionProviderProperty"/> + 设置扩展插件提供方的属性。 - +

    - public abstract int setExtensionProviderProperty(String provider, String key, String 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; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + public abstract int setExtensionProviderProperty(String provider, String key, String value); + + - (int)setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider + key:(NSString * _Nonnull)key + value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:)); + virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetExtensionProviderProperty(const FString& provider, const FString& key, const FString& value); abstract setExtensionProviderProperty( provider: string, @@ -36,41 +34,67 @@ ): number; Future<void> setExtensionProviderProperty( {required String provider, required String key, required String value}); -

    +

    -

    你可以调用该方法设置插件服务商的属性,并根据服务商的类型初始化相关参数。

    -
    +

    调用该方法可设置扩展插件提供方的属性,并根据提供方的类型初始化相关参数。

    + 如果你需要为多个扩展插件设置扩展插件提供方的属性,需要多次调用该方法。 + 如果你想为多个扩展设置扩展提供方的属性,需要多次调用此方法。 + 如果你需要为多个扩展设置扩展提供方的属性,需要多次调用此方法。 +
    调用时机 -

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

    +

    在调用 之前, 之后调用此方法。

    调用限制 -

    如果要设置多个插件服务商的属性,需要多次调用该方法。

    +

    无。

    参数 - - + + - - + + - - + + + + + provider + 扩展提供方的名称。 + 扩展插件提供方的名称。 + + + key + 扩展属性的键名。 + 扩展的键名。 + 扩展插件的键名。 + + + value + 扩展属性键对应的值。 + 扩展键的值。 + 扩展插件键名对应的值。 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita b/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita index 06521ce2cf5..76f821d736e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setfiltereffectoptions.dita @@ -1,8 +1,8 @@ - + <ph keyref="setFilterEffectOptions"/> - 设置滤镜效果选项并指定媒体源。 + 设置滤镜特效选项,并指定应用的媒体源类型。 @@ -31,7 +31,7 @@ options: FilterEffectOptions, type?: MediaSourceType ): number;
    - Future<void> setFilterEffectOptions( + Future<void> setFilterEffectOptions( {required bool enabled, required FilterEffectOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource});

    @@ -39,15 +39,18 @@
    -
    自从
    -
    v4.5.0
    +
    自从:
    +
    自 v4.4.1 版本新增。
    -

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

    -
    +

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

    + 该方法依赖图像增强动态库 。如果该动态库被删除,则无法正常启用该功能。 +该功能对设备性能要求较高。调用该方法时,SDK 会自动检测当前设备的性能能力。 + 该方法依赖图像增强动态库 (iOS)或 +
    调用时机 -

    请在 之后调用该方法。

    +

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

    调用限制 @@ -61,36 +64,61 @@ 参数 - enabled - enable - 是否开启滤镜效果: + enabled + enable + 是否开启滤镜效果:
    • : 开启滤镜功能。
    • :(默认)关闭滤镜功能。
    -
    + 是否启用滤镜特效: +
      +
    • :启用。
    • +
    • :(默认)不启用。
    • +
    +
    + options - 滤镜选项,详见 - + 滤镜选项,详见 + 滤镜特效选项。详见 + - type + type sourceType - 效果应用的媒体源类型。详见 。 + 效果应用的媒体源类型。详见 在该方法中,该参数仅支持以下两种设置:
    • 使用摄像头采集本地视频时,请保持默认值
    • 如果要使用自定义采集的视频,将该参数设置为
    -
    -
    -
    + 应用滤镜特效的视频源类型。详见 。 +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,设置为
    • +
    +
    + 滤镜特效应用的媒体源类型。详见 。 +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,设置为
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
    + +

    +

    + diff --git a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita index b2ebf88b748..92ceb7b3f6f 100644 --- a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita @@ -1,4 +1,4 @@ - + <ph keyref="setHeadphoneEQParameters"/> @@ -14,26 +14,20 @@

    public abstract int setHeadphoneEQParameters(int lowGain, int highGain); - - - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain; + + - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:)); virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetHeadphoneEQParameters(int lowGain, int highGain); abstract setHeadphoneEQParameters(lowGain: number, highGain: number): number; public abstract int SetHeadphoneEQParameters(int lowGain, int highGain); abstract setHeadphoneEQParameters(lowGain: number, highGain: number): number; - Future<void> setHeadphoneEQParameters( + Future<void> setHeadphoneEQParameters( {required int lowGain, required int highGain}); -

    +

    详情 -
    - -
    自从
    -
    v4.1.0
    -
    -

    在空间音频场景下,如果在调用 方法使用预设的耳机均衡效果后仍未达到预期,你可以通过调用该方法进一步调节耳机均衡效果。

    @@ -41,22 +35,36 @@ lowGain - 耳机均衡器的低频参数。取值范围为 [-10,10],取值越大,声音越低沉。 - + 耳机均衡器的低频参数。取值范围为 [-10,10],取值越大,声音越低沉。 + 耳机均衡器的低频参数,取值范围为 [-10, 10]。值越大,声音越浑厚。 + 耳机均衡器的低频参数。取值范围为 [-10, 10]。值越大,声音越深沉。 + 耳机均衡器的低频参数,取值范围为 [-10, 10]。值越大,声音越深沉。 + highGain - 耳机均衡器的高频参数。取值范围为 [-10,10],取值越大,声音越尖锐。 - -
    -
    + 耳机均衡器的高频参数。取值范围为 [-10,10],取值越大,声音越尖锐。 + 耳机均衡器的高频参数。取值范围为 [-10, 10]。值越大,声音越清晰。 + 耳机均衡器的高频参数,取值范围为 [-10, 10]。值越大,声音越清晰。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败
        • -1:一般性的错误(未明确归类)。
      • -
    + +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita index ac6403aafe7..7c3bdc85dc7 100644 --- a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita @@ -1,8 +1,8 @@ - + <ph keyref="setHeadphoneEQPreset"/> - 设置预设的耳机均衡效果。 + 设置预设的耳机均衡器效果。 @@ -14,25 +14,19 @@

    public abstract int setHeadphoneEQPreset(int preset); - - - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset; + + - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset NS_SWIFT_NAME(setHeadphoneEQPreset(_:)); virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetHeadphoneEQPreset(FENUMWRAP_HEADPHONE_EQUALIZER_PRESET preset); abstract setHeadphoneEQPreset(preset: HeadphoneEqualizerPreset): number; public abstract int SetHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset); abstract setHeadphoneEQPreset(preset: HeadphoneEqualizerPreset): number; - Future<void> setHeadphoneEQPreset(HeadphoneEqualizerPreset preset); -

    + Future<void> setHeadphoneEQPreset(HeadphoneEqualizerPreset preset); +

    详情 -
    - -
    自从
    -
    v4.0.1
    -
    -

    该方法主要应用于空间音频场景下,你可以选择预设的耳机均衡器收听音频,以达到预期的音频体验。

    如果你使用的耳机已经具备良好的均衡效果,调用该方法时可能不会获得明显的体验提升效果,甚至可能导致体验下降。
    @@ -40,25 +34,48 @@ preset - 预设的耳机均衡效果。详见 - 预设的耳机均衡效果: + 预设的耳机均衡效果。详见 + 预设的耳机均衡效果:
    • : 关闭耳机均衡器,收听原始音频。
    • : 使用头戴式耳机的均衡器。
    • : 使用入耳式耳机的均衡器。
    -
    -
    -
    + 预设的耳机均衡器效果: +
      +
    • :关闭耳机均衡器,听到原始音频。
    • +
    • :为头戴式耳机使用均衡器。
    • +
    • :为入耳式耳机使用均衡器。
    • +
    +
    + 预设的耳机均衡器效果。详见 + 预设的耳机均衡器效果,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败
        • -1:一般性的错误(未明确归类)。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无明确原因)。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita b/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita index e2b8121523b..41802425eae 100644 --- a/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setInEarMonitoringVolume" /> + <ph keyref="setInEarMonitoringVolume"/> 设置耳返音量。 - + @@ -15,22 +15,22 @@

    public abstract int setInEarMonitoringVolume(int volume); public abstract setInEarMonitoringVolume(volume: number): number; - - (int)setInEarMonitoringVolume:(NSInteger)volume; + - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:)); virtual int setInEarMonitoringVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetInEarMonitoringVolume(int volume); abstract setInEarMonitoringVolume(volume: number): number; public abstract int SetInEarMonitoringVolume(int volume); abstract setInEarMonitoringVolume(volume: number): number; Future<void> setInEarMonitoringVolume(int volume); -

    +

    -

    -

    +

    +
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -40,19 +40,38 @@ 参数 - - + + -
    -
    + + volume + 用户的音量,取值范围为 [0, 400]。 +
      +
    • 0:静音。
    • +
    • 100:(默认)原始音量。
    • +
    • 400:原始音量的四倍(将音频信号放大四倍)。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
          -
        • -2: 参数设置无效,例如耳返音量超出取值范围 (< 0 或 > 400)。
        • +
        • -2: 参数设置无效,例如耳返音量超出取值范围 (< 0 或 > 400)。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数设置无效,例如耳返音量超出有效范围(小于 0 或大于 400)。
      • +
      +
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita index f8abf9e020f..f224b64f574 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalrendertargetfps.dita @@ -1,4 +1,4 @@ - + <ph keyref="setLocalRenderTargetFps"/> @@ -13,8 +13,7 @@

    - (int)setLocalRenderTargetFps:(AgoraVideoSourceType)sourceType -targetFps:(int)targetFps; + public abstract int setLocalRenderTargetFps(Constants.VideoSourceType sourceType, int targetFps); public abstract int setLocalRenderTargetFps(Constants.VideoSourceType sourceType, int targetFps); virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0; @@ -29,16 +28,10 @@ targetFps:(int)targetFps; sourceType: VideoSourceType, targetFps: number ): number; - Future<void> setLocalRenderTargetFps( + Future<void> setLocalRenderTargetFps( {required VideoSourceType sourceType, required int targetFps});

    -
    - -
    自从
    -
    v4.5.0
    -
    -

    @@ -47,7 +40,7 @@ targetFps:(int)targetFps;
    调用时机 -

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

    +

    你可以在加入频道前或加入频道后调用该方法。

    调用限制 @@ -62,16 +55,29 @@ targetFps:(int)targetFps; targetFps - 最大渲染帧率 (fps)。支持的参数值为:1、7、10、15、24、30、60。 + 最大渲染帧率 (fps)。支持的参数值为:1、7、10、15、24、30、60。 请将此参数设置为低于视频实际帧率的渲染帧率,否则设置将不会生效。 + 本地视频的采集帧率(fps)。支持的值包括:1、7、10、15、24、30、60。将该参数设置为低于实际视频帧率的值,否则设置无效。 + 本地视频的采集帧率(fps)。支持的值包括:1、7、10、15、24、30、60。该参数应设置为低于实际视频帧率的值,否则设置不生效。 -
    -
    + + sourceType + 视频源类型。详见 + 视频源类型,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita index 855f86a0fbc..4b05d5dccff 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setLocalVideoMirrorMode" /> + <ph keyref="setLocalVideoMirrorMode"/> 设置本地视频镜像。 - + @@ -14,16 +14,16 @@

    public abstract int setLocalVideoMirrorMode(int mode); - + - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetLocalVideoMirrorMode(EVIDEO_MIRROR_MODE_TYPE mirrorMode); abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number; public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number; Future<void> setLocalVideoMirrorMode(VideoMirrorModeType mirrorMode); -

    +

    详情 @@ -31,8 +31,8 @@
    弃用:
    该方法已废弃。
    -
    请改用
    -
    请改用
    +
    请改用
    +
    请改用
    @@ -43,10 +43,10 @@ mode mirrorMode -

    本地视频镜像模式。详见

    +

    本地视频镜像模式。详见

    本地视频镜像模式:

      -
    • +

    @@ -60,4 +60,4 @@
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita index 1713a45ef68..8560d8ed6ed 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita @@ -1,44 +1,34 @@ - + - <ph keyref="setLocalVoiceEqualization" /> - 设置本地语音音效均衡。 + <ph keyref="setLocalVoiceEqualization"/> + 设置本地语音的均衡效果。 - +

    - public abstract int setLocalVoiceEqualization( - Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency - withGain:(NSInteger)gain; + public abstract int setLocalVoiceEqualization(Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); + + - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:)); virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLocalVoiceEqualization(EAUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - abstract setLocalVoiceEqualization( - bandFrequency: AudioEqualizationBandFrequency, - bandGain: number - ): number; - public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - abstract setLocalVoiceEqualization( - bandFrequency: AudioEqualizationBandFrequency, - bandGain: number - ): number; - Future<void> setLocalVoiceEqualization( - {required AudioEqualizationBandFrequency bandFrequency, - required int bandGain}); -

    + + + + +

    +
    +
    +

    -
    调用时机 -

    加入频道前后均可调用。

    +

    你可以在加入频道前或加入频道后调用该方法。

    调用限制 @@ -47,22 +37,34 @@
    参数 - - bandFrequency - 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 + + bandFrequency + 频段索引,取值范围为 0 到 9,分别对应语音效果的 10 个中心频率段,包括 31、62、125、250、500、1k、2k、4k、8k 和 16k Hz。详见 + 频段索引,详见 。取值范围为 0 到 9,分别对应语音效果的 10 个中心频率段,包括 31、62、125、250、500、1k、2k、4k、8k 和 16k Hz。 + 频段索引,取值范围为 0 到 9,分别对应语音效果的 10 个中心频率:31、62、125、250、500、1k、2k、4k、8k 和 16k Hz。详见 + + + bandGain + 每个频段的增益值,单位为 dB,取值范围为 -15 到 15,默认值为 0。 + 每个频段的增益值,单位为 dB。取值范围为 -15 到 15,默认值为 0。 - - bandGain - gain - 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 + + gain + 每个频段的增益值,单位为 dB。取值范围为 -15 到 15,默认值为 0。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita index 7b8ce0f6e6b..08233cd71c2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita @@ -1,8 +1,8 @@ - + <ph keyref="setLocalVoiceFormant"/> - 设置共振峰比率以改变语音的音色。 + 设置共振峰比例以改变人声音色。 @@ -13,34 +13,22 @@

    - public abstract int setLocalVoiceFormant(double formantRatio); - - + public abstract int setLocalVoiceFormant(double formantRatio); + - (int)setLocalVoiceFormant:(double)formantRatio; virtual int setLocalVoiceFormant(double formantRatio) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLocalVoiceFormant(const FString & formantRatio = "0.0"); - abstract setLocalVoiceFormant(formantRatio: number): number; - public abstract int SetLocalVoiceFormant(double formantRatio); - abstract setLocalVoiceFormant(formantRatio: number): number; - Future<void> setLocalVoiceFormant(double formantRatio);

    + + + + +

    -
    - -
    自从
    -
    v4.2.0
    -
    -
    -

    共振峰比率是影响声音音色的一个参数,共振峰比率取值越小声音会更低沉,取值越大声音会更尖锐。设置共振峰比率后,频道内所有用户都能听到该效果。如果你想要在调整音色的同时改变音调,声网推荐你搭配 一起使用。

    -
    -
    - 适用场景 -

    在语音直播、语聊房、K 歌房等场景中,你可以调用该方法设置本地语音的共振峰比率参数从而改变音色效果。

    +

    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -49,18 +37,25 @@
    参数 - - formantRatio - 共振峰比率,取值范围为 [-1.0,1.0]。默认值为 0.0,即不改变原声的音色。 - 声网推荐的取值范围为 [-0.4,0.6] ,超出此范围外音效听感可能不佳。 + + formantRatio + 共振峰比率。取值范围为 [-1.0, 1.0]。默认值为 0.0,表示不改变人声的音色。建议将该值设置在 [-0.4, 0.6] 范围内,否则人声可能会严重失真。 + 共振峰比率。取值范围为 [-1.0, 1.0]。默认值为 0.0,表示不改变语音的音色。声网建议将该值设置在 [-0.4, 0.6] 范围内,否则声音可能会严重失真。 + 共振峰比率。取值范围为 [-1.0, 1.0]。默认值为 0.0,表示不改变声音的音色。建议将该值设置在 [-0.4, 0.6] 范围内,否则声音可能会严重失真。
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita index 863887b1939..ec2f1897b73 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setLocalVoicePitch" /> - 设置本地语音音调。 + <ph keyref="setLocalVoicePitch"/> + 修改本地语音的音调。 - + @@ -14,21 +14,21 @@

    public abstract int setLocalVoicePitch(double pitch); - - - (int)setLocalVoicePitch:(double)pitch; + + - (int)setLocalVoicePitch:(double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:)); virtual int setLocalVoicePitch(double pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLocalVoicePitch(float pitch); - abstract setLocalVoicePitch(pitch: number): number; - public abstract int SetLocalVoicePitch(double pitch); - abstract setLocalVoicePitch(pitch: number): number; - Future<void> setLocalVoicePitch(double pitch); -

    + + + + +

    +
    +
    +

    -
    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 @@ -37,17 +37,25 @@
    参数 - - pitch - 语音频率。可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 + + pitch + 本地语音的音调。取值范围为 [0.5, 2.0],值越小,音调越低。默认值为 1.0 表示不改变音调。 + 本地语音的音调。取值范围为 [0.5, 2.0],值越小,音调越低。默认值为 1.0(默认)。 + 本地语音的音调。取值范围为 [0.5, 2.0],值越小音调越低。(默认值为 1.0,表示不改变音调。)
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita index 776a8b9a607..f310616bc66 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setLocalVoiceReverb" /> - 设置本地音效混响。 + <ph keyref="setLocalVoiceReverb"/> + 设置本地语音的混响效果。 - + @@ -14,47 +14,49 @@

    public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); - - - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; + + - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:)); virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetLocalVoiceReverb(EAUDIO_REVERB_TYPE reverbKey, int value); - abstract setLocalVoiceReverb( - reverbKey: AudioReverbType, - value: number - ): number; - public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); - abstract setLocalVoiceReverb( - reverbKey: AudioReverbType, - value: number - ): number; - Future<void> setLocalVoiceReverb( - {required AudioReverbType reverbKey, required int value}); -

    + + + + +

    -
    - 详情 -

    SDK 提供一个使用更为简便的方法 ,直接实现流行、R&B、KTV 等预置的混响效果。

    - 该方法在加入频道前后都能调用。
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - reverbKey - reverbType - 混响音效 Key。该方法共有 5 个混响音效 Key,详见 - - - value - 各混响音效 Key 所对应的值。 + + reverbKey + reverbType + 混响键。详见 + 混响键,详见 + + + value + 混响键对应的取值。 + 混响键的取值。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita index a0b34f51b37..caf345366be 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setLowlightEnhanceOptions" /> + <ph keyref="setLowlightEnhanceOptions"/> 设置暗光增强功能。 - + @@ -15,9 +15,8 @@

    public abstract int setLowlightEnhanceOptions(boolean enabled, LowLightEnhanceOptions options); - - - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:)); - + + - (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); @@ -32,22 +31,52 @@ options: LowlightEnhanceOptions, type?: MediaSourceType ): number; - Future<void> setLowlightEnhanceOptions( + Future<void> setLowlightEnhanceOptions( {required bool enabled, required LowlightEnhanceOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    -

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

    -
    +
    + +
    自从:
    +
    自 v4.0.0 版本新增。
    +
    +
    +

    你可以调用该方法启用暗光增强功能,并设置暗光增强效果的选项。 + +适用场景:暗光增强功能可在逆光、多云或黑暗等低光或光线不均的场景下,自适应调整视频亮度,恢复或突出图像细节,提升整体视觉效果。 + +调用时机:请在调用 后调用该方法。

    +
      +
    • 该方法依赖图像增强动态库 。如果该动态库被删除,将无法正常启用该功能。
    • +
    • 暗光增强功能对设备性能有一定要求。如果启用该功能后设备出现过热,声网建议将暗光增强选项设置为较低的性能消耗等级,或关闭该功能。
    • +
    • 如果你希望在使用暗光增强功能时优先保证画质(),需要先调用 实现视频降噪,具体对应关系如下:
        +
      • 当暗光增强设置为自动模式()时,视频降噪需设置为优先保证画质()和自动模式()。
      • +
      • 当暗光增强设置为手动模式()时,视频降噪需设置为优先保证画质()和手动模式()。
      • +
      +
    • +
    +
    +
      +
    • 本方法依赖图像增强动态库 (iOS)或
    • +
    • 暗光增强对设备性能有一定要求。如果启用暗光增强后设备出现过热,声网建议你将暗光增强选项设置为较低的性能消耗等级,或关闭暗光增强功能。
    • +
    • 如果你希望在使用暗光增强功能时优先保证画质(),需要先调用 实现视频降噪,具体对应关系如下:
        +
      • 当暗光增强设置为自动模式()时,视频降噪需设置为优先保证画质()和自动模式()。
      • +
      • 当暗光增强设置为手动模式()时,视频降噪需设置为优先保证画质()和手动模式()。
      • +
      +
    • +
    +
    +
    适用场景

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

    调用时机 -

    请在 后调用该方法。

    +

    请在调用 后调用该方法。

    调用限制 @@ -56,8 +85,8 @@
  • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,建议你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
  • 如果要实现优先画质 () 的暗光增强,需要先调用 实现视频降噪,具体对应关系如下:
      -
    • 暗光增强为自动模式 () 时,视频降噪需设置为优先画质 ()、自动模式 ()。
    • -
    • 暗光增强为手动模式 () 时,视频降噪需设置为优先画质 ()、手动模式 ()。
    • +
    • 暗光增强为自动模式 () 时,视频降噪需设置为优先画质 ()、自动模式 ()。
    • +
    • 暗光增强为手动模式 () 时,视频降噪需设置为优先画质 ()、手动模式 ()。
  • @@ -66,34 +95,60 @@ 参数 - enabled - enable - 是否开启暗光增强功能: + enabled + enable + 是否开启暗光增强功能:
      -
    • : 开启暗光增强功能。
    • -
    • :(默认)关闭暗光增强功能。
    • +
    • : 开启暗光增强功能。
    • +
    • :(默认)关闭暗光增强功能。
    -
    + 是否开启暗光增强功能: +
      +
    • :开启暗光增强功能。
    • +
    • :(默认)关闭暗光增强功能。
    • +
    +
    + 是否启用暗光增强功能: +
      +
    • :启用暗光增强。
    • +
    • :(默认)关闭暗光增强。
    • +
    +
    + options - 暗光增强选项,用于设置暗光增强的效果。详见 - - - type - 效果应用的媒体源类型。详见 。 + 暗光增强选项,用于设置暗光增强的效果。详见 + 暗光增强功能的选项。详见 + 暗光增强选项,详见 + + + type + 效果应用的媒体源类型。详见 在该方法中,该参数仅支持以下两种设置:
    • 使用摄像头采集本地视频时,请保持默认值
    • 如果要使用自定义采集的视频,将该参数设置为
    + 要应用滤镜效果的媒体源类型,详见 。该参数仅支持以下两种设置: +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,请将该参数设置为
    • +
    +
    -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita index 2bec26b84c2..d53e516ce88 100644 --- a/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setMixedAudioFrameParameters" /> - 设置采集和播放音频混音后的原始音频数据格式。 + <ph keyref="setMixedAudioFrameParameters"/> + 设置混音后用于音频采集和播放的原始音频数据格式。 - + @@ -17,9 +17,9 @@ public abstract setMixedAudioFrameParameters(sampleRate: number, channel: number, samplesPerCall: number): number; - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel - samplesPerCall:(NSInteger)samplesPerCall; + samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:)); virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); abstract setMixedAudioFrameParameters( sampleRate: number, @@ -36,14 +36,14 @@ {required int sampleRate, required int channel, required int samplesPerCall}); -

    +

    -

    SDK 会根据该采样间隔触发 回调。

    -
    +

    SDK 会根据 samplesPerCallsampleRatechannel 参数计算采样间隔。采样间隔(单位:秒) = samplesPerCall / (sampleRate × channel)。请确保采样间隔 ≥ 0.01 秒。SDK 会根据采样间隔触发 回调。SDK 会根据该采样间隔触发 回调。

    +
    调用时机 -

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

    +

    请在加入频道前调用此方法。

    调用限制 @@ -64,13 +64,59 @@ -
    -
    + + sampleRate + 回调中返回的采样率,单位为 Hz。可设置为: +
      +
    • 8000。
    • +
    • 16000。
    • +
    • 32000。
    • +
    • 44100。
    • +
    • 48000。
    • +
    +
    + 回调中返回的采样率,单位为 Hz。可设置为 8000、16000、32000、44100 或 48000。 +
    + + channel + 音频声道数,可设置为: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + 音频通道数,可设置为 1 或 2。 +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + 音频通道数,可设置为: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    +
    + + samplesPerCall + 每次回调返回的数据采样点数量,例如媒体推流场景中为 1024。 + 每次回调的数据采样点数。例如,媒体推流时通常设置为 1024。 + 每次回调返回的数据采样点数量。例如,媒体推流时通常设置为 1024。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setparameters.dita b/dita/RTC-NG/API/api_irtcengine_setparameters.dita index d09551b63a3..ae18af31e39 100644 --- a/dita/RTC-NG/API/api_irtcengine_setparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setparameters.dita @@ -1,8 +1,8 @@ - + <ph keyref="setParameters"/> - SDK 的 JSON 配置信息,用于提供技术预览或特别定制功能。 + 通过配置 JSON 选项为 SDK 提供技术预览功能或特殊定制。 @@ -14,48 +14,44 @@

    public abstract int setParameters(String parameters); - public abstract setParameters(parameters: string): number; + - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:)); - virtual int setParameters(const char* parameters) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetParameters(const FString& parameters); - abstract setParameters(parameters: string): number; - public abstract int SetParameters(string key, object value); - abstract setParameters(parameters: string): number; - Future<void> setParameters(String parameters);

    + + + + + +

    -
    -
    - -
    自从
    -
    v4.1.0
    -
    -
    -

    获取 JSON 配置方式。

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - parameters - options - JSON 字符串形式的参数。 - - - key - key 值。 - - - value - value 值。 + + options + parameters + 以 JSON 字符串格式设置的参数指针。 + 以 JSON 字符串格式设置的参数,用于配置 SDK 的技术预览功能或特殊定制功能。
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita index 477792d6472..9824c4bcd87 100644 --- a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita @@ -1,30 +1,26 @@ - + - <ph keyref="setPlaybackAudioFrameParameters" /> - 设置播放的原始音频数据格式。 + <ph keyref="setPlaybackAudioFrameParameters"/> + 设置原始音频播放数据的格式。 - +

    - public abstract int setPlaybackAudioFrameParameters( - int sampleRate, int channel, int mode, int samplesPerCall); + public abstract int setPlaybackAudioFrameParameters(int sampleRate, int channel, int mode, int samplesPerCall); public abstract setPlaybackAudioFrameParameters(sampleRate: number, channel: number, mode: number, samplesPerCall: number): number; - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode - samplesPerCall:(NSInteger)samplesPerCall; - virtual int setPlaybackAudioFrameParameters(int sampleRate, - int channel, - RAW_AUDIO_FRAME_OP_MODE_TYPE mode, - int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:)); + virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetPlaybackAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); abstract setPlaybackAudioFrameParameters( sampleRate: number, @@ -45,14 +41,15 @@ required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    -

    SDK 会根据该采样间隔触发 回调。

    -
    +

    SDK 会根据 samplesPerCallsampleRatechannel 参数计算采样间隔。采样间隔(单位:秒) = samplesPerCall / (sampleRate × channel)。请确保采样间隔 ≥ 0.01 秒。SDK 会根据采样间隔触发 回调。SDK 会根据该采样间隔触发 回调。

    + 请在加入频道前调用该方法。 +
    调用时机 -

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

    +

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

    调用限制 @@ -77,13 +74,60 @@ -
    -
    + + sampleRate + 回调中返回的采样率,单位为 Hz。可设置为 8000、16000、32000、44100 或 48000。 + + + channel + 音频声道数。可设置为: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + 音频声道数,可设置为 1 或 2。 +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + 音频声道数,可设置为: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    +
    + + mode + 音频帧的使用模式: +
      +
    • (0):(默认)只读模式。例如,你通过声网 SDK 获取数据后推送 RTMP 或 RTMPS 流。
    • +
    • (2):读写模式。你可以从 中读取数据并进行修改后播放。例如,你有自己的音效处理模块并进行语音预处理,如变声。
    • +
    +
    + 音频帧的使用模式,详见 +
    + + samplesPerCall + 每次回调返回的数据采样数。例如,在媒体推流场景中设置为 1024。 + 每次回调返回的数据采样数,例如媒体推流时为 1024。 + 每次回调的数据采样点数量。例如,媒体推流时通常设置为 1024。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita index 234b1161f7e..1036c2fcc17 100644 --- a/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita @@ -1,30 +1,26 @@ - + - <ph keyref="setRecordingAudioFrameParameters" /> - 设置采集的原始音频数据格式。 + <ph keyref="setRecordingAudioFrameParameters"/> + 设置采集原始音频数据的格式。 - +

    - public abstract int setRecordingAudioFrameParameters( - int sampleRate, int channel, int mode, int samplesPerCall); + public abstract int setRecordingAudioFrameParameters(int sampleRate, int channel, int mode, int samplesPerCall); public abstract setRecordingAudioFrameParameters(sampleRate: number, channel: number, mode: number, samplesPerCall: number): number; - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate - channel:(NSInteger)channel - mode:(AgoraAudioRawFrameOperationMode)mode - samplesPerCall:(NSInteger)samplesPerCall; - virtual int setRecordingAudioFrameParameters(int sampleRate, - int channel, - RAW_AUDIO_FRAME_OP_MODE_TYPE mode, - int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + channel:(NSInteger)channel + mode:(AgoraAudioRawFrameOperationMode)mode + samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:)); + virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetRecordingAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); abstract setRecordingAudioFrameParameters( sampleRate: number, @@ -44,14 +40,15 @@ required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    -

    SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。

    -
    +

    会根据 samplesPerCallsampleRatechannel 参数计算采样间隔。采样间隔(单位:秒) = samplesPerCall / (sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据采样间隔触发 回调。SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。

    + 请在加入频道前调用该方法。 +
    调用时机 -

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

    +

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

    调用限制 @@ -62,36 +59,73 @@ sampleRate - 音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。 - + 音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。 + 回调中返回的采样率,单位为 Hz。可设置为 8000、16000、32000、44100 或 48000。 + 回调中返回的音频数据的采样率(Hz)。可设置为 8000、16000、32000、44100 或 48000。 + channel - + 音频数据的声道数,可设置为 1 或 2:
    • 1: 单声道。
    • 2: 双声道。
    -
    + 音频声道数,可设置为: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + 音频声道数,可设置为 1 或 2。 +
      +
    • 1:单声道。
    • +
    • 2:双声道。
    • +
    +
    + 音频数据的声道数,可设置为: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + mode - -

    音频帧的使用模式,详见

    -

    + +

    音频帧的使用模式,详见

    +

    - + 音频帧的使用模式: +

      +
    • 0:(默认)只读模式。例如,用户通过声网 SDK 获取数据后推送 RTMP 或 RTMPS 流。
    • +
    • 2:读写模式。用户从 中读取数据并进行修改后播放。例如,用户有自己的音效处理模块并进行语音预处理,如变声。
    • +
    +
    + 音频帧的使用模式,详见 + 音频帧的使用模式。详见 +
    samplesPerCall - 音频数据的采样点数,如旁路推流应用中通常为 1024。 - -
    -
    + 音频数据的采样点数,如旁路推流应用中通常为 1024。 + 每次回调返回的数据采样数,例如媒体推流场景中为 1024。 + 每次回调的数据采样数,例如媒体推流时为 1024。 + 每次回调返回的采样点数量。例如媒体推流时通常设置为 1024。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype3.dita b/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype3.dita new file mode 100644 index 00000000000..f6b294c2cdb --- /dev/null +++ b/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype3.dita @@ -0,0 +1,60 @@ + + + + <ph keyref="setRemoteDefaultVideoStreamType3"/> + 设置默认订阅的视频流类型。 + + + + + + + + +
    +

    + + + - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:)); + virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0; + + + + +

    +
    +
    +

    +

    +
    + 调用时机 +

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

    +
    +
    + 调用限制 +

    无。

    +
    +
    + 参数 + + + streamType + 默认订阅的视频流类型,详见 + 默认的视频流类型,详见 + +
    +
    + <ph keyref="return-section-title"/> +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita b/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita index fc6b677c86b..9e7f0506762 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoterendertargetfps.dita @@ -1,8 +1,8 @@ - + <ph keyref="setRemoteRenderTargetFps"/> - 设置视频在远端渲染的最大帧率。 + 设置远端视频渲染的最大帧率。 @@ -22,15 +22,9 @@ abstract setRemoteRenderTargetFps(targetFps: number): number; public abstract int SetRemoteRenderTargetFps(int targetFps); abstract setRemoteRenderTargetFps(targetFps: number): number; - Future<void> setRemoteRenderTargetFps(int targetFps);

    + Future<void> setRemoteRenderTargetFps(int targetFps);

    -
    - -
    自从
    -
    v4.5.0
    -
    -

    @@ -39,7 +33,7 @@
    调用时机 -

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

    +

    你可以在加入频道前或后调用该方法。

    调用限制 @@ -52,13 +46,32 @@ -
    -
    + + targetFps + 远端视频的最大渲染帧率(fps)。支持的取值包括:1、7、10、15、24、30、60。 +
      +
    • 请将该参数设置为低于实际视频帧率的值,否则设置不生效。
    • +
    +
    + 远端视频的最大渲染帧率(fps)。支持的取值包括:1、7、10、15、24、30、60。 +
      +
    • 注意:该参数值应低于实际视频帧率,否则设置不生效。
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption3.dita b/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption3.dita new file mode 100644 index 00000000000..b921a24b1fa --- /dev/null +++ b/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption3.dita @@ -0,0 +1,59 @@ + + + + <ph keyref="setRemoteSubscribeFallbackOption3"/> + 根据网络状况设置订阅端的视频流回退选项。 + + + + + + + + +
    +

    + + + - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:)); + virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + + + + +

    +
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    + +
    + 参数 + + + option + 订阅流的回退选项,详见 + +
    +
    + <ph keyref="return-section-title"/> +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita b/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita index 1825b71fbb3..5d10051f765 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setRemoteUserSpatialAudioParams" /> - 设置远端用户的空间音频参数。 + <ph keyref="setRemoteUserSpatialAudioParams"/> + 设置远端用户的空间音效参数。 - + @@ -14,48 +14,48 @@

    public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); - + - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid - params:(AgoraSpatialAudioParams* _Nonnull)params; + params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:)); virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetRemoteUserSpatialAudioParams(int64 uid, const FSpatialAudioParams& params); - abstract setRemoteUserSpatialAudioParams( - uid: number, - params: SpatialAudioParams - ): number; - public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); - abstract setRemoteUserSpatialAudioParams( - uid: number, - params: SpatialAudioParams - ): number; - Future<void> setRemoteUserSpatialAudioParams( - {required int uid, required SpatialAudioParams params}); -

    + + + + +

    -
    - 详情 -

    该方法需要在 后调用。成功设置远端用户的空间音频参数后,本地用户听远端用户会有空间感。

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - - - - - params - param - 空间音频参数。详见 + + uid + 远端用户 ID。该参数必须与用户加入频道时传入的用户 ID 相同。 + 用户 ID。该参数必须与用户加入频道时使用的用户 ID 相同。 + + params + 空间音效参数。详见 +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita index 33c3aa46988..2fffc1ef0ec 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita @@ -1,4 +1,4 @@ - + <ph keyref="setRemoteVideoSubscriptionOptions"/> @@ -14,11 +14,11 @@

    public abstract int setRemoteVideoSubscriptionOptions(int uid, VideoSubscriptionOptions options); - + - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid options:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideoSubscriptionOptions(_:options:)); virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetRemoteVideoSubscriptionOptions(int64 uid, const FVideoSubscriptionOptions& options); abstract setRemoteVideoSubscriptionOptions( uid: number, @@ -29,38 +29,53 @@ uid: number, options: VideoSubscriptionOptions ): number; - Future<void> setRemoteVideoSubscriptionOptions( + Future<void> setRemoteVideoSubscriptionOptions( {required int uid, required VideoSubscriptionOptions options});

    详情 -

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

      +

      当远端用户开启双流模式时,你可以调用该方法设置是否订阅该用户发送的视频流。SDK 默认的订阅行为取决于注册的视频观察器类型: +

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

      -

      有关详细的实现步骤,详见

      + 如果你想修改以上默认行为,或者想针对不同 uid 设置不同的订阅选项,可调用该方法设置。
        +
      • 如果注册了 观察器,默认订阅原始数据和编码数据;
      • +
      • 如果注册了 观察器,默认仅订阅编码数据;
      • +
      • 如果同时注册了上述两种观察器,默认行为以最后注册的观察器为准。例如,如果最后注册的是 ,则默认订阅原始数据和编码数据。 如果你希望修改默认行为,或为不同的用户 ID 设置不同的订阅选项,可以调用该方法进行设置。
      • +
      +

      +

      有关详细的实现步骤,详见

    参数 uid - 远端用户 ID。 - + 远端用户 ID。 + 远端用户的用户 ID。 + options - 视频流的订阅设置,详见 - -
    -
    + 视频流的订阅设置,详见 + 视频订阅选项,详见 + 视频订阅选项。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita b/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita index e9fe0306682..48abf3a59a5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setRemoteVoicePosition" /> - 设置远端用户声音的 2D 位置,即水平面位置。 + <ph keyref="setRemoteVoicePosition"/> + 设置远端用户语音在水平面上的位置和音量。 - + @@ -14,67 +14,65 @@

    public abstract int setRemoteVoicePosition(int uid, double pan, double gain); - - - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; + + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:)); virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetRemoteVoicePosition(int64 uid, float pan, float gain); - abstract setRemoteVoicePosition( - uid: number, - pan: number, - gain: number - ): number; - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - abstract setRemoteVoicePosition( - uid: number, - pan: number, - gain: number - ): number; - Future<void> setRemoteVoicePosition( - {required int uid, required double pan, required double gain}); -

    + + + + +

    -
    - 详情 -

    设置远端用户声音的 2D 位置和音量,方便本地用户听声辨位。

    -

    通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    - -
      -
    • 使用该方法需要在加入频道前调用 开启远端用户的语音立体声。
    • -
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - uid - 远端用户的 ID + + uid + 远端用户的用户 ID。 + 远端用户 ID。 - - pan - 设置远端用户声音的 2D 位置,取值范围为 [-1.0,1.0]: - - - - + + pan + 远端用户的语音位置。取值范围为 -1.0 到 1.0: +
      +
    • 0.0:(默认)远端语音来自正前方。
    • +
    • -1.0:远端语音来自左侧。
    • +
    • 1.0:远端语音来自右侧。
    • +
    +
    + 远端用户的语音位置,取值范围为 -1.0 到 1.0:
      -
    • (默认)0.0: 声音出现在正前方。
    • -
    • -1.0: 声音出现在左边。
    • -
    • 1.0: 声音出现在右边。
    • -
    +
  • 0.0:(默认)远端语音来自正前方。
  • +
  • -1.0:远端语音来自左侧。
  • +
  • 1.0:远端语音来自右侧。
  • + +
    - - gain - 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 + + gain + 远端用户的音量。取值范围为 0.0 到 100.0。默认值为 100.0(远端用户的原始音量)。值越小,音量越低。 + 远端用户的音量,取值范围为 0.0 到 100.0,默认值为 100.0(远端用户的原始音量)。数值越小,音量越低。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita b/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita index 463e1ed8ea4..ff0d86b83d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita @@ -1,8 +1,8 @@ - + <ph keyref="setRouteInCommunicationMode"/> - 选择通话音量模式下的音频路由。 + 在通信音频模式下设置音频播放路由。 @@ -14,59 +14,61 @@

    public abstract int setRouteInCommunicationMode(int route); - + virtual int setRouteInCommunicationMode(int route) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int SetRouteInCommunicationMode(int route); + - public abstract int SetRouteInCommunicationMode(int route); - abstract setRouteInCommunicationMode(route: number): number; - Future<void> setRouteInCommunicationMode(int route);

    + + +

    -
    - -
    自从
    -
    v4.2.2
    -
    -
    -

    该方法用于在通话音量模式()下,将音频路由从蓝牙耳机切换为听筒、有线耳机或扬声器。

    - 该方法仅适用于 Android。 +

    调用时机 -

    加入频道前后均可调用。

    +

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

    调用限制 -

    该方法与 同时使用时可能引起冲突。声网建议你单独使用

    +

    无。

    参数 - - route - 期望使用的音频路由: + + route + 你希望使用的音频播放路由:
      -
    • -1:系统默认的音频路由。
    • -
    • 0:带麦克风的耳机。
    • -
    • 1:听筒。
    • -
    • 2:不带麦克风的耳机。
    • -
    • 3:设备自带的扬声器。
    • -
    • 4:(暂不支持)外接的扬声器。
    • -
    • 5:蓝牙耳机。
    • -
    • 6:USB 设备。
    • -
    -
    +
  • -1:默认音频路由。
  • +
  • 0:带麦克风的耳机。
  • +
  • 1:听筒。
  • +
  • 2:不带麦克风的耳机。
  • +
  • 3:设备内置扬声器。
  • +
  • 4:(尚不支持)外部扬声器。
  • +
  • 5:蓝牙耳机。
  • +
  • 6:USB 设备。
  • + +
    -
    +
    <ph keyref="return-section-title"/> -

    无实际意义。

    +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita b/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita index 7c2a8bce4c3..ef7568093f9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita +++ b/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita @@ -1,52 +1,62 @@ - + - <ph keyref="setScreenCaptureContentHint" /> - 设置屏幕共享内容类型。 + <ph keyref="setScreenCaptureContentHint"/> + 设置屏幕共享的内容提示。 - +

    - - - - virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + + + virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetScreenCaptureContentHint(EVIDEO_CONTENT_HINT contentHint); abstract setScreenCaptureContentHint(contentHint: VideoContentHint): number; public abstract int SetScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint); abstract setScreenCaptureContentHint(contentHint: VideoContentHint): number; Future<void> setScreenCaptureContentHint(VideoContentHint contentHint); -

    +

    详情 -

    SDK 会根据不同的内容类型,使用不同的算法对共享效果进行优化。如果不调用该方法,SDK 会将屏幕共享的内容默认为 ,即无指定的内容类型。

    - 该方法在开始屏幕共享前后都能调用。 -
    +

    该方法用于设置屏幕共享的内容提示,以便 SDK 针对不同类型的内容应用不同的优化算法。如果你不调用该方法,默认内容提示为

    + 该方法在开始屏幕共享前后都能调用。 + 你可以在开始或停止屏幕共享前后调用此方法。 +
    参数 contentHint - 屏幕共享的内容类型。详见 - - + 屏幕共享的内容类型。详见 + 屏幕共享的内容提示,详见 + +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。 -
        +
      -
    - \ No newline at end of file +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。
      • +
      • -8:屏幕共享状态无效,可能是因为你已共享了其他屏幕或窗口。请尝试调用 停止当前共享,然后重新开始共享。
      • +
      +
    • +
    +

    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita b/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita index 130c5f877b9..da6022ad993 100644 --- a/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setScreenCaptureScenario" /> - 设置屏幕共享的场景。 + <ph keyref="setScreenCaptureScenario"/> + 设置屏幕共享场景。 - + @@ -14,40 +14,65 @@

    public abstract int setScreenCaptureScenario(Constants.ScreenScenarioType screenScenario); - - - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType - NS_SWIFT_NAME(setScreenCaptureScenario(_:)); - - virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + + - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:)); + virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetScreenCaptureScenario(ESCREEN_SCENARIO_TYPE screenScenario); abstract setScreenCaptureScenario(screenScenario: ScreenScenarioType): number; public abstract int SetScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario); abstract setScreenCaptureScenario(screenScenario: ScreenScenarioType): number; Future<void> setScreenCaptureScenario(ScreenScenarioType screenScenario); -

    +

    +
    + +
    自从:
    +
    自 v4.2.0 版本新增。
    +
    +
    详情 -

    开启屏幕共享或窗口共享时,你可以调用该方法设置屏幕共享的场景,SDK 会根据你设置的场景调整共享画面的画质。

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

    调用该方法设置屏幕共享场景。SDK 会根据设置的场景自动优化共享的视频质量和用户体验。

    + 声网建议你在加入频道前调用该方法。 + 声网建议你在加入频道前调用此方法。 + 建议在加入频道前调用此方法。 +
    参数 scenarioType - screenScenario - 屏幕共享的场景,详见 + screenScenario + 屏幕共享的场景,详见 -
    -
    + + screenScenario + 屏幕共享场景。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsimulcastconfig.dita b/dita/RTC-NG/API/api_irtcengine_setsimulcastconfig.dita index 4f4895c103f..1d80e5a8e9a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsimulcastconfig.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsimulcastconfig.dita @@ -2,7 +2,7 @@ <ph keyref="setSimulcastConfig"/> - 设置多质量层级视频流配置。 + 设置不同质量层级的视频流配置。 @@ -25,14 +25,12 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +
    -

    你可以调用该方法针对同一个视频源设置多路不同分辨率的视频流。 - -配置多质量层级视频流后,订阅端可以调用 选择接收对应层级的视频流。 +

    你可以调用该方法为同一个视频源设置不同分辨率的视频流。订阅端可以调用 选择接收的视频流层级。主播最多可以发布四路不同质量层级的视频流:一路主流(最高分辨率)和三路附加流。 选择接收对应层级的视频流。 该方法支持主播同时发送最多四个层级的视频流:一个主流(最高分辨率)和三个额外的不同质量层级的视频流。

    @@ -44,13 +42,17 @@ 参数 - simulcastConfig - simulcastConfig + simulcastConfig 不同质量层级的视频流配置。详见 多质量层级视频流的配置。该配置包含七个层级,从 ,最多可同时启用三个层级。详见 多质量层级视频流配置,包含从 的七个层级,最多可同时启用三个层级。详见 - + + simulcastConfig + 不同质量层级的视频流配置。详见 SimulcastConfig + 视频流分层配置,包含从 的七个层级,最多可同时启用三个层级。详见 SimulcastConfig + +
    <ph keyref="return-section-title"/>

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

    @@ -63,6 +65,6 @@
  • < 0:方法调用失败。
  • -
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita index a2ab61a4255..edbbb0b6943 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita @@ -1,8 +1,8 @@ - + <ph keyref="setSubscribeAudioAllowlist"/> - 设置音频订阅白名单。 + 设置音频流订阅白名单。 @@ -14,10 +14,10 @@

    public abstract int setSubscribeAudioAllowlist(int[] uidList); - - - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + + - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:)); virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetSubscribeAudioAllowlist(TArray<int64> uidList, int uidNumber); abstract setSubscribeAudioAllowlist( uidList: number[], @@ -28,43 +28,73 @@ uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioAllowlist( - {required List<int> uidList, required int uidNumber}); -

    + Future<void> setSubscribeAudioAllowlist( + {required List<int> uidList, required int uidNumber}); +

    详情 -

    你可以调用该方法指定想要订阅的音频流。

    +

    • 音频订阅白名单不受 以及 中的 autoSubscribeAudio 的影响。
    • 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
    • -
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 白名单不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了订阅白名单,即使你离开并重新加入频道,该设置仍然有效。
    • +
    • 如果某个用户同时被加入白名单和黑名单,则仅黑名单生效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 白名单不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了订阅白名单,即使你离开当前频道并重新加入频道,该设置仍然有效。
    • +
    • 如果某个用户同时被添加到白名单和黑名单中,则仅黑名单生效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 白名单不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了订阅白名单,即使离开当前频道并重新加入,设置仍然有效。
    • +
    • 如果某个用户同时被添加到白名单和黑名单中,则仅黑名单生效。
    • +
    +
    +
    参数 - uidList + uidList allowlist - +

    音频订阅白名单的用户 ID 列表。

    如果你想指定订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    - - uidNumber - 白名单用户 ID 列表中的用户数量。 - -
    -
    + 你希望订阅音频的用户 ID 列表。如果你想将某个用户从白名单中移除,需要调用 方法更新该列表,仅保留你希望订阅的用户 ID。 + 你希望订阅音频的用户 ID 列表。如果你想订阅某个用户的音频流,请将该用户的 ID 添加到此列表中。如果你想将某个用户从白名单中移除,需要调用 方法更新用户 ID 列表;这意味着你只需在新的用户 ID 列表中添加你希望订阅的用户的 ID。 + 你希望订阅其音频的用户 ID 列表。如果你希望订阅某个用户的音频流,请将该用户的 ID 添加到该列表中。如果你希望将某个用户从白名单中移除,需要调用 方法更新用户 ID 列表,即只在新的列表中保留你希望订阅的用户 ID。 + + + uidNumber + 白名单用户 ID 列表中的用户数量。 + 用户 ID 列表中的用户数量。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita index 6feaac40b3a..20feb5b5e18 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setSubscribeAudioBlocklist" /> - 设置音频订阅黑名单。 + <ph keyref="setSubscribeAudioBlocklist"/> + 设置音频流订阅的用户黑名单。 - + @@ -14,10 +14,10 @@

    public abstract int setSubscribeAudioBlocklist(int[] uidList); - - - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; + + - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:)); virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetSubscribeAudioBlocklist(TArray<int64> uidList, int uidNumber); abstract setSubscribeAudioBlocklist( uidList: number[], @@ -28,42 +28,67 @@ uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioBlocklist( - {required List<int> uidList, required int uidNumber}); -

    + Future<void> setSubscribeAudioBlocklist( + {required List<int> uidList, required int uidNumber}); +

    详情 -

    你可以调用该方法指定不订阅的音频流。

    +

    • 该方法在加入频道前后均可调用。
    • -
    • 音频订阅黑名单不受 以及 中的 autoSubscribeAudio 影响。
    • +
    • 音频订阅黑名单不受 以及 中的 autoSubscribeAudio 影响。
    • 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
    • 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
    • -
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 黑名单不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了订阅黑名单,即使离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某个用户同时被添加到白名单和黑名单中,只有黑名单生效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 该不订阅列表不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了不订阅列表,即使离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某用户同时被添加到允许订阅列表和不订阅列表中,则仅 设置的不订阅列表生效。
    • +
    +
    + 你可以在加入频道前或加入频道后调用此方法。黑名单不受 autoSubscribeAudio 设置的影响。一旦设置了订阅黑名单,即使离开当前频道并重新加入频道,该设置仍然有效。如果某个用户同时被添加到白名单和黑名单中,只有黑名单生效。 +
    参数 - uidList + uidList blocklist - +

    订阅黑名单的用户 ID 列表。

    -

    如果你想指定不订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    +

    如果你想指定不订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    - - uidNumber - 黑名单用户 ID 列表中的用户数量。 - -
    -
    + 不希望订阅其音频流的用户 ID 列表。如果你希望取消订阅某个用户的音频流,请将该用户的用户 ID 添加到该列表中。如果你希望将某个用户从黑名单中移除,需要调用 方法更新该列表,即只需在新的用户 ID 列表中保留你仍不希望订阅的用户 ID。 + 不希望订阅其音频流的用户 ID 列表。如果你希望指定不订阅某个用户的音频流,请将该用户的 ID 添加到此列表中。如果你希望将某个用户从不订阅列表中移除,需要调用 方法更新用户 ID 列表;这意味着你需要在新的用户 ID 列表中仅添加你不希望订阅的用户的用户 ID。 + 不希望订阅其音频流的用户 ID 列表。你只需在新的用户 ID 列表中添加不希望订阅的用户 ID。如果你希望将某个用户从黑名单中移除,需要调用 方法更新用户 ID 列表。 + + + uidNumber + 黑名单用户 ID 列表中的用户数量。 + 用户 ID 列表中的用户数量。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita index edba67b3a76..5e5687878c0 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita @@ -1,8 +1,8 @@ - + <ph keyref="setSubscribeVideoAllowlist"/> - 设置视频订阅白名单。 + 设置视频流订阅的允许列表。 @@ -14,10 +14,10 @@

    public abstract int setSubscribeVideoAllowlist(int[] uidList); - - - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + + - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:)); virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetSubscribeVideoAllowlist(TArray<int64> uidList, int uidNumber); abstract setSubscribeVideoAllowlist( uidList: number[], @@ -28,43 +28,70 @@ uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoAllowlist( - {required List<int> uidList, required int uidNumber}); -

    + Future<void> setSubscribeVideoAllowlist( + {required List<int> uidList, required int uidNumber}); +

    详情 -

    你可以调用该方法指定想要订阅的视频流。

    +

    • 视频订阅白名单不受 以及 中的 autoSubscribeVideo 的影响。
    • -
    +
      +
    • 你可以在加入频道前或后调用此方法。
    • +
    • 允许列表不受 中的 autoSubscribeAudio 设置影响。
    • +
    • 一旦设置了订阅的允许列表,即使离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某个用户同时出现在允许列表和阻止列表中,仅阻止列表生效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 白名单不受 中的 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了订阅白名单,即使你离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某个用户同时被添加到白名单和黑名单中,则仅黑名单生效。
    • +
    +
    + 方法可在加入频道前或加入频道后调用。该方法设置的视频流订阅允许列表不受 autoSubscribeAudio 设置的影响。一旦设置了允许列表,即使离开当前频道并重新加入,该设置仍然有效。如果某个用户同时被添加到允许列表和阻止列表中,则仅阻止列表生效。 +
    参数 - uidList + uidList allowlist - +

    视频订阅白名单的用户 ID 列表。

    如果你想指定仅订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    - + 你希望订阅其视频流的用户 ID 列表。如果希望将某个用户的视频流添加到订阅中,请将该用户的用户 ID 添加到该列表中。如果希望将某个用户从允许列表中移除,需要调用 方法更新该列表,仅保留你希望订阅的用户 ID。 + 你希望订阅其视频的远端用户 ID 列表。如果你希望指定某个用户的视频流进行订阅,请将该用户的 ID 添加到此列表中。如果你希望将某个用户从白名单中移除,需要调用 方法更新用户 ID 列表;这意味着你只需在新的用户 ID 列表中添加你希望订阅的用户的 ID。 + 你希望订阅其视频的用户 ID 列表。若希望订阅某个用户的视频流,请将该用户的用户 ID 添加到该列表中。若希望将某个用户从允许列表中移除,需要调用 方法更新该列表,仅保留希望订阅的用户 ID。 + + -
    -
    + + uidNumber + 用户 ID 列表中的用户数量。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita index d1d060aa36c..3c1b3e67f24 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita @@ -1,8 +1,8 @@ - + <ph keyref="setSubscribeVideoBlocklist"/> - 设置视频订阅黑名单。 + 设置不订阅的远端视频流用户列表。 @@ -14,10 +14,10 @@

    public abstract int setSubscribeVideoBlocklist(int[] uidList); - - - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; + + - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:)); virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetSubscribeVideoBlocklist(TArray<int64> uidList, int uidNumber); abstract setSubscribeVideoBlocklist( uidList: number[], @@ -28,43 +28,76 @@ uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoBlocklist( - {required List<int> uidList, required int uidNumber}); -

    + Future<void> setSubscribeVideoBlocklist( + {required List<int> uidList, required int uidNumber}); +

    详情 -

    你可以调用该方法指定不订阅的视频流。

    +

    • 视频订阅黑名单不受 以及 中的 autoSubscribeVideo 的影响。
    • -
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 该不订阅列表不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了不订阅列表,即使离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某个用户同时出现在允许列表和不订阅列表中,仅不订阅列表生效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 该不订阅列表不受 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了不订阅列表,即使离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某用户同时被添加到允许订阅列表和不订阅列表中,仅不订阅列表生效。
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 该阻止名单不受 中的 autoSubscribeAudio 设置的影响。
    • +
    • 一旦设置了订阅阻止名单,即使离开当前频道并重新加入,该设置仍然有效。
    • +
    • 如果某个用户同时被添加到允许名单和阻止名单中,只有阻止名单生效。
    • +
    +
    +
    参数 - uidList + uidList blocklist - +

    视频订阅黑名单的用户 ID 列表。

    如果你想指定不订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    - + 不希望订阅其视频流的用户 ID 列表。如果你希望将某个用户从阻止名单中移除,需要调用 方法更新用户 ID 列表。也就是说,你只需在新的用户 ID 列表中添加你不希望订阅的用户 ID。 + 不希望订阅其视频流的用户 ID 列表。如果你希望指定不订阅某个用户的视频流,请将该用户的 ID 添加到此列表中。如果你希望将某个用户从不订阅列表中移除,需要调用 方法更新用户 ID 列表;这意味着你只需在新的用户 ID 列表中添加不希望订阅的用户的用户 ID。详见 NSArray + 不订阅其视频流的用户 ID 列表。若希望不订阅某个用户的视频流,请将该用户的用户 ID 添加到此列表中。若希望将某个用户从不订阅列表中移除,需要调用 方法更新该列表,即只需在新的列表中添加仍希望不订阅的用户 ID。 + + -
    -
    + + uidNumber + 用户 ID 列表中的用户数量。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita b/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita index d87eccb09fb..c2dae6d457d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setupLocalVideo" /> - 初始化本地视图。 + <ph keyref="setupLocalVideo"/> + 初始化本地视频画面。 - + @@ -15,25 +15,32 @@

    public abstract int setupLocalVideo(VideoCanvas local); public abstract setupLocalVideo(canvas: VideoCanvas): number; - - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; + - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:)); virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetupLocalVideo(const FVideoCanvas& canvas); abstract setupLocalVideo(canvas: VideoCanvas): number; public abstract int SetupLocalVideo(VideoCanvas canvas); abstract setupLocalVideo(canvas: VideoCanvas): number; Future<void> setupLocalVideo(VideoCanvas canvas); -

    +

    -

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

    -

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

    +

    该方法在本地设备上初始化本地视频流的画面,仅影响本地用户看到的视频内容,不影响本地视频流的发布。你可以通过该方法将本地视频流绑定到指定的视频画面(view),并设置画面的渲染模式和镜像模式。绑定关系在离开频道后仍然有效。若要停止渲染或解绑本地视频流,请将 view 设置为 。 + +适用场景:初始化后调用该方法设置本地视频画面,再加入频道。 + +在实时互动场景中,如果你需要在本地预览中同时查看多个画面,并且每个画面位于视频链路的不同观测位置,可以多次调用该方法,设置不同的 view,并为每个 view 设置不同的观测位置。例如,将视频源设置为摄像头后,配置两个 view,分别设置 position,即可在本地预览中同时查看原始未处理的视频帧和经过图像增强、虚拟背景、水印等预处理后的视频帧。view),并设置本地用户视图的渲染模式和镜像模式。

    +

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

    • -
    • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
    • -
    • 如果你希望在通话中仅更新本地用户视图的渲染或镜像模式,请使用 方法。
    • -
    +
  • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
  • +
  • 如果你希望在通话中仅更新本地用户视图的渲染或镜像模式,请使用 方法。
  • + 若只需在通话中更新本地视频画面的渲染模式或镜像模式,请改用 setLocalRenderMode + 若只需在通话过程中更新本地视频画面的渲染模式或镜像模式,请调用 方法。 + 若只需在通话中更新本地视频视图的渲染模式或镜像模式,请调用 setLocalRenderMode 方法。 +
    适用场景

    在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。

    @@ -41,27 +48,35 @@
    调用时机 -

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

    -
    +

    你可以在加入频道前或后调用该方法。

    +
    调用限制

    无。

    -
    +
    参数 - canvas - local - 本地视频显示属性。详见 - -
    -
    + canvas + local + 本地视频显示属性。详见 + 本地视频画面及相关设置,详见 + 本地视频视图及相关设置。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita b/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita index 6d49f9fe2f6..4ac1c184984 100644 --- a/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -1,8 +1,8 @@ - + <ph keyref="setupRemoteVideo"/> - 初始化远端用户视图。 + 初始化远端用户的视频视图。 @@ -15,9 +15,9 @@

    public abstract int setupRemoteVideo(VideoCanvas remote); public abstract setupRemoteVideo(canvas: VideoCanvas): number; - - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; + - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:)); virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetupRemoteVideo(const FVideoCanvas& canvas); abstract setupRemoteVideo(canvas: VideoCanvas): number; public abstract int SetupRemoteVideo(VideoCanvas canvas); @@ -27,36 +27,59 @@

    详情 -

    该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

    +

    该方法在本地设备上初始化远端视频流的视频视图,仅影响本地用户看到的画面。调用该方法可将远端视频流绑定到本地的视频视图,并设置该视图的渲染模式和镜像模式。你需要在该方法中指定远端用户的 ID。如果应用尚未获取远端用户的 ID,可在收到 回调后再设置。若要解除远端用户与视图的绑定,请将 view 参数设置为 。当远端用户离开频道时,SDK 会自动解除绑定。在移动端进行视频合流布局的自定义场景中,你可以调用该方法,并为合流视频流中的每个子视频流设置独立的 view 进行渲染。

    调用该方法时需要指定远端视频的用户 ID,一般可以在进频道前提前设置好。如果无法在加入频道前得到远端用户的 ID,可以在收到 回调时调用该方法。

    如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

    离开频道后,SDK 会清除远端用户视图的绑定关系。

    -

    在移动端自定义合图布局场景下,你可以调用该方法并针对合图视频流的每一路子视频流设置一个单独的 view 进行渲染。

    +

    在移动端自定义合图布局场景下,你可以调用该方法并针对合图视频流的每一路子视频流设置一个单独的 view 进行渲染。

    • 在 Flutter 中你不需要主动调用该方法,请使用 渲染本地和远端视图。
    • -
    • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
    • -
    • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。
    • -
    • 当使用录制服务时,由于它不会发送视频流,App 无需为它绑定视图。如果 App 无法识别录制服务,可以在收到 回调时再绑定远端用户视图。
    • -
    • 如果想要停止渲染视图,需要将 view 设为 后再次调用该方法,以停止渲染并清理渲染缓存。
    • -
    +
  • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
  • +
  • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。
  • +
  • 当使用录制服务时,由于它不会发送视频流,App 无需为它绑定视图。如果 App 无法识别录制服务,可以在收到 回调时再绑定远端用户视图。
  • +
  • 如果想要停止渲染视图,需要将 view 设为 后再次调用该方法,以停止渲染并清理渲染缓存。
  • +
      +
    • 若需在通话过程中更新远端视频视图的渲染模式或镜像模式,请使用 方法。
    • +
    • 使用录制服务时,应用无需绑定视图,因为录制服务不会发送视频流。如果你的应用无法识别录制服务,请在 SDK 触发 回调时将远端用户绑定到视图。
    • +
    +
    +
      +
    • 若需在通话过程中更新远端视频视图的渲染或镜像模式,请使用 方法。
    • +
    • 使用录制服务时,应用无需绑定视图,因为录制服务不会发送视频流。如果你的应用无法识别录制服务,请在 SDK 触发 回调时再将远端用户绑定到视图。
    • +
    +
    +
      +
    • 若需在通话过程中更新远端视频视图的渲染模式或镜像模式,请使用 方法。
    • +
    • 使用录制服务时,App 无需绑定视图,因为录制服务不会发送视频流。如果你的 App 无法识别录制服务,请在 SDK 触发 回调时将远端用户绑定到视图。
    • +
    +
    +
    参数 - canvas - remote - + canvas + remote +

    远端视频显示属性。详见

    -
    -
    -
    + 远端视频视图及其相关设置。详见 + 远端视频视图及相关设置,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita index 45aaac06357..9220c70de66 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita @@ -1,4 +1,4 @@ - + <ph keyref="setVideoDenoiserOptions"/> @@ -15,9 +15,8 @@

    public abstract int setVideoDenoiserOptions(boolean enabled, VideoDenoiserOptions options); - - - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:)); - + + - (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); @@ -32,30 +31,58 @@ options: VideoDenoiserOptions, type?: MediaSourceType ): number; - Future<void> setVideoDenoiserOptions( + Future<void> setVideoDenoiserOptions( {required bool enabled, required VideoDenoiserOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    -

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

    +
    + +
    自从:
    +
    自 v4.0.0 版本新增。
    +
    +
    +

    如果该方法实现的降噪强度无法满足你的需求,声网推荐你调用 方法启用美颜磨皮功能,以获得更好的视频降噪效果。强效降噪效果的 推荐设置如下:
      -
    • lighteningContrastLevel
    • +
    • lighteningContrastLevel
    • lighteningLevel:0.0
    • smoothnessLevel:0.5
    • rednessLevel:0.0
    • sharpnessLevel:0.1
    -
    +
      +
    • 此方法依赖图像增强动态库 。如果该动态库被删除,将无法正常启用该功能。
    • +
    • 视频降噪对设备性能有一定要求。如果设备在启用视频降噪后出现过热情况,声网建议你将视频降噪选项设置为较低的性能消耗等级,或完全关闭视频降噪功能。
    • +
    • 如果该方法实现的视频降噪效果无法满足你的需求,声网建议你调用 方法开启美颜和磨皮功能,以获得更好的视频降噪效果。推荐用于强降噪效果的 设置如下:
        +
      • lighteningContrastLevel:
      • +
      • lighteningLevel: 0.0
      • +
      • smoothnessLevel: 0.5
      • +
      • rednessLevel: 0.0
      • +
      • sharpnessLevel: 0.1
      • +
      +
    • +
    +
    + 该方法依赖图像增强动态库 (iOS)或 方法启用美颜和磨皮功能,以获得更好的视频降噪效果。推荐用于强降噪效果的 设置如下: +
      +
    • lighteningContrastLevel
    • +
    • lighteningLevel:0.0
    • +
    • smoothnessLevel:0.5
    • +
    • rednessLevel:0.0
    • +
    • sharpnessLevel:0.1
    • +
    +
    +
    适用场景

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

    调用时机 -

    请在 后调用该方法。

    +

    在调用 方法之后调用此方法。

    调用限制 @@ -68,31 +95,53 @@ 参数 - enabled - enable - 是否开启视频降噪功能: + enabled + enable + 是否开启视频降噪功能:
    • : 开启视频降噪功能。
    • :(默认)关闭视频降噪功能。
    -
    + 是否开启视频降噪功能: +
      +
    • :开启视频降噪。
    • +
    • :(默认)关闭视频降噪。
    • +
    +
    + options - 视频降噪选项,用于设置视频降噪的效果。详见 。 + 视频降噪选项,用于设置视频降噪的效果。详见 - - + 视频降噪选项。详见 + + -
    -
    + + type + 要应用滤镜效果的媒体源类型。详见 。 +
      +
    • 如果使用摄像头采集本地视频,使用默认值
    • +
    • 如果使用自定义视频源,设置为
    • +
    +
    +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita index 8efd7fbf421..bdd656f7f50 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita @@ -1,8 +1,8 @@ - + <ph keyref="setVideoEncoderConfiguration"/> - 设置视频编码属性。 + 设置本地视频的编码配置。 @@ -15,9 +15,9 @@

    public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); public abstract setVideoEncoderConfiguration(configuration: VideoEncoderConfiguration): number; - - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:)); virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetVideoEncoderConfiguration(const FVideoEncoderConfiguration& config); abstract setVideoEncoderConfiguration( config: VideoEncoderConfiguration @@ -30,18 +30,33 @@

    -

    设置本地视频的编码属性。每一种视频编码属性对应一系列视频相关参数设置,包含分辨率、帧率和码率。

    -
    +

    每个配置文件对应一组视频参数,包括分辨率、帧率和码率。调用时机:你可以在加入频道前或加入频道后调用该方法。如果在加入频道后不需要重新设置视频编码属性,声网建议你在调用 之前调用该方法,以减少首帧视频渲染时间。

    +
      +
    • 此方法和 方法都支持设置镜像效果。声网建议你只使用其中一种方式进行设置,同时使用两种方式会导致镜像效果叠加,从而使镜像设置失效。
    • +
    • 此方法中指定的 是在理想网络条件下的最大值。如果由于网络条件不稳定,视频引擎无法使用指定的 渲染视频,则会依次尝试列表中较低的参数,直到找到可用的配置。
    • +
    +
    +
      +
    • 此方法和 方法都支持设置镜像效果。声网建议你只使用其中一种方法进行设置。若同时使用两种方法,镜像效果会叠加,导致设置失败。
    • +
    • 此方法中指定的 是在理想网络条件下的最大值。如果由于网络条件不佳,视频引擎无法按照指定的 渲染视频,则会依次尝试配置列表中的其他参数,直到找到可用的配置。
    • +
    +
    +
      +
    • 此方法和 方法都支持设置镜像效果。声网建议只使用其中一个方法进行设置,同时使用两个方法会导致镜像效果叠加,镜像设置失效。
    • +
    • 此方法中指定的 是在理想网络条件下的最大值。如果由于网络条件不佳,视频引擎无法使用指定的 渲染视频,则会依次尝试列表中较低的参数,直到找到可用的配置。
    • +
    +
    +
    调用时机 -

    该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。

    +

    该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。

    该方法只能在加入频道前调用。建议在 前调用该方法,可以加快首帧出图的时间。

    调用限制
      -
    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • +
    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • 该方法的 config 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 config 渲染本地视频,它会自动降低到一个合适的视频参数设置。
    @@ -50,15 +65,23 @@ config - 视频编码参数配置。详见 - - -
    + 视频编码参数配置。详见 + 视频编码配置。详见 + 视频编码配置,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita b/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita index a686c04be4f..425dafa0d6c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita @@ -1,8 +1,8 @@ - + <ph keyref="setVideoScenario"/> - 设置视频业务场景。 + 设置视频应用场景。 @@ -14,40 +14,42 @@

    public abstract int setVideoScenario(Constants.VideoScenario scenarioType); - - - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:)); + + - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:)); virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetVideoScenario(EVIDEO_APPLICATION_SCENARIO_TYPE scenarioType); abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number; public abstract int SetVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType); abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number; - Future<void> setVideoScenario(VideoApplicationScenarioType scenarioType);

    + Future<void> setVideoScenario(VideoApplicationScenarioType scenarioType);

    详情
    - -
    自从
    -
    v4.2.0
    + +
    自从:
    +
    自 v4.2.0 版本新增。
    -

    成功调用该方法设置视频业务场景后,SDK 会基于指定场景启用最佳实践策略,自动调整关键性能指标,进而优化视频体验质量。

    +

    成功调用该方法后,SDK 会根据指定的视频应用场景自动启用最佳实践策略,并调整关键性能指标,以优化视频体验。

    该方法需要在加入频道前调用。 -
    + 请在加入频道前调用此方法。 + 请在加入频道前调用该方法。 +
    参数 scenarioType - 视频业务场景。详见 。 + 视频业务场景。详见

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

    • 针对会议场景对小流码率要求较高的情况,自动启用多项抗弱网技术,提升小流的抗弱网能力,确保多路流订阅时接收端的流畅性。
    • 实时监测接收端大流的订阅人数,根据订阅人数动态调节大流配置:
      • 无人订阅大流时,会自动降低大流的码率和帧率,节省上行带宽和消耗。
      • 有人订阅大流时,大流会重置为用户最近一次调用 时的 配置。如果用户此前没有进行设置,则使用如下值: -
          +
          • 视频分辨率:桌面端为 1280 × 720;移动端为 960 × 540
          • 视频帧率:15 fps
          • 码率:桌面端为 1600 Kbps;移动端为 1000 Kbps
          • @@ -57,7 +59,7 @@
          • 视频帧率:15 fps
          • 码率:1000 Kbps
          -
            +
            • 视频分辨率:1280 × 720
            • 视频帧率:15 fps
            • 码率:1600 Kbps
            • @@ -81,21 +83,54 @@ 该枚举值仅适用于主播 vs 主播场景。

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

              - - + 视频应用场景类型。详见 + 视频应用场景的类型,详见 + 视频应用场景类型,详见 + +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -1:一般性的错误(未明确归类)。
        • -4:不支持设置视频业务场景。可能的原因是当前使用的是音频 SDK。
        • -
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • +
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      -
    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无明确原因)。
      • +
      • -4:不支持设置视频应用场景。可能原因包括使用了语音 SDK 而非视频 SDK。
      • +
      • -7: 对象尚未初始化。请在调用此方法前初始化 对象。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无具体原因)。
      • +
      • -4:不支持设置视频应用场景。可能原因包括你使用了语音 SDK 而非视频 SDK。
      • +
      • -7: 对象尚未初始化。请在调用该方法前先初始化该对象。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无具体原因)。
      • +
      • -4:不支持视频应用场景。可能原因包括使用了语音 SDK 而非视频 SDK。
      • +
      • -7: 对象尚未初始化。请在调用此方法前初始化 对象。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita index 63024efa6a4..d68cafb639a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setVoiceBeautifierParameters" /> - 设置预设美声效果的参数。 + <ph keyref="setVoiceBeautifierParameters"/> + 设置预设美声特效的参数。 - + @@ -14,10 +14,10 @@

    public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); - - - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; + + - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:)); virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetVoiceBeautifierParameters(FENUMWRAP_VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); abstract setVoiceBeautifierParameters(preset: VoiceBeautifierPreset, param1: number, param2: number): number; public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); @@ -30,48 +30,116 @@ {required VoiceBeautifierPreset preset, required int param1, required int param2}); -

    +

    +
    + +
    自从:
    +
    自 3.3.0 版本新增。
    +
    +
    详情 -

    调用该方法可以设置歌唱美声效果的性别特征和混响效果。该方法对本地发流用户进行设置。设置后,频道内所有用户都能听到该效果。

    +

    • 该方法在加入频道前后都能调用。
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
    • -
    • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖: +
    • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • +
      • +
      • +
      • +
      • +
      • +
      • +
    • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
      +
    • 你可以在加入频道前或加入频道后调用该方法。
    • +
    • 不要将 setAudioProfile 中的 profile 参数设置为 (1)或 (6),否则该方法不生效。
    • +
    • 该方法对人声处理效果最佳,声网不建议使用该方法处理包含音乐的音频数据。
    • +
    • 调用 后,声网不建议再调用以下方法,否则会覆盖 设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 该方法依赖美声动态库 。如果该动态库被删除,该功能将无法正常启用。
    • +
    +
    +
      +
    • 可以在加入频道前或加入频道后调用该方法。
    • +
    • 不要将 中的 profile 参数设置为 (1),否则该方法不生效。
    • +
    • 该方法对人声处理效果最佳,不建议用于处理包含音乐的音频数据。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖该方法设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 该方法依赖于美声特效动态库 (iOS)或
    • +
    +
    +
      +
    • 你可以在加入频道前或加入频道后调用此方法。
    • +
    • 不要将 setAudioProfile 中的 profile 参数设置为 (1),否则该方法不生效。
    • +
    • 此方法在人声处理方面效果最佳,不建议用于处理包含音乐的音频数据。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖该方法设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 此方法依赖于美声动态库 。如果该动态库被删除,则无法正常启用该功能。
    • +
    +
    +
    参数 preset - 预设的音效: + 预设的音效:
    • SINGING_BEAUTIFIER: 歌唱美声。
    -
    + 预设音效选项: +
      +
    • :歌声美声特效。
    • +
    +
    + 预设音效选项,详见 。 +
      +
    • :歌唱美声特效。
    • +
    +
    + 预设音效选项。详见 + param1 - 歌声的性别特征: + 歌声的性别特征: @@ -79,10 +147,16 @@
  • 1: 男声。
  • 2: 女声。
  • -
    + 歌声的性别特征选项: +
      +
    • 1:男性声音。
    • +
    • 2:女性声音。
    • +
    +
    + param2 - 歌声的混响效果: + 歌声的混响效果: @@ -91,14 +165,27 @@
  • 2: 歌声在大房间的混响效果。
  • 3: 歌声在大厅的混响效果。
  • -
    -
    -
    + 歌声的混响效果选项: +
      +
    • 1:小房间混响效果。
    • +
    • 2:大房间混响效果。
    • +
    • 3:大厅混响效果。
    • +
    +
    + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita index 6f79ce3d7cd..e712c6eb449 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita @@ -1,12 +1,12 @@ - + - <ph keyref="setVoiceBeautifierPreset" /> + <ph keyref="setVoiceBeautifierPreset"/> 设置预设的美声效果。 - + @@ -14,45 +14,90 @@

    public abstract int setVoiceBeautifierPreset(int preset); - - - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; + + - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset NS_SWIFT_NAME(setVoiceBeautifierPreset(_:)); virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetVoiceBeautifierPreset(FENUMWRAP_VOICE_BEAUTIFIER_PRESET preset); abstract setVoiceBeautifierPreset(preset: VoiceBeautifierPreset): number; public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); abstract setVoiceBeautifierPreset(preset: VoiceBeautifierPreset): number; Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset); -

    +

    -

    调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的美声效果。

    +
    + +
    自从:
    +
    自 v3.2.0 版本新增。
    +
    +
    +

    调用该方法为发送音频流的本地用户设置预设的美声效果。设置后,频道内所有用户都能听到该效果。你可以根据不同场景设置不同的美声效果。 + +为了获得更好的人声效果,建议在调用本方法前调用以下方法: +

      +
    • 调用 将音频场景设置为高音质音频场景,即 (3)。
    • +
    • 调用 setAudioProfile,将 profile 参数设置为 (4)或 (5)。
    • +
    +

    各美声效果的适用场景可参考

    -
    +
      +
    • 不要将 setAudioProfile 中的 profile 参数设置为 (1)或 (6),否则该方法不生效。
    • +
    • 该方法对人声处理效果最佳,不建议用于处理包含音乐的音频数据。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖 设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 此方法依赖美声动态库 。如果该动态库被删除,则无法正常启用该功能。
    • +
    +
    +
      +
    • 不要将 中的 profile 参数设置为 (1),否则该方法不生效。
    • +
    • 该方法对人声处理效果最佳,不建议用于处理包含音乐的音频数据。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖 设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 该方法依赖于美声特效动态库 (iOS)或
    • +
    +
    +
    调用时机 -

    加入频道前后均可调用。

    -

    为获取更好的人声效果,建议你在调用该方法前进行以下操作: +

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

    +

    为获取更好的人声效果,建议你在调用该方法前进行以下操作:

      -
    • 调用 将音频场景设为高音质场景,即 (3)。
    • -
    • 调用 profile 设为 (4) 或 (5)。
    • +
    • 调用 将音频场景设为高音质场景,即 (3)。
    • +
    • 调用 profile 设为 (4) 或 (5)。

    调用限制
      -
    • 请勿将 profile 参数设置为 (1)(6),否则该方法不生效。
    • +
    • 请勿将 profile 参数设置为 (1)(6),否则该方法不生效。
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
    • -
    • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖: +
    • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • +
      • +
      • +
      • +
      • +
      • +
      • +
    • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
    @@ -62,43 +107,77 @@ preset - -

    预设的美声效果选项,详见

    + +

    预设的美声效果选项,详见

    预设的美声效果选项:

      -
    • : 原声,即关闭美声效果。
    • -
    • : 磁性(男)。
    • -
    • : 清新(女)。
    • -
    • : 活力(女)。
    • -
    • : 歌唱美声。 +
    • : 原声,即关闭美声效果。
    • +
    • : 磁性(男)。
    • +
    • : 清新(女)。
    • +
    • : 活力(女)。
    • +
    • : 歌唱美声。
        -
      • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
      • -
      • 如果调用 (, param1, param2),你可以美化男声或女声并添加混响效果。
      • +
      • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
      • +
      • 如果调用 (, param1, param2),你可以美化男声或女声并添加混响效果。
    • -
    • : 浑厚。
    • -
    • : 低沉。
    • -
    • : 圆润。
    • -
    • : 假音。
    • -
    • : 饱满。
    • -
    • : 清澈。
    • -
    • : 高亢。
    • -
    • : 嘹亮。
    • -
    • : 超高音质,即让音频更清晰、细节更丰富。 +
    • : 浑厚。
    • +
    • : 低沉。
    • +
    • : 圆润。
    • +
    • : 假音。
    • +
    • : 饱满。
    • +
    • : 清澈。
    • +
    • : 高亢。
    • +
    • : 嘹亮。
    • +
    • : 超高音质,即让音频更清晰、细节更丰富。
        -
      • 为达到更好的效果,建议在调用该方法前将 profile 参数设置为 (4) 或 (5),且 scenario 参数设置为 (3)。
      • +
      • 为达到更好的效果,建议在调用该方法前将 profile 参数设置为 (4) 或 (5),且 scenario 参数设置为 (3)。
      • 如果用户的音频采集设备可以高度还原音频细节,建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。

    -
    -
    -
    + 预设的美声效果选项: +
      +
    • :关闭美声效果,使用原始声音。
    • +
    • :更具磁性的声音(仅限男性)。
    • +
    • :更清新的声音(仅限女性)。
    • +
    • :更有活力的声音(仅限女性)。
    • +
    • :歌唱美声效果。
        +
      • 如果调用 并设置为 ,可美化男性声音并添加类似在小房间中歌唱的混响效果。声网建议用于处理男性声音,否则可能出现声音失真。
      • +
      • 如果调用 并设置为 ,可美化男性或女性声音并添加混响效果。
      • +
      +
    • +
    • :更有力的声音。
    • +
    • :更深沉的声音。
    • +
    • :更柔和的声音。
    • +
    • :假声。
    • +
    • :更饱满的声音。
    • +
    • :更清晰的声音。
    • +
    • :更响亮的声音。
    • +
    • :更有穿透力的声音。
    • +
    • :超高音质人声,使音频更清晰并还原更多细节。
        +
      • 为获得更好的音效质量,声网建议在调用该方法前调用 setAudioProfile,将 profile 设置为 (4)或 (5),并将 scenario 设置为 (3)。
      • +
      • 如果你使用的音频采集设备已经可以高度还原音频细节,声网建议不要启用超高音质,否则 SDK 可能会过度还原音频细节,导致无法听到预期的声音效果。
      • +
      +
    • +
    +
    + 预设的美声特效选项,详见 + 预设的美声效果选项,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita b/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita index 4605af470c5..f80f9d9f0dc 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita @@ -1,4 +1,4 @@ - + <ph keyref="setVoiceConversionPreset"/> @@ -14,10 +14,10 @@

    public abstract int setVoiceConversionPreset(int preset); - - - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; + + - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset NS_SWIFT_NAME(setVoiceConversionPreset(_:)); virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetVoiceConversionPreset(FENUMWRAP_VOICE_CONVERSION_PRESET preset); abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); @@ -26,9 +26,58 @@

    -

    调用该方法可以为本地发流用户设置 SDK 预设的变声效果。设置变声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的变声效果。

    +
    + +
    自从:
    +
    自 v3.3.1 版本新增。
    +
    +
    +

    调用该方法为在频道中发布音频流的本地用户设置预设的变声效果。设置后,频道内所有用户都可以听到该变声效果。你可以根据不同场景为用户设置不同的变声效果。 + +调用时机:该方法可以在加入频道前或加入频道后调用。 + +为了获得更好的变声效果,建议在调用本方法前调用以下 API: +

      +
    • 调用 将音频场景设置为高音质音频场景,即 (3)。
    • +
    • 调用 setAudioProfile,将 profile 参数设置为 (4)或 (5)。
    • +
    +

    各变声效果的适用场景可参考

    -
    +
      +
    • 不要将 setAudioProfile 中的 profile 参数设置为 (1)或 (6),否则该方法不生效。
    • +
    • 该方法对人声处理效果最佳,不建议用于处理包含音乐的音频数据。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖 设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 该方法依赖于变声动态库 。如果该动态库被删除,则无法正常启用该功能。
    • +
    +
    +
      +
    • 不要将 中的 profile 参数设置为 (1),否则该方法不生效。
    • +
    • 该方法对人声处理效果最佳,不建议用于处理包含音乐的音频数据。
    • +
    • 调用 后,不建议再调用以下方法,否则会覆盖 设置的效果:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • 该方法依赖于变声特效动态库 (iOS)或
    • +
    +
    +
    调用时机

    加入频道前后均可调用。

    @@ -59,8 +108,8 @@ preset - -

    预设的变声效果选项:

    + +

    预设的变声效果选项:

    预设的变声效果选项:

      @@ -71,14 +120,30 @@
    • : 低沉。为避免音频失真,请确保仅对男声设置该效果。

    -
    -
    -
    + 预设的变声效果选项,详见 。支持以下选项: +
      +
    • :关闭变声效果,使用原始声音。
    • +
    • :中性声音。为避免音频失真,建议用于处理女性音色。
    • +
    • :甜美声音。为避免音频失真,建议用于处理女性音色。
    • +
    • :沉稳声音。为避免音频失真,建议用于处理男性音色。
    • +
    • :低沉声音。为避免音频失真,建议用于处理男性音色。
    • +
    +
    + 预设的变声效果选项,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita b/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita index 239b124a798..d9e47ead9d7 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita @@ -1,37 +1,35 @@ - + - <ph keyref="setVolumeOfEffect" /> + <ph keyref="setVolumeOfEffect"/> 设置指定音效文件的播放音量。 - +

    - public abstract int setVolumeOfEffect(int soundId, double volume); - - + public abstract int setVolumeOfEffect(int soundId, double volume); + - (int)setVolumeOfEffect:(int)soundId - withVolume:(int)volume; - + withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:)); virtual int setVolumeOfEffect(int soundId, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int SetVolumeOfEffect(int soundId, int volume); abstract setVolumeOfEffect(soundId: number, volume: number): number; public abstract int SetVolumeOfEffect(int soundId, int volume); abstract setVolumeOfEffect(soundId: number, volume: number): number; Future<void> setVolumeOfEffect({required int soundId, required int volume}); -

    +

    调用时机 -

    该方法需要在 后调用。

    +

    在调用 后调用此方法。

    调用限制 @@ -42,19 +40,30 @@ soundId - 指定音效的 ID。每个音效均有唯一的 ID。 - + 指定音效的 ID。每个音效均有唯一的 ID。 + 音效的 ID。每个音效文件的唯一标识。 + 音效的 ID。每个音效文件的唯一 ID。 + soundId。每个音效文件对应一个唯一的 ID。 + volume - 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    -
    + 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 + 播放音量。取值范围为 [0, 100]。(默认值为 100,表示原始音量。) + 播放音量。取值范围为 [0, 100],默认值为 100,表示原始音量。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita b/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita index d5a2a78eafb..3c6102b63c6 100644 --- a/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita @@ -1,8 +1,8 @@ - + <ph keyref="startCameraCapture"/> - 开始通过摄像头采集视频。 + 开始摄像头采集。 @@ -13,13 +13,12 @@

    - public abstract int startCameraCapture( - Constants.VideoSourceType sourceType, CameraCapturerConfiguration config); + public abstract int startCameraCapture(Constants.VideoSourceType sourceType, CameraCapturerConfiguration config); public abstract startCameraCapture( sourceType: Constants.VideoSourceType, config: CameraCapturerConfiguration): number; - (int)startCameraCapture:(AgoraVideoSourceType)sourceType config:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(startCameraCapture(_:config:)); virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StartCameraCapture(EVIDEO_SOURCE_TYPE sourceType, const FCameraCapturerConfiguration& config); abstract startCameraCapture( sourceType: VideoSourceType, @@ -30,51 +29,67 @@ sourceType: VideoSourceType, config: CameraCapturerConfiguration ): number; - Future<void> startCameraCapture( + Future<void> startCameraCapture( {required VideoSourceType sourceType, required CameraCapturerConfiguration config}); -

    +

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    调用该方法可以通过指定 sourceType 同时开启多路摄像头采集。

    - 在 iOS 平台上调用该方法前,如果要开启多路摄像头采集,需要在调用该方法前,先调用 并设置 enabled + 在 iOS 平台上调用该方法前,如果要开启多路摄像头采集,需要在调用该方法前,先调用 并设置 enabled
    参数 sourceType - +

    视频源的类型。详见

      -
    • iOS 设备最多支持 2 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • -
    • Android 设备最多支持 4 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • -
    • 桌面端最多支持 4 路摄像头采集的视频流。
    • +
    • iOS 设备最多支持 2 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • +
    • Android 设备最多支持 4 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • +
    • 桌面端最多支持 4 路摄像头采集的视频流。
    + 视频源的类型。详见 + 视频源的类型。详见 。 +
      +
    • 在 iOS 上,如果设备有多个摄像头或支持外接摄像头,最多可以从两个摄像头采集视频。
    • +
    • 在 macOS 上,最多可以从四个摄像头采集视频。
    • +
    +
    + 视频源的类型,详见 +
    + + config + 视频采集的配置。详见 + 视频采集的配置。详见 。 +注意:在 iOS 上,此参数无实际作用。请使用 中的 参数设置视频采集配置。 + 视频采集的配置。详见 。 +在 iOS 设备上,如果设备拥有多个摄像头或支持外接摄像头,最多可采集 2 路视频;在 Android 设备上,最多可采集 4 路视频;在桌面平台上,最多可采集 4 路视频。 -
    + config

    视频采集配置。详见

    - 在 iOS 平台上,该参数无实际作用。请使用 中的 config 参数设置视频采集配置。
    + 在 iOS 平台上,该参数无实际作用。请使用 中的 config 参数设置视频采集配置。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita b/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita index f50e9ac4f63..434d4111533 100644 --- a/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita +++ b/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita @@ -1,12 +1,12 @@ - + - <ph keyref="startLastmileProbeTest" /> - 开始通话前网络质量探测。 + <ph keyref="startLastmileProbeTest"/> + 启动 Last-mile 网络探测测试。 - + @@ -14,51 +14,44 @@

    public abstract int startLastmileProbeTest(LastmileProbeConfig config); - public abstract startLastmileProbeTest(config: LastmileProbeConfig): number; - - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; + + - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:)); virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int StartLastmileProbeTest(const FLastmileProbeConfig& config); - abstract startLastmileProbeTest(config: LastmileProbeConfig): number; - public abstract int StartLastmileProbeTest(LastmileProbeConfig config); - abstract startLastmileProbeTest(config: LastmileProbeConfig): number; - Future<void> startLastmileProbeTest(LastmileProbeConfig config); -

    + + + + +

    -

    开始通话前网络质量探测,向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。

    +

    -
    - 调用时机 -

    该方法需要在加入频道前调用,且在收到 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。

    -
    调用限制

    无。

    -
    参数 - - config - Last mile 网络探测配置,详见 + + config + Last mile 网络探测测试的配置。详见 + 最后一公里网络探测测试的配置,详见 + Last-mile 网络探测测试的配置。详见
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startlocalaudiomixer.dita b/dita/RTC-NG/API/api_irtcengine_startlocalaudiomixer.dita index 48d75189600..e177b53194f 100644 --- a/dita/RTC-NG/API/api_irtcengine_startlocalaudiomixer.dita +++ b/dita/RTC-NG/API/api_irtcengine_startlocalaudiomixer.dita @@ -1,8 +1,8 @@ - + <ph keyref="startLocalAudioMixer"/> - 开启本地音频合流。 + 开启本地音频混音。 @@ -22,15 +22,9 @@ abstract startLocalAudioMixer(config: LocalAudioMixerConfiguration): number; public abstract int StartLocalAudioMixer(LocalAudioMixerConfiguration config); abstract startLocalAudioMixer(config: LocalAudioMixerConfiguration): number; - Future<void> startLocalAudioMixer(LocalAudioMixerConfiguration config);

    + Future<void> startLocalAudioMixer(LocalAudioMixerConfiguration config);

    -
    - -
    自从
    -
    v4.5.0
    -
    -

    该方法支持在本地将多路音频流合并为一路音频流。例如:将本地麦克风采集的音频流、媒体播放器中的音频流、声卡采集的音频流、远端音频流等合并为一路音频流,然后将合流后的音频流发布到频道中。

    • 如果你要对本地采集的音频流进行合流,可以将 中的 publishMixedAudioTrack 设置为 ,则可将合流后的音频流发布到频道中。
    • 如果你要对远端音频流进行合流,需确保远端音频流已在频道内发布并且已被订阅。
    • @@ -47,27 +41,38 @@
    调用时机 -

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

    +

    你可以在加入频道前或后调用该方法。

    调用限制 -

    为了保证音频质量,建议参与本地合流的音频流数量不超过 10 个。

    +

    无。

    参数 config - 本地音频合流的配置。详见 + 本地音频合流的配置。详见 + 本地音频混音的配置。详见 + 本地音频混音配置。详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
          -
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • -
    +
  • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
  • + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7: 对象尚未初始化。请在调用该方法前先初始化 对象。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita b/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita index 88419566f70..002956b2409 100644 --- a/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita +++ b/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita @@ -1,12 +1,12 @@ - + - <ph keyref="startLocalVideoTranscoder" /> - 开启本地合图。 + <ph keyref="startLocalVideoTranscoder"/> + 开始本地视频混流。 - + @@ -14,77 +14,68 @@

    public abstract int startLocalVideoTranscoder(LocalTranscoderConfiguration config); - public abstract startLocalVideoTranscoder(config: LocalTranscoderConfiguration): number; + - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:)); - virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int StartLocalVideoTranscoder(const FLocalTranscoderConfiguration& config); - abstract startLocalVideoTranscoder( - config: LocalTranscoderConfiguration - ): number; - public abstract int StartLocalVideoTranscoder(LocalTranscoderConfiguration config); - abstract startLocalVideoTranscoder( - config: LocalTranscoderConfiguration - ): number; - Future<void> startLocalVideoTranscoder(LocalTranscoderConfiguration config); -

    + virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; + + + + +

    -

    调用该方法后,你可以在本地将多路视频流合并为一路视频流。例如:将摄像头采集的视频流、屏幕共享流、媒体播放器中的视频流、远端视频流、视频文件、图片等合并为一路视频流,然后将已合图的视频流发布到频道中。

    -
    -
    - 适用场景 -

    你可以在远程会议、直播、在线教育等场景下开启本地合图功能,可以让用户更加方便地查看和管理多个视频画面,同时支持人像画中画等功能。

    -

    以下是一个实现人像画中画的典型场景: -

      -
    1. 调用 ,并将自定义背景图设置为 ,即:在摄像头采集的视频中将人像和背景分割。
    2. -
    3. 调用 ,开始采集屏幕共享视频流。
    4. -
    5. 调用该方法,并将采集人像的视频源设置为参与本地合图的视频源之一,即可在合图后的视频中实现人像画中画。
    6. -

    +

    调用时机 -
      -
    • 如果你需要对本地采集的视频流进行合图,需要在 之后调用该方法。
    • -
    • 如果你要将合图后的视频流发布到频道中,需要在调用 时,将 中的 publishTranscodedVideoTrack 设置为
    • -
    -
    +

    如果需要混合本地采集的视频流,应在调用 之后调用 。 +如果希望将混流后的视频流发布到频道中,需在调用 joinChannel 时,将 中的 publishTranscodedVideoTrack 设置为

    +
    调用限制 -
      -
    • 本地合图对 CPU 的消耗较高,声网建议你在性能较高的设备上开启该功能。
    • -
    • 如果你需要对本地采集的视频流进行合图,SDK 支持如下采集组合:
        -
      • 在 Windows 平台上,最多支持 4 路摄像头采集的视频流 + 4 路屏幕共享流合图。
      • -
      • 在 macOS 平台上,最多支持 4 路摄像头采集的视频流 + 1 路屏幕共享流合图。
      • -
      • 在 Android 和 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • -
      • 在 Android 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • -
      • 在 HarmonyOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • -
      • 在 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
    • -
    • 在进行合图配置时,需确保采集人像的摄像头视频流在合图中的图层编号大于屏幕共享流的图层编号,否则人像会被屏幕共享覆盖、无法显示在最终合图的视频流中。
    • -
    +

    无。

    参数 - - config - 本地合图的配置,详见 。 -
      -
    • 参与本地合图的每一路视频流的分辨率最大为 4096 × 2160,如果超出此限制,会导致合图不生效。
    • -
    • 合图后的视频流最大分辨率为 4096 × 2160。
    + + config + 本地视频混流的配置。详见 。 +
      +
    • 参与本地视频混流的每路视频流的最大分辨率为 4096 × 2160,超出该限制将无法进行视频混流。
    • +
    • 混合后的视频流的最大分辨率为 4096 × 2160。
    • +
    +
    + 本地合图的配置。 +
      +
    • 每路参与本地合图的视频流的最大分辨率为 4096 × 2160,超出该限制将无法进行合图。
    • +
    • 合图后的视频流的最大分辨率为 4096 × 2160。 详见
    • +
    +
    + 本地视频混流的配置。详见 。 +
      +
    • 参与本地视频混流的每路视频流的最大分辨率为 4096 × 2160,超出该限制将无法进行视频混流。
    • +
    • 混流后的视频流最大分辨率为 4096 × 2160。
    • +
    +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita b/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita index 5f29e6023b3..486a491025e 100644 --- a/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita +++ b/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita @@ -1,8 +1,8 @@ - + <ph keyref="startMediaRenderingTracing"/> - 开启视频帧渲染数据打点。 + 启用视频帧渲染过程的追踪。 @@ -14,43 +14,70 @@

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

    + Future<void> startMediaRenderingTracing();

    详情
    - -
    自从
    -
    v4.1.1
    + +
    自从:
    +
    自 v4.1.1 版本新增。
    -

    成功调用该方法后,SDK 会以调用该方法的时刻作为起点,并通过 回调报告视频帧渲染的相关信息。

    +

    调用该方法后,SDK 会开始追踪频道中视频帧的渲染状态,并通过 回调报告相关信息。声网建议你结合应用中的 UI 设置(如按钮和滑块)使用该方法,以提升用户体验。例如,当用户点击“加入频道”按钮时调用该方法,然后通过 回调获取视频帧渲染过程所花费的时间,从而优化相关指标。 回调报告视频帧渲染的相关信息。

    • 如果你未调用该方法,SDK 默认以调用 加入频道的时刻为起始点开始打点,自动开始跟踪视频的渲染事件。你可以根据实际业务场景,在合适的时机调用该方法,进行自定义打点。
    • 离开当前频道后,SDK 会自动重置该时间点为下一次加入频道的时刻。
    • -
    +
      +
    • 如果你未调用该方法,SDK 会从调用 joinChannel 加入频道时开始追踪视频帧的渲染事件。你可以根据实际应用场景在合适的时间调用该方法,以设置视频渲染事件追踪的起始位置。
    • +
    • 本地用户离开当前频道后,SDK 会自动从再次加入频道时开始追踪视频渲染事件。
    • +
    +
    +
      +
    • 如果未调用该方法,SDK 会从调用 joinChannelByToken 加入频道时开始追踪视频帧的渲染事件。你可以根据实际应用场景在合适的时机调用该方法,以设置视频渲染事件追踪的起始位置。
    • +
    • 本地用户离开当前频道后,SDK 会自动从再次加入频道时开始追踪视频渲染事件。
    • +
    +
    +
    适用场景

    声网推荐你将该方法和 App 中的 UI 设置(按钮、滑动条等)结合使用,用于获取符合终端用户实际体验的首帧出图耗时的场景。例如:在终端用户在点击 加入频道 按钮的时刻调用该方法进行打点,然后通过 回调获取视频帧渲染过程中的各阶段耗时,从而针对各阶段耗时进行专项优化。

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

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -7: 尚未初始化就调用方法。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7:在调用该方法前未初始化 实例。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7:在初始化 之前调用该方法。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita index 180e61ad633..243f3db1e4a 100644 --- a/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita @@ -1,4 +1,4 @@ - + <ph keyref="startOrUpdateChannelMediaRelay"/> @@ -13,12 +13,11 @@

    - public abstract int startOrUpdateChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration); + public abstract int startOrUpdateChannelMediaRelay(ChannelMediaRelayConfiguration channelMediaRelayConfiguration); public abstract startOrUpdateChannelMediaRelay(channelMediaRelayConfiguration: ChannelMediaRelayConfiguration): number; - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:)); virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StartOrUpdateChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration); abstract startOrUpdateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration @@ -27,18 +26,18 @@ abstract startOrUpdateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> startOrUpdateChannelMediaRelay( + Future<void> startOrUpdateChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    详情
    - -
    自从
    -
    v4.2.0
    + +
    自从:
    +
    自 v4.2.0 版本新增。
    -

    首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 个目标频道。

    +

    成功调用该方法后,SDK 会触发 回调,报告当前的跨频道媒体流转发状态。常见状态如下:

    • 如果 回调报告 (2) 和 (0), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • @@ -50,28 +49,62 @@
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • 跨频道媒体流转发功能需要开通。
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在加入频道后调用该方法。
    • +
    • 该方法仅在你是直播场景中的主播时生效。
    • +
    • 跨频道媒体流转发功能需联系技术支持启用。
    • +
    • 声网不支持在该 API 中使用字符串用户账号。
    • +
    +
    + 请在加入频道后调用该方法。该方法仅在你是极速直播频道中的主播时生效。跨频道媒体流转发功能需联系技术支持开启。该 API 不支持字符串用户账号。 + +
    参数 channelMediaRelayConfiguration - config - configuration + config + configuration 跨频道媒体流转发参数配置。详见 -
    -
    + + configuration + 媒体流转发的配置。详见 + 跨频道媒体流转发的配置,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

      +
        +
      • 0:方法调用成功。
      • < 0:方法调用失败。详见了解详情和解决建议。
        • -1: 一般性的错误(未明确归类)。
        • -2: 参数无效。
        • -8:内部状态错误。可能因为用户角色不是主播。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -1:发生通用错误(无明确原因)。
      • +
      • -2:参数无效。
      • +
      • -8:内部状态错误,可能是因为用户不是主播。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startpreview.dita b/dita/RTC-NG/API/api_irtcengine_startpreview.dita index 4f75a86c559..9d6ff9bb92f 100644 --- a/dita/RTC-NG/API/api_irtcengine_startpreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_startpreview.dita @@ -1,12 +1,12 @@ - + - <ph keyref="startPreview" /> - 开启视频预览。 + <ph keyref="startPreview"/> + 启用本地视频预览。 - + @@ -15,34 +15,45 @@

    public abstract int startPreview(); public abstract startPreview(sourceType?: Constants.VideoSourceType): number; - - (int)startPreview; + - (int)startPreview NS_SWIFT_NAME(startPreview()); virtual int startPreview() = 0; abstract startPreviewWithoutSourceType(): number; public abstract int StartPreview(); abstract startPreviewWithoutSourceType(): number; - Future<void> startPreviewWithoutSourceType();

    + Future<void> startPreviewWithoutSourceType();

    -

    该方法用于启动本地视频预览。

    -
    +

    +
      +
    • 本地预览默认启用镜像模式。
    • +
    • 离开频道后,本地预览仍然保持开启状态。你需要调用 方法关闭本地预览。
    • +
    +
    +
    调用时机 -

    该方法必须在 之后调用。

    -

    该方法必须在 之后调用。

    +

    此方法必须在调用 之后调用。

    +

    该方法必须在 之后调用。

    调用限制
    • 本地预览默认开启镜像功能。
    • -
    • 在离开频道后,本地预览依然处于开启状态。你需要调用 关闭本地预览。
    • +
    • 在离开频道后,本地预览依然处于开启状态。你需要调用 关闭本地预览。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita index 8495e96674f..aad8055a7fb 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita @@ -1,8 +1,8 @@ - + <ph keyref="startRtmpStreamWithoutTranscoding"/> - 开始非转码推流。 + 开始将媒体流以不转码的方式推送到 CDN。 @@ -15,9 +15,9 @@

    public abstract int startRtmpStreamWithoutTranscoding(String url); public abstract startRtmpStreamWithoutTranscoding(url:string): number; - - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; + - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:)); virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StartRtmpStreamWithoutTranscoding(const FString& url); abstract startRtmpStreamWithoutTranscoding(url: string): number; public abstract int StartRtmpStreamWithoutTranscoding(string url); @@ -27,10 +27,22 @@

    详情 -

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    +

    实现服务端旁路推流

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
    +
      +
    • 调用该方法前需先加入频道。
    • +
    • 仅在 LIVE_BROADCASTING 频道场景下的主播角色可调用该方法。
    • +
    • 如果推流失败后需要重试,必须先调用 停止推流,再调用该方法重新推流,否则 SDK 会返回与上次失败相同的错误码。
    • +
    +
    +
      +
    • 请在加入频道后调用该方法。
    • +
    • 只有在 LIVE_BROADCASTING 频道场景中的主播可以调用该方法。
    • +
    • 如果推流失败后需要重试,请先调用 停止推流,再调用该方法重新推流;否则,SDK 会返回与上次失败相同的错误码。
    • +
    +
    +
    参数 @@ -38,7 +50,32 @@ -
    -
    + + url + 旁路推流地址,格式为 RTMP 或 RTMPS。长度不能超过 1024 字节。 + 旁路推流地址。格式为 RTMP 或 RTMPS。字符串长度不能超过 1024 字节。不支持中文等特殊字符。 + +
    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:URL 或转码配置不合法,请检查 URL 和转码配置。
      • +
      • -7:调用该方法前未初始化 SDK。
      • +
      • -19:旁路推流地址已被使用,请更换地址。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:URL 或转码配置不合法。请检查 URL 和转码配置。
      • +
      • -7:调用该方法前未初始化 SDK。
      • +
      • -19:旁路推流地址已被使用,请更换地址。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita index 8db0c14cb14..12054f4ae06 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita @@ -1,8 +1,8 @@ - + <ph keyref="startRtmpStreamWithTranscoding"/> - 开始旁路推流并设置转码属性。 + 开启媒体推流并设置转码配置。 @@ -15,9 +15,9 @@

    public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); public abstract startRtmpStreamWithTranscoding(url: string, transcoding: LiveTranscoding): number; - - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; + - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:)); virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StartRtmpStreamWithTranscoding(const FString& url, const FLiveTranscoding& transcoding); abstract startRtmpStreamWithTranscoding( url: string, @@ -34,7 +34,7 @@

    详情 -

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    +

    你可以调用该方法将音视频流推送到指定的 CDN 地址,并设置转码配置。该方法每次只能推送到一个 CDN 地址。如果需要推送到多个地址,请多次调用该方法。默认情况下,一个声网项目最多支持 200 个并发的媒体流推送任务。如需更高配额,请联系技术支持。实现服务端旁路推流

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    一次推流代表一个推流任务,最大并发任务数默认为 200,表示你在一个声网项目下最多同时运行 200 个推流任务,如需更高配额,请

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    @@ -43,25 +43,44 @@
  • 请在加入频道后调用该方法。
  • 只有直播场景下的主播才能调用该方法。
  • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
  • -
    +
      +
    • 请在加入频道后调用该方法。
    • +
    • 仅在直播场景中,主播角色可以调用该方法。
    • +
    • 如果推流失败后需要重试,请先调用 停止推流,再调用该方法重新推流;否则,SDK 会返回与上次失败相同的错误码。
    • +
    +
    +
      +
    • 请在加入频道后调用该方法。
    • +
    • 只有在 LIVE_BROADCASTING 频道场景中的主播角色可以调用该方法。
    • +
    • 如果推流失败后需要重试,请先调用 停止推流,再调用该方法重新推流;否则,SDK 会返回与上次失败相同的错误码。
    • +
    +
    + +
    参数 url - 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 - + 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 + 媒体推流地址,格式为 RTMP 或 RTMPS。字符串长度不能超过 1024 字节。不支持中文等特殊字符。 + 媒体推流地址。格式为 RTMP 或 RTMPS。字符串长度不能超过 1024 字节。不支持中文等特殊字符。 + transcoding - +

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

    -
    -
    -
    + 媒体推流的转码配置,详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
          @@ -69,6 +88,25 @@
        • -7:调用该方法前,未初始化 SDK。
        • -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:URL 或转码配置不合法。请检查 URL 和转码配置。
      • +
      • -7:调用该方法前未初始化 SDK。
      • +
      • -19:媒体推流地址已被使用。请更换地址。
      • +
      +
    • +
    +

    +

    0:方法调用成功。 +< 0:方法调用失败。 +

      +
    • -2:URL 或转码配置不合法;请检查 urltranscoding 参数。
    • +
    • -7:调用该方法前未初始化 SDK。
    • +
    • -19:媒体推流地址已被使用;请更换地址。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita index 23e72961e00..57d6b43a436 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita @@ -1,25 +1,25 @@ - + - <ph keyref="startScreenCaptureByScreenRect" /> + <ph keyref="startScreenCaptureByScreenRect"/> 开始采集指定屏幕区域的视频流。 - +

    - - - + + + virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StartScreenCaptureByScreenRect(const FRectangle& screenRect, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams) __deprecated; abstract startScreenCaptureByScreenRect( screenRect: Rectangle, @@ -37,18 +37,18 @@ {required Rectangle screenRect, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    详情
    弃用:
    -
    该方法已废弃。请改用 。如果你需要在设备外接其他显示屏的情况下开启屏幕共享,强烈建议你使用
    +
    该方法已废弃。请改用 。如果你需要在设备外接其他显示屏的情况下开启屏幕共享,强烈建议你使用

    共享一个屏幕或该屏幕的部分区域。你需要在该方法中指定想要共享的屏幕区域。

    -

    +

    该方法仅适用于 Windows 平台。

    参数 @@ -59,11 +59,11 @@ regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见
    @@ -73,8 +73,8 @@
    • 0: 方法调用成功。
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
      +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita index f3101081a56..69268c97616 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita @@ -1,27 +1,25 @@ - + - <ph keyref="startScreenCaptureByWindowId" /> - 开始采集指定窗口的视频流。 + <ph keyref="startScreenCaptureByWindowId"/> + 通过指定窗口 ID 采集整个或部分窗口的内容。 - +

    - - + + - (int)startScreenCaptureByWindowId:(UInt32)windowId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - virtual int startScreenCaptureByWindowId(int64_t windowId, - const Rectangle& regionRect, - const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StartScreenCaptureByWindowId(int64 windowId, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams); abstract startScreenCaptureByWindowId( windowId: any, @@ -38,18 +36,44 @@ {required int windowId, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    -

    共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 ID。

    +

    该方法支持 UWP(通用 Windows 平台)应用的窗口共享。声网使用最新的 SDK 对主流 UWP 应用进行了测试,详情如下: +| 系统版本 | 软件 | 兼容版本 | 是否支持 | +| -------- | ---- | -------- | -------- | +| win10 | Chrome | 76.0.3809.100 | 否 | +| | Office Word | 18.1903.1152.0 | 是 | +| | Office Excel | | 否 | +| | Office PPT | | 是 | +| | WPS Word | 11.1.0.9145 | 是 | +| | WPS Excel | | | +| | WPS PPT | | | +| | 系统自带的 Media Player | 所有版本 | 是 | +| win8 | Chrome | 所有版本 | 是 | +| | Office Word | 所有版本 | 是 | +| | Office Excel | | | +| | Office PPT | | | +| | WPS Word | 11.1.0.9098 | 是 | +| | WPS Excel | | | +| | WPS PPT | | | +| | 系统自带的 Media Player | 所有版本 | 是 | +| win7 | Chrome | 73.0.3683.103 | 否 | +| | Office Word | 所有版本 | 是 | +| | Office Excel | | | +| | Office PPT | | | +| | WPS Word | 11.1.0.9098 | 否 | +| | WPS Excel | | | +| | WPS PPT | 11.1.0.9098 | 是 | +| | 系统自带的 Media Player | 所有版本 | 否 |

    该方法仅适用于 macOS 和 Windows 平台。 -

    该方法支持共享通用 Windows 平台(UWP)应用窗口。声网使用最新版 SDK 对主流的 UWP 应用进行了测试,结果如下:

    -

    +

    该方法支持共享通用 Windows 平台(UWP)应用窗口。声网使用最新版 SDK 对主流的 UWP 应用进行了测试,结果如下:

    +

    - - - - + + + + 系统版本 @@ -165,18 +189,24 @@

    -
    + 声网 SDK 的窗口共享功能依赖于 WGC(Windows 图形采集)或 GDI(图形设备接口)采集方式。在 Windows 10 2004 之前的系统中,WGC 无法设置为禁用鼠标采集。因此,在系统版本低于 Windows 10 2004 的设备上开始窗口共享时,captureMouseCursor(false) 可能无法生效。详见 。 +该方法仅适用于 macOS 和 Windows 平台。 +
    适用场景

    在屏幕共享场景下,你需要调用该方法开始采集屏幕视频流。有关屏幕共享的实现方法,详见

    -
    +
    调用时机 -

    +

    你可以在加入频道前或加入频道后调用该方法,具体如下: +

      +
    • 在加入频道前调用该方法,然后调用 joinChannel 加入频道,并将 publishScreenTrackpublishSecondaryScreenTrack 设置为 以开始屏幕共享。
    • +
    • 在加入频道后调用该方法,然后调用 并将 publishScreenTrackpublishSecondaryScreenTrack 设置为 以开始屏幕共享。
    • +
    +

    调用限制 -

    SDK 的窗口共享功能依赖于 WGC(Windows Graphics Capture)或 GDI(Graphics Device Interface)采集,WGC 在早于 Windows 10 2004 的系统上无法设置关闭鼠标采集,因此,当你在搭载早于 Windows 10 2004 系统的设备上进行窗口共享时,可能出现 captureMouseCursor(false) 不生效的现象。详见

    无。

    @@ -184,12 +214,14 @@ windowId - 指定待共享的窗口 ID。 - - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 - + 指定待共享的窗口 ID。 + 要共享的窗口的 ID。 + + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 + (可选)设置相对于屏幕的区域位置。如果未设置该参数,SDK 会共享整个屏幕。如果指定的区域超出窗口范围,SDK 仅共享窗口内的区域;如果设置的宽或高为 0,SDK 会共享整个窗口。详见 + regionRect @@ -209,16 +241,27 @@ captureParams - 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    -
    + 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + 屏幕共享配置。默认视频分辨率为 1920 × 1080,即 2,073,600 像素。声网会根据该参数的值计算费用。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。
      • +
      • -8:屏幕共享状态无效。可能是因为你已共享了其他屏幕或窗口。请尝试调用 停止当前共享后重新开始共享。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita b/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita index 59b52beade9..71ff8b2b46f 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita @@ -1,47 +1,51 @@ - + - <ph keyref="stopAllEffects" /> - 停止播放所有音效文件。 + <ph keyref="stopAllEffects"/> + 停止播放所有音效。 - +

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

    + + + + +

    -

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

    -
    -
    +

    +
    + 调用时机 +

    在调用 之后调用此方法。

    +
    调用限制

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita index bfd77646f39..32daccf0018 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopAudioMixing" /> + <ph keyref="stopAudioMixing"/> 停止播放音乐文件。 - + @@ -14,34 +14,38 @@

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

    + + + + +

    -

    当你调用 方法播放音乐文件后,如需停止播放,可调用该方法。如果仅需暂停播放,请调用

    +

    调用时机 -

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

    -
    +

    请在加入频道后调用此方法。

    +
    调用限制

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita b/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita index 17b7cdb82bd..48fd23052f3 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopAudioRecording" /> - 停止客户端录音。 + <ph keyref="stopAudioRecording"/> + 停止客户端音频录制。 - + @@ -15,23 +15,41 @@

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

    +

    -
    -
    +
    请在调用 leaveChannel 方法前调用此方法,否则在调用 leaveChannel 方法时录音会自动停止。 + 请在调用 leaveChannel 方法前调用该方法,否则在调用 leaveChannel 方法时录制会自动停止。 +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见 Error Codes 获取错误码说明及解决方案。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见 Error Codes 获取错误码说明和排查建议。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见 Error Codes 获取详细信息和排查建议。
    • +
    +

    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita b/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita index a15339907d2..de58c1ea30d 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopCameraCapture" /> - 停止通过摄像头采集视频。 + <ph keyref="stopCameraCapture"/> + 停止摄像头采集。 - + @@ -17,24 +17,18 @@ public abstract stopCameraCapture(sourceType: Constants.VideoSourceType): number; - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:)); virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StopCameraCapture(EVIDEO_SOURCE_TYPE sourceType); abstract stopCameraCapture(sourceType: VideoSourceType): number; public abstract int StopCameraCapture(VIDEO_SOURCE_TYPE sourceType); abstract stopCameraCapture(sourceType: VideoSourceType): number; - Future<void> stopCameraCapture(VideoSourceType sourceType); -

    + Future<void> stopCameraCapture(VideoSourceType sourceType); +

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -
    -

    调用 开启一路或多路摄像头采集的视频流后,你可以调用该方法,通过设置 sourceType 停止一路或多路摄像头的视频采集。

    - 在 iOS 平台上,如果要关闭多路摄像头采集,需要在调用该方法之后调用 并设置 enabled +

    调用 开启一路或多路摄像头采集的视频流后,你可以调用该方法,通过设置 sourceType 停止一路或多路摄像头的视频采集。

    + 在 iOS 平台上,如果要关闭多路摄像头采集,需要在调用该方法之后调用 并设置 enabled 如果你正在使用本地合图功能,调用该方法停止通过第一个摄像头采集视频,会造成本地合图中断。
    @@ -42,16 +36,23 @@ sourceType - 视频源的类型,详见 - - + 视频源的类型,详见 + 视频源类型。详见 + +
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita index f728a4ce952..8f264bb0ff6 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopChannelMediaRelay" /> - 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 + <ph keyref="stopChannelMediaRelay"/> + 停止跨频道媒体流转发。 - + @@ -15,30 +15,54 @@

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

    +

    详情 -

    成功调用该方法后,SDK 会触发 回调。如果报告 (0) 和 (0),则表示已停止转发媒体流。

    +

    回调。如果报告 (0) 和 (0),则表示已停止转发媒体流。

    - 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 -
    -
    + 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 + 如果方法调用失败,SDK 会触发 回调,并返回 (2)或 (8)状态码。你可以调用 leaveChannel 方法离开频道,媒体流转发会自动停止。 + 如果方法调用失败,SDK 会通过 回调报告 (2)或 (8)错误码。你可以调用 方法离开频道,媒体流转发会自动停止。 + 如果方法调用失败,SDK 会通过 回调报告 (2)或 (8)状态码。你也可以调用 leaveChannel 方法退出频道,跨频道媒体流转发会自动停止。 +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • +

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

      +
        +
      • 0:方法调用成功。
      • < 0:方法调用失败。详见了解详情和解决建议。
        • -5: 方法调用被拒绝。当前没有正在进行的跨频道媒体流转发。
      • -
    - -
    \ No newline at end of file + +

    +

    +

    +

    + + + + diff --git a/dita/RTC-NG/API/api_irtcengine_stopechotest.dita b/dita/RTC-NG/API/api_irtcengine_stopechotest.dita index 5b2208d4e8c..5113402720a 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopechotest.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopechotest.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopEchoTest" /> - 停止语音通话回路测试。 + <ph keyref="stopEchoTest"/> + 停止音频回声测试。 - + @@ -14,32 +14,53 @@

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

    + + + + +

    -

    调用 后,必须调用该方法结束测试,否则该用户无法进行下一次音视频通话回路测试,也无法加入频道。

    +

    -
    +
    + 调用限制 +

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • - < 0: 方法调用失败。详见了解详情和解决建议。 - - -
        -
      • -5(ERR_REFUSED): 停止测试失败,可能是测试不在运行中。
      • -
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -5:停止回声测试失败,可能未在运行回声测试。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -5():停止回声测试失败,可能是回声测试未运行。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -5():停止回声测试失败,可能是回声测试未在运行中。
      • +
      +
    • +
    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopeffect.dita b/dita/RTC-NG/API/api_irtcengine_stopeffect.dita index 0e74806bcd4..915099e7be5 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopeffect.dita @@ -1,39 +1,39 @@ - + - <ph keyref="stopEffect" /> - 停止播放指定音效文件。 + <ph keyref="stopEffect"/> + 停止播放指定的音效。 - +

    - public abstract int stopEffect(int soundId); - + public abstract int stopEffect(int soundId); public abstract stopEffect(soundId:number):number; - - (int)stopEffect:(int)soundId; - + - (int)stopEffect:(int)soundId NS_SWIFT_NAME(stopEffect(_:)); virtual int stopEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StopEffect(int soundId); abstract stopEffect(soundId: number): number; public abstract int StopEffect(int soundId); abstract stopEffect(soundId: number): number; Future<void> stopEffect(int soundId); -

    +

    -

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

    -
    +

    如果你不再需要播放某个音效,可以调用该方法停止播放。若只需暂停播放,请调用 。 + +调用时机:在调用 之后调用。

    +
    调用时机 -

    该方法需要在 之后调用。

    -

    该方法需要在 之后调用。

    +

    在调用 之后调用。

    +

    该方法需要在 之后调用。

    调用限制 @@ -44,15 +44,24 @@ soundId - 指定音效文件的 ID。每个音效文件均有唯一的 ID。 - -
    -
    + 指定音效文件的 ID。每个音效文件均有唯一的 ID。 + 音效的 ID,每个音效都有唯一的 ID。 + 音效的 ID。每个音效均有唯一的 ID。 + 音效的 ID,每个音效对应一个唯一的 ID。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita b/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita index d4ca80496bb..a1bc38b626d 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopLastmileProbeTest" /> - 停止通话前网络质量探测。 + <ph keyref="stopLastmileProbeTest"/> + 停止最后一公里网络探测测试。 - + @@ -14,23 +14,34 @@

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

    + + + + +

    -
    +
    +

    +

    +
    + 调用限制 +

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita b/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita index d9e10fff443..25da102785d 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoplocalaudiomixer.dita @@ -1,8 +1,8 @@ - + <ph keyref="stopLocalAudioMixer"/> - 停止本地音频合流。 + 停止本地音频混音。 @@ -22,34 +22,45 @@ abstract stopLocalAudioMixer(): number; public abstract int StopLocalAudioMixer(); abstract stopLocalAudioMixer(): number; - Future<void> stopLocalAudioMixer();

    + Future<void> stopLocalAudioMixer();

    -
    - -
    自从
    -
    v4.5.0
    -
    -

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

    调用时机 -

    该方法需要在 之后调用。

    +

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

    调用限制

    无。

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

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7: 对象尚未初始化。请在调用此方法前先初始化 对象。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7:RtcEngineKit 对象尚未初始化。请在调用此方法前先初始化 RtcEngineKit 对象。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita b/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita index f217a6cb237..5707d616b8e 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopLocalVideoTranscoder" /> + <ph keyref="stopLocalVideoTranscoder"/> 停止本地合图。 - + @@ -14,28 +14,34 @@

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

    + virtual int stopLocalVideoTranscoder() = 0; + + + + +

    -
    - 详情 -

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

    +
    +

    -
    +
    + 调用限制 +

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita b/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita index 0c40784a7c6..b5bc0e468ab 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopRhythmPlayer" /> - 关闭虚拟节拍器。 + <ph keyref="stopRhythmPlayer"/> + 禁用虚拟节拍器。 - + @@ -14,33 +14,34 @@

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

    + + + + +

    -
    - 详情 -
    - -
    弃用:
    -
    该方法自 v4.6.0 版本废弃。
    -
    -
    -

    调用 后,你可以调用该方法关闭虚拟节拍器。

    - 该方法仅适用于 Android 和 iOS。
    -
    +
    +

    +

    +
    + 调用限制 +

    无。

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

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita b/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita index e40e05afdb3..53b5fa1f95b 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita @@ -1,8 +1,8 @@ - + - <ph keyref="stopRtmpStream"/> - 结束旁路推流。 + <ph keyref="stopRtmpStream"/> + 停止向指定 CDN 地址推送媒体流。 @@ -13,38 +13,48 @@

    - public abstract int stopRtmpStream(String url); - public abstract stopRtmpStream(url: string): number; - - (int)stopRtmpStream:(NSString* _Nonnull)url; + + + - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:)); virtual int stopRtmpStream(const char* url) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int StopRtmpStream(const FString& url); - abstract stopRtmpStream(url: string): number; - public abstract int StopRtmpStream(string url); - abstract stopRtmpStream(url: string): number; - Future<void> stopRtmpStream(String url); -

    + + + + +

    -
    - 详情 -

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    -

    调用该方法,你可以结束指定的旁路推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。

    -

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    + +
    参数 - - - + + url + 旁路推流地址,格式为 RTMP 或 RTMPS。字符串长度不能超过 1024 字节,不支持中文等特殊字符。 + 旁路推流地址,格式为 RTMP 或 RTMPS。该字符串长度不能超过 1024 字节,不支持中文等特殊字符。
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita b/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita index 5fd2becf53f..0956e25376a 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita @@ -1,12 +1,12 @@ - + - <ph keyref="stopScreenCapture" /> + <ph keyref="stopScreenCapture"/> 停止屏幕采集。 - + @@ -15,42 +15,54 @@

    public abstract int stopScreenCapture(); public abstract stopScreenCapture(): number; - - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture()); - + - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture()); #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) virtual int stopScreenCapture() = 0; #endif - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int StopScreenCapture(); abstract stopScreenCapture(): number; public abstract int StopScreenCapture(); abstract stopScreenCapture(): number; Future<void> stopScreenCapture(); -

    +

    -
    +
    + +
    自从:
    +
    自 v3.7.0 版本新增。
    +
    +
    + 该方法适用于 macOS / iOS。 +
    适用场景 -

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

    +

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

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

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

    -

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

    +

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

    调用时机 -

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

    +

    你可以在加入频道前或加入频道后调用该方法。

    调用限制

    无。

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

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_switchcamera.dita b/dita/RTC-NG/API/api_irtcengine_switchcamera.dita index 66f604f9884..f13e9544e61 100644 --- a/dita/RTC-NG/API/api_irtcengine_switchcamera.dita +++ b/dita/RTC-NG/API/api_irtcengine_switchcamera.dita @@ -1,12 +1,12 @@ - + - <ph keyref="switchCamera" /> - 切换前置/后置摄像头。 + <ph keyref="switchCamera"/> + 在前置摄像头和后置摄像头之间切换。 - + @@ -15,35 +15,47 @@

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

    +

    -

    你可以调用该方法在 App 运行期间基于可用摄像头的实际情况来动态切换摄像头,而无需重启视频流或重新配置视频源。

    +

    你可以在应用运行过程中,根据实际可用的摄像头动态切换前置或后置摄像头,无需重启视频流或重新配置视频源。

    该方法和 均用于切换摄像头,区别在于 通过指定摄像头 ID 切换到特定的摄像头,该方法则切换摄像头的方向(前置或后置)。

    - 该方法仅适用于 Android 和 iOS。 -
    + 该方法仅适用于 Android 和 iOS。 +
      +
    • 此方法仅切换由第一个摄像头采集的视频流的摄像头,即调用 时视频源设置为 (0)的视频流。
    • +
    • 此方法仅适用于 Android 和 iOS 平台。
    • +
    +
    + 此方法仅切换由第一个摄像头采集的视频流的摄像头,即调用 时视频源设置为 (0)的视频流。 +
    调用时机 -

    该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) 后。

    +

    必须在摄像头成功启用后调用,即 SDK 触发 回调并返回本地视频状态为 (1)之后。

    调用限制 -

    该方法仅会对第一路摄像头采集的视频流进行摄像头切换操作,即调用 时设置为 (0) 的视频源。

    +

    无。

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

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita b/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita index b592cbe8537..9439274cd4a 100644 --- a/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita @@ -1,37 +1,47 @@ - + - <ph keyref="unloadAllEffects" /> - 从内存释放所有预加载音效文件。 + <ph keyref="unloadAllEffects"/> + 释放所有已预加载的音效资源。 - +

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

    + + + + virtual int unloadAllEffects() = 0; + + + + +

    -
    +
    +

    +

    +
    + 调用限制 +

    无。

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

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita b/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita index 88057b630a4..6c3f9a0def3 100644 --- a/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita @@ -1,38 +1,36 @@ - + - <ph keyref="unloadEffect" /> - 从内存释放某个预加载的音效文件。 + <ph keyref="unloadEffect"/> + 从内存中释放指定的预加载音效文件。 - +

    - public abstract int unloadEffect(int soundId); - - - - (int)unloadEffect:(int)soundId; - + public abstract int unloadEffect(int soundId); + + - (int)unloadEffect:(int)soundId NS_SWIFT_NAME(unloadEffect(_:)); virtual int unloadEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int UnloadEffect(int soundId); abstract unloadEffect(soundId: number): number; public abstract int UnloadEffect(int soundId); abstract unloadEffect(soundId: number): number; Future<void> unloadEffect(int soundId); -

    +

    -

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

    -
    +

    调用该方法可以释放通过预加载方式加载到内存中的音效文件资源,从而减少内存占用。你可以在加入频道前或加入频道后调用此方法。 将音效文件加载至内存后,如需释放该音效文件,请调用该方法。

    +
    调用时机 -

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

    +

    你可以在加入频道前或加入频道后调用此方法。

    调用限制 @@ -43,15 +41,29 @@ soundId - 指定音效文件的 ID。每个音效文件均有唯一的 ID。 - -
    -
    + 指定音效文件的 ID。每个音效文件均有唯一的 ID。 + 音效的 ID。每个音效文件对应一个唯一的 ID。 + 音效的 ID。每个音效均有唯一的 ID。 + 音效的 ID。 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita index bcb5f323b8b..58e1915b96b 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita @@ -1,12 +1,12 @@ - + - <ph keyref="unregisterAudioSpectrumObserver" /> - 取消注册音频频谱观测器。 + <ph keyref="unregisterAudioSpectrumObserver"/> + 注销音频频谱观察器。 - + @@ -14,10 +14,10 @@

    public abstract int unRegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); - - - (int) unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate; + + - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:)); virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnregisterAudioSpectrumObserver(UIAudioSpectrumObserver* observer); abstract unregisterAudioSpectrumObserver( observer: IAudioSpectrumObserver @@ -27,28 +27,37 @@ observer: IAudioSpectrumObserver ): number; void unregisterAudioSpectrumObserver(AudioSpectrumObserver observer); -

    +

    详情 -

    调用 后,如果你想取消注册音频频谱观测器,请调用该方法。

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

    如果你希望关闭音频频谱监测,可以调用该方法。 后,如果你想取消注册音频频谱观测器,请调用该方法。

    + 该方法在加入频道前后均可调用。 你可以在加入频道前或加入频道后调用此方法。 + 你可以在加入频道前或后调用此方法。 +
    +
    参数 - observer - delegate - 音频频谱观测器。详见 。 + observer + delegate + 音频频谱观测器。详见 - -
    -
    + 音频频谱观察器。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita index 19927fbfe71..4335635c650 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita @@ -1,12 +1,12 @@ - + - <ph keyref="unregisterMediaMetadataObserver" /> - 取消注册媒体 metadata 观测器。 + <ph keyref="unregisterMediaMetadataObserver"/> + 取消注册指定的元数据观察器。 - + @@ -14,44 +14,51 @@

    public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); - public abstract unregisterMediaMetadataObserver(observer:IMetadataObserver,type:number):number; - + + virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") - int UnregisterMediaMetadataObserver(UIMetadataObserver* observer, FENUMWRAP_METADATA_TYPE type); - abstract unregisterMediaMetadataObserver( - observer: IMetadataObserver, - type: MetadataType - ): number; - public abstract int UnregisterMediaMetadataObserver(); - abstract unregisterMediaMetadataObserver( - observer: IMetadataObserver, - type: MetadataType - ): number; - void unregisterMediaMetadataObserver( - {required MetadataObserver observer, required MetadataType type}); -

    + + + + +

    -
    +
    +

    +

    +
    + 调用限制 +

    无。

    +
    +
    参数 - - observer - metadata 观测器,详见 - - - - - - -
    -
    + + observer + 元数据观察器。详见 + + + type + 元数据类型。当前仅支持以下类型: +
      +
    • :视频元数据。
    • +
    +
    + 元数据类型。详见 IMetadataObserver::METADATA_TYPE。SDK 当前仅支持 +
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita b/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita index 17c4e34f311..ff8c8628d0b 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita @@ -1,12 +1,12 @@ - + - <ph keyref="updateChannelMediaOptions" /> + <ph keyref="updateChannelMediaOptions"/> 加入频道后更新频道媒体选项。 - + @@ -15,39 +15,76 @@

    public abstract int updateChannelMediaOptions(ChannelMediaOptions options); public abstract updateChannelMediaOptions(options: ChannelMediaOptions): number; - - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; + - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions NS_SWIFT_NAME(updateChannel(with:)); virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int UpdateChannelMediaOptions(const FChannelMediaOptions& options); abstract updateChannelMediaOptions(options: ChannelMediaOptions): number; public abstract int UpdateChannelMediaOptions(ChannelMediaOptions options); abstract updateChannelMediaOptions(options: ChannelMediaOptions): number; Future<void> updateChannelMediaOptions(ChannelMediaOptions options); -

    +

    参数 - options - mediaOptions - 频道媒体选项,详见 + options + mediaOptions + 频道媒体选项,详见 + 频道媒体选项。详见 + + + mediaOptions + 频道媒体选项。详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
          -
        • -2: 成员值设置无效。例如,使用了不合法的 Token,设置了无效的用户角色。你需要填入有效的参数。
        • -
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • -
        • -8: 对象内部状态错误。可能的原因是用户不在频道中。建议通过 回调判断用户是否在频道中。如果收到 (1) 或 (5),则表示用户不在频道中。你需要在调用该方法前调用 加入频道。
        • +
        • -2: 成员值设置无效。例如,使用了不合法的 Token,设置了无效的用户角色。你需要填入有效的参数。
        • +
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • +
        • -8: 对象内部状态错误。可能的原因是用户不在频道中。建议通过 回调判断用户是否在频道中。如果收到 (1) 或 (5),则表示用户不在频道中。你需要在调用该方法前调用 加入频道。
      • -
    + +

    返回值: +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2: 中某个成员的值无效,例如 token 或用户 ID 无效。你需要填写有效的参数。
      • +
      • -7: 对象尚未初始化。你需要先初始化 对象再调用该方法。
      • +
      • -8: 对象的内部状态错误,可能的原因是用户未加入频道。建议你通过 回调判断用户是否在频道中。如果你收到 (1)或 (5)状态,说明用户不在频道中。你需要先调用 joinChannel 加入频道,再调用该方法。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2: 中某个成员的值无效,例如 token 或用户 ID 无效。你需要填写有效的参数。
      • +
      • -7: 对象尚未初始化。你需要先初始化 对象再调用该方法。
      • +
      • -8: 对象的内部状态错误,可能的原因是你尚未加入频道。声网建议你通过 回调判断是否已加入频道。如果你收到 (1)或 (5)状态,说明你未加入频道。你需要先调用 加入频道,再调用该方法。
      • +
      +
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2: 中的成员值无效,例如 token 或用户 ID 无效。你需要填写有效的参数。
      • +
      • -7: 对象尚未初始化。你需要先初始化 对象再调用该方法。
      • +
      • -8: 对象的内部状态错误,可能的原因是用户不在频道中。声网建议你通过 回调判断用户是否在频道中。如果你收到 (1)或 (5)状态,说明用户不在频道中。你需要先调用 joinChannel 加入频道,再调用该方法。
      • +
      +
    • +
    +

    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita index f9f93cea745..2a7d98a0bb2 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatelocalaudiomixerconfiguration.dita @@ -1,8 +1,8 @@ - + <ph keyref="updateLocalAudioMixerConfiguration"/> - 更新本地音频合流的配置。 + 更新本地音频混音配置。 @@ -26,21 +26,15 @@ abstract updateLocalAudioMixerConfiguration( config: LocalAudioMixerConfiguration ): number; - Future<void> updateLocalAudioMixerConfiguration( + Future<void> updateLocalAudioMixerConfiguration( LocalAudioMixerConfiguration config);

    -
    - -
    自从
    -
    v4.5.0
    -
    -

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

    调用时机 -

    该方法需要在 之后调用。

    +

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

    调用限制 @@ -52,16 +46,29 @@ -
    -
    + + config + 本地音频混音配置。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -7: 对象尚未初始化。请在调用此方法前先初始化 对象。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita index 6a34528b317..3043bd54ecc 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita @@ -1,55 +1,56 @@ - + - <ph keyref="updateLocalTranscoderConfiguration" /> + <ph keyref="updateLocalTranscoderConfiguration"/> 更新本地合图配置。 - +

    - public abstract int updateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); - public abstract updateLocalTranscoderConfiguration(config: LocalTranscoderConfiguration): number; + + - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:)); - virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int UpdateLocalTranscoderConfiguration(const FLocalTranscoderConfiguration& config); - abstract updateLocalTranscoderConfiguration( - config: LocalTranscoderConfiguration - ): number; - public abstract int UpdateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); - abstract updateLocalTranscoderConfiguration( - config: LocalTranscoderConfiguration - ): number; - Future<void> updateLocalTranscoderConfiguration( - LocalTranscoderConfiguration config); -

    + virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; + + + + +

    -
    - 详情 -

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

    - 如果你想要更新用于合图的的本地采集视频源类型,比如:增加第二路摄像头或者屏幕采集的视频,需要在 之后调用该方法。 +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - config - 本地合图的配置,详见 + + config + 本地合图配置。详见 + 本地视频合图配置,详见
    -
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + + diff --git a/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita b/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita index 6c4d210d4ce..442076eef3a 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita @@ -1,8 +1,8 @@ - + <ph keyref="updatePreloadChannelToken"/> - 更新预加载频道的通配 Token。 + 更新用于预加载频道的通配 Token。 @@ -14,24 +14,18 @@

    public abstract int updatePreloadChannelToken(String token); - + - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:)); virtual int updatePreloadChannelToken(const char* token) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int UpdatePreloadChannelToken(const FString& token); abstract updatePreloadChannelToken(token: string): number; public abstract int UpdatePreloadChannelToken(string token); abstract updatePreloadChannelToken(token: string): number; - Future<void> updatePreloadChannelToken(String token);

    + Future<void> updatePreloadChannelToken(String token);

    详情 -
    - -
    自从
    -
    v4.2.2
    -
    -

    你需要自行维护通配 Token 的生命周期。当通配 Token 过期后,你需要在你的服务端生成新的通配 Token,然后通过此方法来传入新的 Token。

    @@ -43,19 +37,45 @@ token - 新的 Token。 + 新的 Token。 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
        • -2:传入的参数无效。例如,使用了不合法的 Token。你需要填入有效的参数,重新加入频道。
        • -
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
        • +
        • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效,例如 Token 无效。你需要传入有效的参数并重新加入频道。
      • +
      • -7: 对象尚未初始化。你需要先初始化 对象,然后再调用该方法。
      • +
      +
    • +
    +

    +

    0:方法调用成功。 +< 0:方法调用失败。 +

      +
    • -2:参数无效。例如,Token 无效。你需要传入有效的参数并重新加入频道。
    • +
    • -7:未初始化 对象。你需要先初始化 对象再调用该方法。
    • +
    +

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效,例如 Token 无效。你需要传入有效参数并重新加入频道。
      • +
      • -7:未初始化 对象。你需要先初始化 对象再调用该方法。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita b/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita index f7ecdf47f0d..e872c38ddbb 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita @@ -1,8 +1,8 @@ - + - <ph keyref="updateRtmpTranscoding"/> - 更新旁路推流转码属性。 + <ph keyref="updateRtmpTranscoding"/> + 更新旁路推流的转码配置。 @@ -13,37 +13,43 @@

    - public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); - public abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; + + + - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:)); virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") - int UpdateRtmpTranscoding(const FLiveTranscoding& transcoding); - abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); -

    + + + + +

    -
    - 详情 -

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    -

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 回调。

    +
    +

    -
    +
    + 调用限制 +

    无。

    +
    +
    参数 - - - - + + transcoding + 旁路推流的转码配置。详见 +
    -
    +
    <ph keyref="return-section-title"/> -

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

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

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    + diff --git a/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita index 597a2f20cf2..7a4085be178 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita @@ -1,62 +1,81 @@ - + - <ph keyref="updateScreenCapture" /> - 更新屏幕采集的参数配置。 + <ph keyref="updateScreenCapture"/> + 更新屏幕采集参数。 - +

    - + - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nonnull)parameters NS_SWIFT_NAME(updateScreenCapture(_:)); - virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") + virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int UpdateScreenCapture(const FScreenCaptureParameters2& captureParams); abstract updateScreenCapture(captureParams: ScreenCaptureParameters2): number; public abstract int UpdateScreenCapture(ScreenCaptureParameters2 captureParams); abstract updateScreenCapture(captureParams: ScreenCaptureParameters2): number; Future<void> updateScreenCapture(ScreenCaptureParameters2 captureParams); -

    +

    详情 -

    如果在开启屏幕共享时未采集系统音频、然后想要更新参数配置、发布系统音频,可参考以下步骤: -

      +

      如果在启用屏幕共享时未采集系统音频,之后你希望更新参数配置并发布系统音频,可以参考以下步骤: +1. 调用该方法,并将 captureAudio 设置为 。 +2. 调用 ,并将 publishScreenCaptureAudio 设置为 ,以发布通过屏幕采集的音频。

      1. 调用该方法并设置 captureAudio
      2. 调用 设置 publishScreenCaptureAudio,即可发布屏幕采集的音频。

        -
      • 该方法仅适用于 Android 和 iOS 平台。
      • -
      • 在 iOS 平台上,屏幕共享仅适用于 iOS 12.0 及以上。
      • +
      • 该方法仅适用于 Android 和 iOS 平台。
      • +
      • 在 iOS 平台上,屏幕共享仅适用于 iOS 12.0 及以上。
      -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 在 iOS 平台上,屏幕共享仅支持 iOS 12.0 及以上版本。
    • +
    +
    +
    参数 parameters - captureParams - 屏幕共享的编码参数配置。详见 + captureParams + 屏幕共享的编码参数配置。详见 + + + captureParams + 屏幕共享的编码参数。详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。
      • -
    + +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。
      • +
      • -8:屏幕共享状态无效。可能是因为你已共享了其他屏幕或窗口。请调用 停止当前共享后重新开始。
      • +
      +
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita index 2e6ca6d4a9e..02996b6f8b7 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita @@ -1,25 +1,24 @@ - + - <ph keyref="updateScreenCaptureParameters" /> - 更新屏幕采集的参数配置。 + <ph keyref="updateScreenCaptureParameters"/> + 更新屏幕采集参数。 - +

    - public abstract int updateScreenCaptureParameters( - ScreenCaptureParameters screenCaptureParameters); - + 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") + UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine") int UpdateScreenCaptureParameters(const FScreenCaptureParameters& captureParams); abstract updateScreenCaptureParameters( captureParams: ScreenCaptureParameters @@ -30,35 +29,57 @@ ): number; Future<void> updateScreenCaptureParameters( ScreenCaptureParameters captureParams); -

    +

    +
    + +
    自从:
    +
    自 v3.7.0 版本新增。
    +
    +
    详情
      -
    • 该方法仅适用于 Windows 和 macOS 平台。
    • +
    • 该方法仅适用于 Windows 和 macOS 平台。
    • 请在开启屏幕共享或窗口共享后调用该方法。
    • -
    + 该方法仅适用于 Windows 和 macOS 平台。请在开始屏幕共享或窗口共享后调用该方法。 + 请在开始屏幕共享或窗口共享后调用此方法。 +
    参数 screenCaptureParameters - captureParams - 屏幕共享的编码参数配置。详见 。 + captureParams + 屏幕共享的编码参数配置。详见 屏幕共享流的视频属性只需通过该参数设置,与 无关。 -
    -
    + + captureParams + 屏幕共享的编码参数。屏幕共享视频流的视频属性仅需通过该参数设置,与 无关。详见 + +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
        +
      • -2:参数无效。
      • +
      • -8:屏幕共享状态无效。可能是因为你已共享了其他屏幕或窗口。请尝试调用 停止当前共享,然后重新开始共享屏幕。
      • +
      +
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita b/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita index e36d231d4d8..b029b5bc9ab 100644 --- a/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita +++ b/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita @@ -1,12 +1,12 @@ - + - <ph keyref="release_IScreenCaptureSourceList"/> - 释放 + <ph keyref="release"/> + 释放 对象。 - + @@ -14,21 +14,26 @@

    - - + + + (void)destroy NS_SWIFT_NAME(destroy()); virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") void Release(); -

    +

    详情 -

    获取可共享的窗口和屏幕对象列表后,为避免内存泄露,请调用该方法释放 ,不要直接删除

    +

    调用 获取可共享的窗口和屏幕列表后,为避免内存泄漏,请调用 方法释放 对象,而不是直接删除该对象。,不要直接删除

    该方法仅适用于 macOS 和 Windows。 -
    + 方法仅适用于 macOS 和 Windows 平台。 +
      +
    • 不建议在 SDK 的任何回调中调用 方法。否则,SDK 需等待回调返回结果后才能释放资源,可能导致死锁。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita b/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita index 7e69220653b..3da6d1f9563 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita @@ -1,42 +1,49 @@ - + - <ph keyref="enumerateVideoDevices" /> - 获取系统中所有的视频设备列表。 + <ph keyref="enumerateVideoDevices"/> + 枚举系统中的视频设备。 - +

    - - - + + + virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") UVideoDeviceCollection* EnumerateVideoDevices(); abstract enumerateVideoDevices(): VideoDeviceInfo[]; public abstract DeviceInfo[] EnumerateVideoDevices(); abstract enumerateVideoDevices(): VideoDeviceInfo[]; List<VideoDeviceInfo> enumerateVideoDevices(); -

    +

    详情 - 该方法仅适用于 Windows 和 macOS。 -

    该方法返回一个 对象,包含系统中所有的视频设备。通过 对象,App 可以枚举视频设备。 - App 必须调用 方法在使用过后释放返回的对象。

    -
    -
    + 该方法仅适用于 Windows 和 macOS。 +

    你可以通过该方法获取一个包含系统中所有视频设备的 对象。使用该对象可以枚举视频设备。使用完毕后,必须调用其 方法释放资源。 对象,包含系统中所有的视频设备。通过 对象,App 可以枚举视频设备。 + App 必须调用 方法在使用过后释放返回的对象。

    + 该方法仅适用于 Windows 和 macOS 平台。 +
    +
    返回值 -
      -
    • 方法调用成功: 返回一个 对象,其中包含系统中所有视频设备。
    • -
    • 方法调用成功:返回一个 数组,其中包含系统中所有视频设备。
    • -
    • 方法调用失败: 返回空列表。
    • -
    +
      +
    • 方法调用成功: 返回一个 对象,其中包含系统中所有视频设备。
    • +
    • 方法调用成功:返回一个 数组,其中包含系统中所有视频设备。
    • +
    • 方法调用失败: 返回空列表。
    • +
    +

      +
    • 方法调用成功,返回一个 对象,详见
    • +
    • 方法调用失败,返回
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita b/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita index b1100af551e..8d2ff93d4d1 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita @@ -1,24 +1,23 @@ - + - <ph keyref="getCapability" /> - 获取视频采集设备在指定的视频格式下的详细视频帧信息。 + <ph keyref="getCapability"/> + 获取指定视频格式下视频采集设备的详细视频帧信息。 - +

    - - - - virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + + virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int GetCapability(const FString & deviceIdUTF8, int deviceCapabilityNumber, FVideoFormat& capability); abstract getCapability( deviceIdUTF8: string, @@ -29,36 +28,49 @@ deviceIdUTF8: string, deviceCapabilityNumber: number ): VideoFormat; - Future<VideoFormat> getCapability( + Future<VideoFormat> getCapability( {required String deviceIdUTF8, required int deviceCapabilityNumber}); -

    +

    详情 - 该方法仅适用于 Windows 和 macOS。 -

    在调用 获取视频采集设备支持的视频格式数量后,你可以调用该方法获取指定索引号支持的具体视频帧信息。

    -
    + 该方法仅适用于 Windows 和 macOS。 +

    调用 获取视频采集设备支持的视频格式数量后,可调用该方法获取指定索引对应的视频帧详细信息。 获取视频采集设备支持的视频格式数量后,你可以调用该方法获取指定索引号支持的具体视频帧信息。

    + 该方法仅适用于 Windows 和 macOS 平台。 +
    参数 - - + + deviceCapabilityNumber - 视频格式的索引号。如果 的返回值为 i,则该参数取值范围为[0,i)。 - - - capability - 输出参数。表示指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见 + 视频格式的索引号。如果 的返回值为 i,则该参数取值范围为[0,i)。 + 视频格式的索引号。如果 的返回值为 i,则该参数的取值范围为 [0, i)。 + + + capability + 输出参数。表示指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见 + 输出参数,表示指定视频格式的详细信息,包括宽度(px)、高度(px)和帧率(fps)。详见 + + + deviceIdUTF8 + 视频采集设备的 ID。 -
    -
    +
    +
    返回值 -
      +
      • 0: 方法调用成功。
      • < 0: 方法调用失败。详见了解详情和解决建议。
      -

      指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见

    +

    指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见

    +

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita b/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita index ba595cedf22..25623f63280 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita @@ -1,51 +1,57 @@ - + - <ph keyref="numberOfCapabilities" /> + <ph keyref="numberOfCapabilities"/> 获取指定视频采集设备支持的视频格式数量。 - +

    - - - - virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0; - - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + + virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int NumberOfCapabilities(const FString & deviceIdUTF8); abstract numberOfCapabilities(deviceIdUTF8: string): number; public abstract int NumberOfCapabilities(string deviceIdUTF8); abstract numberOfCapabilities(deviceIdUTF8: string): number; Future<void> numberOfCapabilities(String deviceIdUTF8); -

    +

    详情 - 该方法仅适用于 Windows 和 macOS。 -

    视频采集设备可能支持多种视频格式,每一种格式都支持不同的视频帧宽度、视频帧高度、帧率组合。

    -

    你可以通过调用该方法,获取指定的视频采集设备可支持多少种视频格式,然后调用 获取指定视频格式下的具体视频帧信息。

    -
    + 该方法仅适用于 Windows 和 macOS。 +

    视频采集设备可能支持多种视频格式,每种格式支持不同的视频帧宽度、高度和帧率组合。你可以调用该方法获取指定视频采集设备支持的视频格式数量,然后调用 获取对应格式的视频帧信息。

    +

    你可以通过调用该方法,获取指定的视频采集设备可支持多少种视频格式,然后调用 获取指定视频格式下的具体视频帧信息。

    + 该方法仅适用于 Windows 和 macOS 平台。 +
    参数 deviceIdUTF8 - 视频采集设备的 ID。 + 视频采集设备的 ID。 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      -
    • > 0: 方法调用成功。返回该设备支持的视频格式数量。例如:如果指定的摄像头支持 10 种不同的视频格式,则返回值为 10。
    • +

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

      +
        +
      • > 0: 方法调用成功。返回该设备支持的视频格式数量。例如:如果指定的摄像头支持 10 种不同的视频格式,则返回值为 10。
      • ≤ 0: 方法调用失败。详见了解详情和解决建议。
      • -
    + +

      +
    • > 0:方法调用成功,返回该设备支持的视频格式数量。例如,如果指定摄像头支持 10 种不同的视频格式,返回值为 10。
    • +
    • ≤ 0:方法调用失败。
    • +
    +

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_addorupdatevideoeffect.dita b/dita/RTC-NG/API/api_ivideoeffectobject_addorupdatevideoeffect.dita index 9236dee3ebb..8c398acc3e1 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_addorupdatevideoeffect.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_addorupdatevideoeffect.dita @@ -2,7 +2,7 @@ <ph keyref="addOrUpdateVideoEffect"/> - 添加或更新指定节点 ID 和模板的视频特效。 + 为指定的节点 ID 和模板添加或更新视频特效。 @@ -26,10 +26,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    优先级规则: @@ -53,6 +53,14 @@ addOrUpdateVideoEffect(VIDEO_EFFECT_NODE_ID::FILTER, "template name"); 节点优先于 参数。
  • 若需应用 参数,需先移除 节点: removeVideoEffect(VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP); +addOrUpdateVideoEffect(VIDEO_EFFECT_NODE_ID::FILTER, "template name");
  • + +
    + 优先级规则: +
      +
    • VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP 节点优先于 VIDEO_EFFECT_NODE_ID::FILTER 参数。
    • +
    • 若要应用 VIDEO_EFFECT_NODE_ID::FILTER 参数,必须先移除 VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP 节点: +removeVideoEffect(VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP); addOrUpdateVideoEffect(VIDEO_EFFECT_NODE_ID::FILTER, "template name");
    @@ -65,8 +73,7 @@ addOrUpdateVideoEffect(VIDEO_EFFECT_NODE_ID::FILTER, "template name");参数 - nodeId - nodeId + nodeId 视频特效节点的唯一标识符或组合。详见 视频特效节点的唯一标识符或组合。示例:
      @@ -83,30 +90,38 @@ addOrUpdateVideoEffect(VIDEO_EFFECT_NODE_ID::FILTER, "template name"); - templateName - templateName + templateName 特效模板名称。如果设置为 null 或空字符串,SDK 会从资源包中加载默认参数配置。 特效模板的名称。如果设置为 null 或空字符串,SDK 会自动从资源包中加载默认参数配置。 特效模板名称。如果设置为 null 或空字符串,SDK 会从资源包中加载默认配置。 -
    -
    + + nodeId + 视频特效节点的唯一标识符或其组合。详见 。 +示例: +
      +
    • 单个特效:VIDEO_EFFECT_NODE_ID::BEAUTY
    • +
    • 组合特效:VIDEO_EFFECT_NODE_ID::BEAUTY | VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP
    • +
    +
    +
    + + templateName + 特效模板名称。如果设置为 或空字符串,SDK 会从资源包中加载默认配置。 + +
    +
    <ph keyref="return-section-title"/>

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

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

      +

      • 0:方法调用成功。
      • < 0:方法调用失败。

      -

        -
      • 0:方法调用成功。
      • -
      • < 0:方法调用失败。
      • -
      -

      -
    +
    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectboolparam.dita b/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectboolparam.dita index 3dc94af88bb..2b293cd97b6 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectboolparam.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectboolparam.dita @@ -2,7 +2,7 @@ <ph keyref="getVideoEffectBoolParam"/> - 获取视频特效中的布尔参数。 + 获取视频特效中的布尔类型参数。 @@ -25,10 +25,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    @@ -50,29 +50,27 @@ 参数的键名。 参数的键值。 - -
    + + option + 参数所属于的选项类别。 + + + key + 参数的键名。 + +
    +
    <ph keyref="return-section-title"/>

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

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

      -
    • :参数已启用。
    • -
    • :参数未启用或不存在。
    • -
    -

    -

      +

      • :参数已启用。
      • :参数未启用或不存在。

      -

        -
      • :参数已启用。
      • -
      • :参数未启用或不存在。
      • -
      -

      -
    +
    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectfloatparam.dita b/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectfloatparam.dita index fec9d9bf161..14ebca5da9a 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectfloatparam.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectfloatparam.dita @@ -2,7 +2,7 @@ <ph keyref="getVideoEffectFloatParam"/> - 获取视频特效中的 float 类型参数。 + 检索视频特效中指定参数的 float 类型值。 @@ -25,12 +25,12 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +
    -

    用于获取视频特效中指定选项和键名对应的 float 类型参数值。

    +

    用于获取视频特效中指定 optionkey 对应的 float 类型参数值。

    调用限制 @@ -40,29 +40,27 @@ 参数 - option - option + option 参数类别的标识符。 参数选项的类别。 参数所属的选项类别。 - + key 参数的键名。 + + option + 参数所选选项的类别。 +
    -
    +
    <ph keyref="return-section-title"/>

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

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

      -
    • 参数存在时,返回对应的 float 类型值。
    • -
    • 参数不存在或发生错误时,返回 0.0f。
    • -
    -

    • 参数存在时,返回对应的浮点型参数值。
    • 参数不存在或发生错误时,返回 0.0f。
    • @@ -73,6 +71,11 @@
    • 方法调用失败,返回 0.0f。

    +

      +
    • 如果参数存在,返回对应的 float 值。
    • +
    • 如果参数不存在或发生错误,返回 0.0f。
    • +
    +

    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectintparam.dita b/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectintparam.dita index 4b2ab463240..40886df5440 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectintparam.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_getvideoeffectintparam.dita @@ -2,7 +2,7 @@ <ph keyref="getVideoEffectIntParam"/> - 获取视频特效中的整数参数。 + 获取视频特效中的整数类型参数。 @@ -25,12 +25,12 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +
    -

    用于获取视频特效中的整数类型参数。

    +

    调用限制 @@ -40,31 +40,32 @@ 参数 - option - option + option 参数类别的标识符。 参数的类别标识符。 参数的选项类别。 - key - key + key 参数的键名。 参数的键值。 -
    -
    + + option + 参数选项的类别。 + + + key + 参数的键名。 + +
    +
    <ph keyref="return-section-title"/>

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

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

      -
    • 参数存在时,返回对应的整数值。
    • -
    • 参数不存在或发生错误时,返回 0。
    • -
    -

    • 方法调用成功,返回对应参数的整数值。
    • 方法调用失败或参数不存在时,返回 0。
    • @@ -75,6 +76,11 @@
    • 方法调用失败,返回 0。

    +

      +
    • 如果参数存在,返回对应的整数值。
    • +
    • 如果参数不存在或发生错误,返回 0。
    • +
    +

    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_performvideoeffectaction.dita b/dita/RTC-NG/API/api_ivideoeffectobject_performvideoeffectaction.dita index 039d1ebbd14..3246b03c782 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_performvideoeffectaction.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_performvideoeffectaction.dita @@ -2,7 +2,7 @@ <ph keyref="performVideoEffectAction"/> - 对指定的视频特效节点执行操作。 + 对指定的 视频特效节点 执行指定操作。 @@ -25,10 +25,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    @@ -39,19 +39,21 @@
    参数 - - nodeId - nodeId + + nodeId 视频特效节点的唯一标识符。 - actionId - actionId + actionId 要在视频特效节点上执行的操作,详见 要在视频特效上执行的操作。详见 要执行的操作,详见 -
    + + actionId + 要执行的操作,详见 + +
    <ph keyref="return-section-title"/>

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

    @@ -64,6 +66,6 @@
  • < 0:方法调用失败。
  • -
    +
    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_removevideoeffect.dita b/dita/RTC-NG/API/api_ivideoeffectobject_removevideoeffect.dita index 45ffcc50b73..fe3397653af 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_removevideoeffect.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_removevideoeffect.dita @@ -2,7 +2,7 @@ <ph keyref="removeVideoEffect"/> - 移除指定节点 ID 的视频特效。 + 移除指定节点 ID 的视频特效节点。 @@ -25,10 +25,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    @@ -40,13 +40,15 @@ 参数 - nodeId - nodeId + nodeId 要移除的视频特效节点的唯一标识符。 - 要移除的视频特效节点的唯一标识符,详见 - 要移除的视频特效节点的唯一标识符,详见 + 要移除的视频特效节点的唯一标识符,详见 + + + nodeId + 要移除的视频特效节点的唯一标识符。详见 - +
    <ph keyref="return-section-title"/>

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

    @@ -59,6 +61,6 @@
  • < 0:方法调用失败。
  • -
    +
    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectboolparam.dita b/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectboolparam.dita index 6fc4423e6a3..9ac03f70b87 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectboolparam.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectboolparam.dita @@ -2,7 +2,7 @@ <ph keyref="setVideoEffectBoolParam"/> - 设置视频特效的布尔参数。 + 设置视频特效的布尔类型参数。 @@ -25,10 +25,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    @@ -40,25 +40,24 @@ 参数 - option - option + option 参数类别的标识符。 参数选项的类别。 参数所属的选项类别。 - + key 参数的键名。 param - 要设置的布尔值。 + 要设置的布尔值:
    • :启用该选项。
    • :禁用该选项。
    -
    +
    boolValue 要设置的布尔值。 @@ -72,6 +71,10 @@ value 要设置的布尔值。 + + option + 参数选项的类别。 +
    <ph keyref="return-section-title"/> @@ -85,6 +88,6 @@
  • < 0:方法调用失败。
  • -
    +
    diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectfloatparam.dita b/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectfloatparam.dita index 2bfe26ebeb1..e7e4c155b4a 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectfloatparam.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectfloatparam.dita @@ -25,10 +25,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    @@ -40,20 +40,19 @@ 参数 - option - option + option 参数类别的标识符。 参数选项的类别。 参数的选项类别。 - + key 参数的键名。 param - 要设置的浮点值。 - + 要设置的浮点参数值。 + floatValue 要设置的浮点值。 @@ -62,6 +61,10 @@ value 要设置的浮点型参数值。 + + option + 参数选项的类别。 +
    <ph keyref="return-section-title"/> @@ -75,6 +78,6 @@
  • < 0:方法调用失败。
  • -
    + diff --git a/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectintparam.dita b/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectintparam.dita index 018a716a2ee..045be379492 100644 --- a/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectintparam.dita +++ b/dita/RTC-NG/API/api_ivideoeffectobject_setvideoeffectintparam.dita @@ -2,7 +2,7 @@ <ph keyref="setVideoEffectIntParam"/> - 设置视频特效的整数参数。 + 设置视频特效的整数类型参数。 @@ -25,10 +25,10 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +

    @@ -40,20 +40,19 @@ 参数 - option - option + option 参数类别的标识符。 参数选项的类别。 参数所属的选项类别。 - + key 参数的键名。 param - 要设置的整数参数值。 - + 要设置的整型参数值。 + intValue 要设置的整数值。 @@ -62,6 +61,10 @@ value 要设置的整数值。 + + option + 参数所选选项的类别。 +
    <ph keyref="return-section-title"/> @@ -75,6 +78,6 @@
  • < 0:方法调用失败。
  • -
    +
    diff --git a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita index 59312833c48..74d2a71fbf0 100644 --- a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita +++ b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onDirectCdnStreamingStateChanged" /> - CDN 推流状态改变回调。 + <ph keyref="onDirectCdnStreamingStateChanged"/> + CDN 推流状态变化回调。 - + @@ -15,15 +15,11 @@

    void onDirectCdnStreamingStateChanged( DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message); - + - (void)onDirectCdnStreamingStateChanged:(AgoraDirectCdnStreamingState)state reason:(AgoraDirectCdnStreamingReason)reason message:(NSString *_Nullable)message NS_SWIFT_NAME(onDirectCdnStreamingStateChanged(_:reason:message:)); - virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) { - (void)state; - (void)reason; - (void)message; -}; + virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnDirectCdnStreamingStateChanged, EDIRECT_CDN_STREAMING_STATE, state, EDIRECT_CDN_STREAMING_REASON, error, FString, message); onDirectCdnStreamingStateChanged?( state: DirectCdnStreamingState, @@ -40,26 +36,29 @@ DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message)? onDirectCdnStreamingStateChanged; -

    +

    -

    主播端直接向 CDN 推流后,当推流状态改变时,SDK 会触发该回调向你报告新的状态、错误码和信息。你可以据此排查问题。

    -
    +

    当主播直接向 CDN 推流时,若推流状态发生变化,SDK 会触发该回调,报告变化后的推流状态、错误码及其他信息。你可以通过该回调排查问题。

    +
    参数 state - 当前推流状态。详见 - + 当前推流状态。详见 + 当前的 CDN 推流状态。详见 + reason - 推流状态改变的原因。详见 - + 推流状态改变的原因。详见 + CDN 推流状态变化的原因。详见 + message - 状态改变对应的信息。 - -
    + 状态改变对应的信息。 + 关于 CDN 推流状态变化的补充信息。 + +
    diff --git a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita index a682c55cc1a..6430e8845e1 100644 --- a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita +++ b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita @@ -1,41 +1,51 @@ - + - <ph keyref="onDirectCdnStreamingStats" /> - CDN 推流统计数据回调。 + <ph keyref="onDirectCdnStreamingStats"/> + 上报 CDN 推流统计信息的回调。 - +

    - void onDirectCdnStreamingStats(DirectCdnStreamingStats stats); - - - (void)onDirectCdnStreamingStats:(AgoraDirectCdnStreamStats *_Nonnull)stats; - virtual void onDirectCdnStreamingStats(const DirectCdnStreamStats& stats) { - (void)stats; -}; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnDirectCdnStreamingStats, const FDirectCdnStreamingStats&, stats); - onDirectCdnStreamingStats?(stats: DirectCdnStreamingStats): void; - public virtual void OnDirectCdnStreamingStats(DirectCdnStreamingStats stats) { } - onDirectCdnStreamingStats?(stats: DirectCdnStreamingStats): void; - final void Function(DirectCdnStreamingStats stats)? onDirectCdnStreamingStats; -

    + + + + virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) + + + + + +

    -
    -

    在主播直接向 CDN 推流的过程中,SDK 每隔 1 秒触发一次该回调。

    +
    +

    -
    - <ph keyref="callback-section-title" /> +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - stats - 当前推流的统计数据。详见 + + stats + CDN 推流的统计信息。详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita b/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita index f35f34225a4..be37dd5742b 100644 --- a/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita +++ b/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onMetadataReceived" /> - 接收端已收到 metadata。 + <ph keyref="onMetadataReceived"/> + 本地用户接收到元数据时触发的回调。 - + @@ -16,7 +16,7 @@ public abstract void onMetadataReceived(AgoraMetadata metadata); onMetadataReceived?:(buffer:ArrayBuffer,uid:number,timeStampMs:bigint) =>void; - (void)didMetadataReceived:(AgoraMetadata * _Nonnull)metadata NS_SWIFT_NAME(didMetadataReceived(_:)); - virtual void onMetadataReceived(const Metadata &metadata) = 0; + virtual void onMetadataReceived(const Metadata& metadata) = 0; DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMetadataReceived, const FAgoraMetadata&, metadata); onMetadataReceived?(metadata: Metadata): void; public virtual void OnMetadataReceived(Metadata metadata) @@ -25,15 +25,16 @@ } onMetadataReceived?(metadata: Metadata): void; final void Function(Metadata metadata)? onMetadataReceived; -

    +

    参数 metadata - 接收到的 metadata,详见 - -
    + 接收到的 metadata,详见 + 接收到的元数据,详见 + +
    diff --git a/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita b/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita index 428111d29f6..88cdcb8fb3e 100644 --- a/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita +++ b/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita @@ -1,8 +1,8 @@ - + <ph keyref="onReadyToSendMetadata"/> - 发送端已准备好发送 metadata。 + 当 SDK 准备好发送元数据时触发的回调。 @@ -13,57 +13,48 @@

    - public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); - onReadyToSendMetadata?:(timeStampMs:bigint,sourceType:Constants.VideoSourceType) =>ArrayBuffer; - - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp - sourceType:(AgoraVideoSourceType)sourceType; + + + virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnReadyToSendMetadata, const FAgoraMetadata&, metadata, EVIDEO_SOURCE_TYPE, source_type); + + - public virtual bool OnReadyToSendMetadata(ref Metadata metadata, VIDEO_SOURCE_TYPE source_type) - { - return false; - } + - -

    +

    -
    -

    当 SDK 准备好发送 metadata 时,会触发该回调。

    -

    收到该回调后,你可以调用 发送媒体附属信息。

    - 请确保在该方法中传入的 metadata 大小不超过 中设定的值。
    -
    +
    +

    +

    +
    + 使用限制 +

    无。

    +
    +
    参数 - - timeStampMs - timestamp - 时间戳。 + + metadata + 用户希望发送的元数据。详见 - - sourceType - source_Type - 视频数据类型。详见 - - - metadata - 用户想要发送的 metadata。详见 + + source_type + 视频数据类型。详见
    -
    - 返回值 -
      -
    • : 发送
    • -
    • : 不发送
    • -
    -

    指定想要发送的 metadata ,格式为 NSData,由如下字段组成: -

      -
    • uid:发送该 metadata 的远端用户的 ID。
    • -
    • size:metadata 的大小。
    • -
    • buffer:metadata 数据。
    • -
    • timeStampMs:metadata 发送时的 NTP 时间戳(ms)。
    • -

    -

    指定想要发送的 metadata,格式为 byte[]。请确保在该返回值中进行传参。

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

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

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

      +
    • :发送该视频帧。
    • +
    • :不发送该视频帧。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita index 0de7a7fc2e6..cf12906601f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onActiveSpeaker" /> - 监测到远端最活跃用户回调。 + <ph keyref="onActiveSpeaker"/> + 最活跃远端说话人检测回调。 - + @@ -14,46 +14,68 @@

    public void onActiveSpeaker(int uid) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; - virtual void onActiveSpeaker(uid_t uid) { (void)uid; } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid NS_SWIFT_NAME(rtcEngine(_:activeSpeaker:)); + virtual void onActiveSpeaker(uid_t uid) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnActiveSpeaker(int64 uid); onActiveSpeaker?(connection: RtcConnection, uid: number): void; public virtual void OnActiveSpeaker(RtcConnection connection, uint uid) { } onActiveSpeaker?(connection: RtcConnection, uid: number): void; final void Function(RtcConnection connection, int uid)? onActiveSpeaker; -

    +

    -

    成功调用 后,SDK 会持续监测音量最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。

    +

    成功调用 方法后,SDK 会持续检测哪位远端用户的音量最大。在当前周期内,被检测为音量最大次数最多的远端用户即为最活跃用户。 + 后,SDK 会持续监测音量最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。

      +
    • 当频道内用户数不少于两人,且存在活跃的远端说话人时,SDK 会触发该回调,并报告最活跃远端说话人的用户 ID。
    • +
    • 如果最活跃的远端说话人始终是同一用户,SDK 只会触发一次该回调。
    • +
    • 如果最活跃的远端说话人变更为其他用户,SDK 会再次触发该回调,并报告新的最活跃远端说话人的用户 ID。
    • +
    +

    当频道内用户数量大于或等于 2 且有远端活跃用户时,SDK 会触发该回调并报告远端最活跃用户的 uid

      -
    • 如果远端最活跃用户一直是同一位用户,则 SDK 不会再次触发 回调。
    • +
    • 如果远端最活跃用户一直是同一位用户,则 SDK 不会再次触发 回调。
    • 如果远端最活跃用户有变化,则 SDK 会再次触发该回调并报告新的远端最活跃用户的 uid

    -

    +

    +

    +
    + 调用时机 +

    当频道内用户数不少于两人,且存在活跃的远端说话人时触发。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - - - + + + userId - uid - speakerUid + uid + speakerUid 远端最活跃用户的 ID。 -
    + + uid + 最活跃远端说话人的用户 ID。 + + + speakerUid + 最活跃远端说话人的用户 ID。 + + + engine + 引擎实例对象。详见 + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita index c39195c2cda..68150a7870a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita @@ -1,8 +1,8 @@ - + - <ph keyref="onAudioDeviceStateChanged"/> - 音频设备变化回调。 + <ph keyref="onAudioDeviceStateChanged"/> + 音频设备状态发生变化回调。 @@ -14,50 +14,46 @@

    - + - virtual void onAudioDeviceStateChanged(const char* deviceId, - int deviceType, - int deviceState) { - (void)deviceId; - (void)deviceType; - (void)deviceState; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnAudioDeviceStateChanged(const FString& deviceId, int deviceType, int deviceState); - onAudioDeviceStateChanged?( - deviceId: string, - deviceType: MediaDeviceType, - deviceState: number - ): void; - public virtual void OnAudioDeviceStateChanged(string deviceId, MEDIA_DEVICE_TYPE deviceType, MEDIA_DEVICE_STATE_TYPE deviceState) { } - onAudioDeviceStateChanged?( - deviceId: string, - deviceType: MediaDeviceType, - deviceState: number - ): void; - final void Function(String deviceId, MediaDeviceType deviceType, - MediaDeviceStateType deviceState)? onAudioDeviceStateChanged; -

    + virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) + + + + + +

    -
    -

    提示系统音频设备状态发生改变,比如耳机被拔出。

    - 该方法仅适用于 Windows 和 macOS。
    -
    - <ph keyref="callback-section-title"/> +
    +

    +

    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - deviceId - 设备 ID。 + + deviceId + 设备 ID。 - - deviceType - 设备类型定义。详见 + + deviceType + 设备类型,详见 - - deviceState - 设备状态,详见 + + deviceState + 设备状态,详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita index 4455b31ec77..167e1bd7798 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita @@ -1,8 +1,8 @@ - + <ph keyref="onAudioDeviceVolumeChanged"/> - 音频设备或 App 的音量发生改变回调。 + 音频设备或 App 音量变化回调。 @@ -14,56 +14,51 @@

    - + - virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { - (void)deviceType; - (void)volume; - (void)muted; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnAudioDeviceVolumeChanged(FENUMWRAP_MEDIA_DEVICE_TYPE deviceType, int volume, bool muted); - onAudioDeviceVolumeChanged?( - deviceType: MediaDeviceType, - volume: number, - muted: boolean - ): void; - public virtual void OnAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) - onAudioDeviceVolumeChanged?( - deviceType: MediaDeviceType, - volume: number, - muted: boolean - ): void; - final void Function(MediaDeviceType deviceType, int volume, bool muted)? - onAudioDeviceVolumeChanged; -

    + virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) + + + + + +

    -
    -

    当音频播放、采集设备或 App 的音量发生改变时,会触发该回调。

    - 该回调仅适用于 Windows 和 macOS。 +
    +

    -
    - <ph keyref="callback-section-title"/> +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - deviceType - 设备类型定义。详见 + + deviceType + 设备类型,详见 - - volume - 音量。范围为 [0,255]。 + + volume + 音量值,范围为 [0, 255]。 - - muted - -

    音频设备是否为静音状态: - + + muted + 音频设备是否静音:

      -
    • : 音频设备已静音。
    • -
    • : 音频设备未被静音。
    • -

    -
    +
  • :音频设备已静音。
  • +
  • :音频设备未静音。
  • + +
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita index 1a448edea02..71a4b0d4fb4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onAudioEffectFinished" /> - 本地音效文件播放已结束回调。 + <ph keyref="onAudioEffectFinished"/> + 本地音效播放结束回调。 - + @@ -14,32 +14,37 @@

    public void onAudioEffectFinished(int soundId) {} - onAudioEffectFinished?:(soundId:number) => void; - - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; - virtual void onAudioEffectFinished(int soundId) { - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + onAudioEffectFinished?:(soundId:number) => void; + - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId NS_SWIFT_NAME(rtcEngineDidAudioEffectFinish(_:soundId:)); + virtual void onAudioEffectFinished(int soundId) {} + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnAudioEffectFinished(int soundId); onAudioEffectFinished?(soundId: number): void; public virtual void OnAudioEffectFinished(int soundId) onAudioEffectFinished?(soundId: number): void; final void Function(int soundId)? onAudioEffectFinished; -

    +

    -

    当播放音效结束后,会触发该回调。

    -
    +

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + soundId - 指定音效的 ID。每个音效均有唯一的 ID。 + 指定音效的 ID。每个音效均有唯一的 ID。 + 音效的 ID。每个音效文件具有唯一的 ID。 + 音效的 ID。每个音效文件对应一个唯一的 ID。 + + + engine + 声网引擎对象,详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita index 381cccf7416..632e512b75e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onAudioMixingFinished" /> - 本地音乐文件播放已结束回调。 + <ph keyref="onAudioMixingFinished"/> + 本地音乐文件播放结束时触发的回调。 - + @@ -14,34 +14,48 @@

    public void onAudioMixingFinished() {} - onAudioMixingFinished?:()=>void - - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onAudioMixingFinished() { - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnAudioMixingFinished(); - onAudioMixingFinished?(): void; - public virtual void OnAudioMixingFinished() - onAudioMixingFinished?(): void; - final void Function()? onAudioMixingFinished; -

    + + - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineLocalAudioMixingDidFinish(_:)) __deprecated_msg("Use rtcEngine:audioMixingStateChanged:reasonCode: instead"); + virtual void onAudioMixingFinished() __deprecated {} + + + + + +

    -
    -
    - -
    弃用:
    -
    请改用
    +
    +
    + +
    自从
    +
    v
    -

    当调用 播放本地音乐文件结束后,会触发该回调。如果调用 失败,会返回错误码 WARN_AUDIO_MIXING_OPEN_ERROR

    +

    -
    - <ph keyref="callback-section-title" /> +
    + 触发时机 +

    调用 startAudioMixing 播放本地音乐文件后,当播放结束时触发。

    +
    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - + + engine + 对象,详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita index 8afc18c563c..5857cf8751c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita @@ -1,4 +1,4 @@ - + <ph keyref="onAudioMixingPositionChanged"/> @@ -17,7 +17,7 @@ onAudioMixingPositionChanged?:(position:bigint) => void - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:)); virtual void onAudioMixingPositionChanged(int64_t position) {} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnAudioMixingPositionChanged(int64 position); onAudioMixingPositionChanged?(position: number): void; public virtual void OnAudioMixingPositionChanged(long position) { } @@ -26,32 +26,37 @@
    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    当你调用 方法播放音乐文件后,SDK 会每隔一秒触发一次该回调,报告音乐文件当前的播放进度。

    参数 - - - + + + position - 音乐文件当前的播放进度,单位为 ms。 + 音乐文件当前的播放进度,单位为 ms。 + 播放进度,单位为毫秒。 + + + engine + 对象,详见 -
    -
    +
    +
    <ph keyref="return-section-title"/> -

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

    -
      +

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

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

      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita index 25d701eca88..3001b7982f6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita @@ -1,26 +1,24 @@ - + - <ph keyref="onAudioMixingStateChanged" /> - 音乐文件的播放状态已改变回调。 + <ph keyref="onAudioMixingStateChanged"/> + 音乐文件播放状态变化回调。 - +

    - public void onAudioMixingStateChanged(int state, int reason); + public void onAudioMixingStateChanged(int state, int reason) {} onAudioMixingStateChanged?:(state:Constants.AudioMixingState,reason:Constants.AudioMixingReason) => 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) { - (void)state; - (void)reason; - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + reasonCode:(AgoraAudioMixingReasonCode)reasonCode NS_SWIFT_NAME(rtcEngine(_:audioMixingStateChanged:reasonCode:)); + virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnAudioMixingStateChanged(FENUMWRAP_AUDIO_MIXING_STATE_TYPE state, FENUMWRAP_AUDIO_MIXING_REASON_TYPE reason); onAudioMixingStateChanged?( state: AudioMixingStateType, @@ -33,36 +31,46 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode; ): void; final void Function(AudioMixingStateType state, AudioMixingReasonType reason)? onAudioMixingStateChanged; -

    +

    -

    该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。

    -
    +

    +
    参数 - - - + + + state - 音乐文件播放状态。详见 + 音乐文件播放状态。详见

      -
    • (710): 音乐文件正常播放。
    • -
    • (711): 音乐文件暂停播放。
    • -
    • (713): 音乐文件停止播放。
    • -
    • (714): 音乐文件报错。SDK 会在 reasonCode 参数中返回具体的报错原因。
    • -
    • (715): 音乐文件已结束一次播放。
    • -
    • (716): 音乐文件已结束循环播放。
    • +
    • (710): 音乐文件正常播放。
    • +
    • (711): 音乐文件暂停播放。
    • +
    • (713): 音乐文件停止播放。
    • +
    • (714): 音乐文件报错。SDK 会在 reasonCode 参数中返回具体的报错原因。
    • +
    • (715): 音乐文件已结束一次播放。
    • +
    • (716): 音乐文件已结束循环播放。

    -
    + 音乐文件的播放状态: +
      +
    • (710):音乐文件正在播放。
    • +
    • (711):音乐文件暂停播放。
    • +
    • (713):音乐文件停止播放。
    • +
    • (714):播放音乐文件时发生异常,具体原因见 reason 参数。
    • +
    +
    + 音乐文件的播放状态,详见 + 音乐文件的播放状态。详见 +
    - reasonCode - reason - 错误码。详见 + reasonCode + reason + 错误码。详见

    • (0): 正常。
    • @@ -76,6 +84,26 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode;

    -
    + + reason + 错误码: +
      +
    • (0):没有错误。
    • +
    • (701):无法打开音乐文件。
    • +
    • (702):打开音乐文件过于频繁。
    • +
    • (703):音乐文件播放被中断。
    • +
    • (721):完成一次循环播放。
    • +
    • (723):完成所有循环播放。
    • +
    • (724):通过调用 停止播放。
    • +
    +
    + 错误码,详见 + 状态变化的原因或错误码。详见 +
    + + engine + 对象。 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita index c320e50e5e7..6276bb34b80 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita @@ -1,36 +1,26 @@ - + - <ph keyref="onAudioPublishStateChanged" /> - 音频发布状态改变回调。 + <ph keyref="onAudioPublishStateChanged"/> + 音频发布状态发生变化回调。 - +

    - public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, - STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} + public void onAudioPublishStateChanged(String channel, int oldState, int newState, int elapseSinceLastState) onAudioPublishStateChanged?:(channel:string, oldState:Constants.StreamPublishState, newState:Constants.StreamPublishState, elapseSinceLastState:number) => void; - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine - didAudioPublishStateChange:(NSString * _Nonnull)channelId + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState -elapseSinceLastState:(int)elapseSinceLastState; - virtual void onAudioPublishStateChanged(const char* channel, - STREAM_PUBLISH_STATE oldState, - STREAM_PUBLISH_STATE newState, - int elapseSinceLastState) { - (void)channel; - (void)oldState; - (void)newState; - (void)elapseSinceLastState; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") +elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didAudioPublishStateChange:oldState:newState:elapseSinceLastState:)); + virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnAudioPublishStateChanged(const FString& channel, ESTREAM_PUBLISH_STATE oldState, ESTREAM_PUBLISH_STATE newState, int elapseSinceLastState); onAudioPublishStateChanged?( channel: string, @@ -51,32 +41,39 @@ elapseSinceLastState:(int)elapseSinceLastState; StreamPublishState oldState, StreamPublishState newState, int elapseSinceLastState)? onAudioPublishStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - channel - channelId - 频道名。 + channel + channelId + 频道名。 oldState - 之前的发布状态,详见 + 之前的发布状态,详见 newState - 当前的发布状态,详见 - + 当前的发布状态,详见 + 当前的发布状态,详见 + elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 + 两次状态变化时间间隔(毫秒)。 + 从前一个状态到当前状态经过的时间(毫秒)。 + 从上一个状态切换到当前状态所经历的时间(毫秒)。 + + + engine + 对象,详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita index 62193dfc7a2..8634386bb0f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita @@ -1,90 +1,87 @@ - + - <ph keyref="onAudioQuality" /> - 远端声音质量回调。 + <ph keyref="onAudioQuality"/> + 报告每个远端用户发送的音频流的统计信息。 - +

    - public void onAudioQuality(int uid, int quality, short delay, short lost) {} - - - (void)audioQualityBlock:(void (^_Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock - virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) { - (void)uid; - (void)quality; - (void)delay; - (void)lost; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnAudioQuality(int64 uid, int quality, int delay, int lost); - onAudioQuality?( - connection: RtcConnection, - remoteUid: number, - quality: QualityType, - delay: number, - lost: number - ): void; - public virtual void OnAudioQuality(RtcConnection connection, uint remoteUid, int quality, UInt16 delay, UInt16 lost) {} - onAudioQuality?( - connection: RtcConnection, - remoteUid: number, - quality: QualityType, - delay: number, - lost: number - ): void; - final void Function(RtcConnection connection, int remoteUid, - QualityType quality, int delay, int lost)? onAudioQuality; -

    + public void onAudioQuality(int uid, int quality, short delay, short lost) + + + virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated + + + + + +

    -
    -

    -

    - -
    弃用:
    -
    请改用
    +
    +
    + +
    自从
    +
    v
    -

    -

    该回调描述远端用户在通话中的音频质量,针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播,该回调每 2 秒会被触发多次。

    +

    -
    - <ph keyref="callback-section-title" /> +
    + 触发时机 +

    SDK 每两秒触发一次该回调。

    +
    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 用户 ID,指定是谁发的音频流。 + + uid + 发送音频流的远端用户 ID。 + 发送音频流的远端用户的用户 ID。 - - quality - 语音质量。详见 -
      -
    • -
    + + quality + 用户的音频质量: +
      +
    • (0):音频质量未知。
    • +
    • (1):音频质量极好。
    • +
    • (2):网络质量很好,但码率可能略低于极好。
    • +
    • (3):用户感觉通话有些受影响。
    • +
    • (4):用户无法流畅地进行通信。
    • +
    • (5):音频质量极差,几乎无法进行通信。
    • +
    • (6):网络连接中断,完全无法通信。
    • +
    • (8):正在进行 Last-mile 探测。
    • +
    +
    + 该用户的音频质量,详见
    - - delay - 音频包从发送端到接收端的延迟(毫秒),包括声音采样前处理、网络传输、网络抖动缓冲引起的延迟。 + + delay + 从发送端到接收端的网络延迟(毫秒),包括音频采样预处理、网络传输和网络抖动缓冲所造成的延迟。 + 从发送端到接收端的网络延迟(毫秒),包括音频采样预处理、网络传输和网络抖动缓冲造成的延迟。 - - lost - 音频包从发送端到接收端的丢包率 (%)。 + + lost + 从远端用户发送到接收端的音频数据包的丢包率(%)。
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita index a57ddf85508..1731679738d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita @@ -1,78 +1,68 @@ - + - <ph keyref="onAudioRoutingChanged" /> - 音频路由已发生变化回调。 + <ph keyref="onAudioRoutingChanged"/> + 本地音频路由发生变化时触发的回调。 - +

    - public void onAudioRouteChanged(int routing) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; - virtual void onAudioRoutingChanged(int routing) { (void)routing; } - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnAudioRoutingChanged(int routing); - onAudioRoutingChanged?(routing: number): void; - public virtual void OnAudioRoutingChanged(int routing) {} - onAudioRoutingChanged?(routing: number): void; - final void Function(int routing)? onAudioRoutingChanged; -

    + public void onAudioRouteChanged(int routing) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing NS_SWIFT_NAME(rtcEngine(_:didAudioRouteChanged:)); + virtual void onAudioRoutingChanged(int routing) { (void)routing; } + + + + + +

    -
    - -

    该回调仅适用于 Android、iOS 和 macOS 平台。

    -
    - -

    该回调仅适用于 macOS 平台。

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

    +

    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - - - - routing - -

    当前的音频路由。详见

    -

    当前的音频路由: - - + + routing + 当前的音频路由:

      -
    • (-1):使用默认的音频路由。
    • -
    • (0):音频路由为带麦克风的耳机。
    • -
    • (1):音频路由为听筒。
    • -
    • (2):音频路由为不带麦克风的耳机。
    • -
    • (3):音频路由为设备自带的扬声器。
    • -
    • (4):(暂不支持)音频路由为外接的扬声器。
    • -
    • (5):音频路由为使用 HFP 协议的蓝牙耳机。
    • -
    • (10):音频路由为使用 A2DP 协议的蓝牙耳机或蓝牙音箱。
    • -

    -

    当前的音频路由: - - - - -

      -
    • -1:使用默认的音频路由。
    • -
    • 0:音频路由为带麦克风的耳机。
    • -
    • 1:音频路由为听筒。
    • -
    • 2:音频路由为不带麦克风的耳机。
    • -
    • 3:音频路由为设备自带的扬声器。
    • -
    • 4:音频路由为外接的扬声器。(仅适用于 iOS 和 macOS)
    • -
    • 5:音频路由为蓝牙耳机。
    • -

    -
    +
  • (-1):默认音频路由。
  • +
  • (0):音频路由为带麦克风的耳机。
  • +
  • (1):音频路由为听筒。
  • +
  • (2):音频路由为不带麦克风的耳机。
  • +
  • (3):音频路由为设备自带扬声器。
  • +
  • (4):音频路由为外接扬声器(预留)。
  • +
  • (5):音频路由为使用 HFP 协议的蓝牙设备。
  • +
  • (10):音频路由为使用 A2DP 协议的蓝牙设备。
  • + + + 当前的音频路由,详见 + 当前的音频路由。详见 +
    + + engine + 引擎实例,详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ 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..3154c86bf5f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -1,39 +1,27 @@ - + - <ph keyref="onAudioSubscribeStateChanged" /> - 音频订阅状态发生改变回调。 + <ph keyref="onAudioSubscribeStateChanged"/> + 音频订阅状态变化回调。 - +

    - public void onAudioSubscribeStateChanged( - String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} + 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 - oldState:(AgoraStreamSubscribeState)oldState - newState:(AgoraStreamSubscribeState)newState -elapseSinceLastState:(int)elapseSinceLastState; - virtual void onAudioSubscribeStateChanged(const char* channel, - uid_t uid, - STREAM_SUBSCRIBE_STATE oldState, - STREAM_SUBSCRIBE_STATE newState, - int elapseSinceLastState) { - (void)channel; - (void)uid; - (void)oldState; - (void)newState; - (void)elapseSinceLastState; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioSubscribeStateChange:(NSString * _Nonnull)channelId + uid:(unsigned int)uid + oldState:(AgoraStreamSubscribeState)oldState + newState:(AgoraStreamSubscribeState)newState + elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didAudioSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:)); + virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnAudioSubscribeStateChanged(const FString& channel, int64 uid, ESTREAM_SUBSCRIBE_STATE oldState, ESTREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState); onAudioSubscribeStateChanged?( channel: string, @@ -57,79 +45,91 @@ elapseSinceLastState:(int)elapseSinceLastState; StreamSubscribeState oldState, StreamSubscribeState newState, int elapseSinceLastState)? onAudioSubscribeStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - channel - channelId - 频道名。 + channel + channelId + 频道名。 uid - 远端用户的 ID。 - + 远端用户的 ID。 + 远端用户 ID。 + oldState - 之前的订阅状态,详见 + 之前的订阅状态,详见 之前的订阅状态。 -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: -
        -
      • 远端用户: -
          -
        • 调用 () 停止发送本地音频流。
        • -
        • 调用 关闭本地音频模块。
        • -
        • 调用 () 关闭本地音频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端音频流: -
          -
        • 调用 时设置 autoSubscribeAudio,不自动订阅任何音频流。
        • -
        • 调用 时设置 mutedmute,停止接收远端音频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    +
  • (0):加入频道后的初始订阅状态。
  • +
  • (1):订阅远端流失败。可能原因包括:
      +
    • 远端用户:
        +
      • 调用 muteLocalAudioStream(true) 停止发送本地音频流。
      • +
      • 调用 禁用本地音频模块。
      • +
      • 调用 enableLocalAudio(false) 禁用本地音频采集。
      • +
      • 远端用户的角色为观众。
      • +
      +
    • +
    • 本地用户调用以下方法停止接收远端音频流:
        +
      • 在调用 joinChannel 时将 autoSubscribeAudio 设置为 ,表示不自动订阅任何音频流。
      • +
      • 在调用 时将 muted 设置为 ,表示停止接收远端音频流。
      • +
      +
    • +
    +
  • +
  • (2):正在订阅中。
  • +
  • (3):已接收到远端流,订阅成功。
  • + + + 之前的订阅状态。详见 + newState - 当前的订阅状态,详见 + 当前的订阅状态,详见 当前的订阅状态。
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: -
        -
      • 远端用户: -
          -
        • 调用 () 停止发送本地音频流。
        • -
        • 调用 关闭本地音频模块。
        • -
        • 调用 () 关闭本地音频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端音频流: -
          -
        • 调用 时设置 autoSubscribeAudio,不自动订阅任何音频流。
        • -
        • 调用 时设置 mutedmute,停止接收远端音频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    +
  • (0):加入频道后的初始订阅状态。
  • +
  • (1):订阅远端流失败。可能原因包括:
      +
    • 远端用户:
        +
      • 调用 muteLocalAudioStream(true) 停止发送本地音频流。
      • +
      • 调用 禁用本地音频模块。
      • +
      • 调用 enableLocalAudio(false) 禁用本地音频采集。
      • +
      • 远端用户的角色为观众。
      • +
      +
    • +
    • 本地用户调用以下方法停止接收远端音频流:
        +
      • 在调用 joinChannel 时将 autoSubscribeAudio 设置为 ,表示不自动订阅任何音频流。
      • +
      • 在调用 时将 muted 设置为 ,表示停止接收远端音频流。
      • +
      +
    • +
    +
  • +
  • (2):正在订阅中。
  • +
  • (3):已接收到远端流,订阅成功。
  • + + + 当前的订阅状态。详见 + 当前的订阅状态,详见 + elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 + 两次状态变化时间间隔(毫秒)。 + 从上一个状态到当前状态所经历的时间(毫秒)。 + 从之前状态到当前状态经过的时间(毫秒)。 + 从上一个状态变化到当前状态所经历的时间(毫秒)。 + + + engine + 你使用的 对象。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita index 9acb12e4036..dba07095aab 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita @@ -1,31 +1,23 @@ - + - <ph keyref="onAudioVolumeIndication" /> - 用户音量提示回调。 + <ph keyref="onAudioVolumeIndication"/> + 报告用户的音量信息。 - +

    - public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} + public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) onAudioVolumeIndication?:( speakers:Array<AudioVolumeInfo>, totalVolume:number) => void - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers - totalVolume:(NSInteger)totalVolume; - virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, - unsigned int speakerNumber, - int totalVolume) { - (void)speakers; - (void)speakerNumber; - (void)totalVolume; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume NS_SWIFT_NAME(rtcEngine(_:reportAudioVolumeIndicationOfSpeakers:totalVolume:)); + virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber, int totalVolume) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnAudioVolumeIndication(const TArray<FAudioVolumeInfo>& speakers, int totalVolume); onAudioVolumeIndication?(connection: RtcConnection, speakers: AudioVolumeInfo[], speakerNumber: number, totalVolume: number): void; public virtual void OnAudioVolumeIndication(RtcConnection connection, AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume) {} @@ -37,31 +29,39 @@ void OnAudioVolumeIndication(const TArray<FAudioVolumeInfo>& speakers, ): void; final void Function(RtcConnection connection, List<AudioVolumeInfo> speakers, int speakerNumber, int totalVolume)? onAudioVolumeIndication; -

    +

    -

    该回调默认禁用,你可以通过 开启。 开启后,只要频道内有发流用户,SDK 会在加入频道后按 中设置的时间间隔触发 回调。每次会触发两个 回调,一个报告本地发流用户的音量相关信息,另一个报告瞬时音量最高的远端用户(最多 3 位)的音量相关信息。

    +

    默认情况下,该回调处于关闭状态。你可以通过调用 方法启用该回调。启用后,当用户在频道中发送音频流时,SDK 会按照 中设置的时间间隔触发该回调。SDK 会同时触发两个独立的 回调,分别报告发送音频流的本地用户和瞬时音量最高的最多三位远端用户的音量信息。 开启。 开启后,只要频道内有发流用户,SDK 会在加入频道后按 中设置的时间间隔触发 回调。每次会触发两个 回调,一个报告本地发流用户的音量相关信息,另一个报告瞬时音量最高的远端用户(最多 3 位)的音量相关信息。

    在收到该回调后如需更新 UI 界面,请将确保将执行的线程转至 UI 线程中。

    -

    启用该功能后,如果有用户将自己静音(调用了 ),SDK 会继续报告本地用户的音量提示回调。

    +

    启用该功能后,如果有用户将自己静音(调用了 ),SDK 会继续报告本地用户的音量提示回调。

    瞬时音量最高的远端用户静音后 20 秒,远端的音量提示回调中将不再包含该用户;如果远端所有用户都将自己静音,20 秒后 SDK 停止报告远端用户的音量提示回调。

    -
    + 启用该回调后,如果本地用户调用 方法进行静音,SDK 仍会继续上报本地用户的音量信息。 +如果频道中某位瞬时音量排名前三的远端用户停止发布音频流超过 20 秒,回调中将不再包含该用户的信息;如果所有远端用户都停止发布音频流超过 20 秒,SDK 将不再触发远端用户的音量回调。 + 收到该回调后,如需更新 UI 界面,请确保将执行线程切换到 UI 线程。开启该回调后,即使本地用户调用 方法静音,SDK 仍会继续上报本地用户的音量信息。如果某位远端用户的音量在频道中排名前三,但停止发布音频流超过 20 秒,该回调将不再包含该用户的信息;如果所有远端用户都停止发布音频流超过 20 秒,SDK 将停止触发远端用户的音量回调。 + {'windows': '启用该回调后,如果本地用户调用 方法进行静音,SDK 仍会继续上报本地用户的音量信息。\n如果频道中某位瞬时音量排名前三的远端用户停止发布音频流超过 20 秒,回调中将不再包含该用户的信息;如果所有远端用户都停止发布音频流超过 20 秒,SDK 将不再触发远端用户的音量回调。', 'android': '开启该回调后,如果本地用户调用 方法进行静音,SDK 仍会继续上报本地用户的音量信息。如果某个音量排名前三的远端用户停止发布音频流超过 20 秒,该回调将不再包含该用户的信息;如果所有远端用户都停止发布音频流超过 20 秒,SDK 将停止触发远端用户的回调。'} +
    +
    + 调用时机 +

    启用音量提示并有用户发送音频流时触发。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - + speakers - 用户音量信息,详见 数组。如果 speakers 为空,则表示远端用户不发流或没有远端用户。 + 用户音量信息,详见 数组。如果 speakers 为空,则表示远端用户不发流或没有远端用户。 - + speakerNumber

    用户数量。 @@ -72,17 +72,34 @@ void OnAudioVolumeIndication(const TArray<FAudioVolumeInfo>& speakers,

    - + totalVolume

    混音后的总音量,取值范围为 [0,255]。

    • 在本地用户的回调中,totalVolume 为本地发流用户的音量。
    • -
    • 在远端用户的回调中,totalVolume 为瞬时音量最高的远端用户(最多 3 位)混音后的总音量。 如果用户调用了 ,则 totalVolume 为音乐文件和用户声音的总音量。
    • +
    • 在远端用户的回调中,totalVolume 为瞬时音量最高的远端用户(最多 3 位)混音后的总音量。 如果用户调用了 ,则 totalVolume 为音乐文件和用户声音的总音量。

    -
    + + engine + 对象。详见 + + + speakers + 用户的音量信息,详见 。当该回调中的 speakers 数组为空时,表示频道中没有远端用户或没有用户发送音频流。 + + + totalVolume + 扬声器的音量,取值范围为 [0, 255]。 +
      +
    • 在本地用户的回调中,totalVolume 表示发送音频流的本地用户的音量。
    • +
    • 在远端用户的回调中,totalVolume 表示瞬时音量最高的最多三位远端用户的音量总和。如果用户调用了 startAudioMixing,则 totalVolume 表示混音后的音量。
    • +
    +
    +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita index f9148f1d621..d5adb851446 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita @@ -1,8 +1,8 @@ - + <ph keyref="onCameraExposureAreaChanged"/> - 摄像头曝光区域已改变回调。 + 相机曝光区域发生变化时触发的回调。 @@ -14,17 +14,12 @@

    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; - (void)y; - (void)width; - (void)height; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + onCameraExposureAreaChanged?:(rect:camera.Rect) => void; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect NS_SWIFT_NAME(rtcEngine(_:cameraExposureDidChangedTo:)); + virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnCameraExposureAreaChanged(int x, int y, int width, int height); - + public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) onCameraExposureAreaChanged?( x: number, @@ -36,34 +31,45 @@ onCameraExposureAreaChanged;

    -
    -

    该回调是由本地用户调用 方法改变曝光位置触发的。

    - 该回调仅适用于 Android 和 iOS。
    +
    +

    该回调在本地用户调用 更改相机曝光位置时触发。 方法改变曝光位置触发的。

    + 该回调仅适用于 Android 和 iOS。 该回调仅适用于 Android 和 iOS 平台。 +
    <ph keyref="callback-section-title"/> - - x - 发生改变的曝光区域的 x 坐标。 - - - y - 发生改变的曝光区域的 y 坐标。 - - - width - 发生改变的曝光区域的宽度。 - - - height - 发生改变的曝光区域的高度。 - - + + x + 发生改变的曝光区域的 x 坐标。 + 更改后相机曝光区域的 x 坐标。 + + + y + 发生改变的曝光区域的 y 坐标。 + 更改后相机曝光区域的 y 坐标。 + + + width + 发生改变的曝光区域的宽度。 + 更改后相机曝光区域的宽度。 + + + height + 发生改变的曝光区域的高度。 + 更改后相机曝光区域的高度。 + + - rect - 镜头内表示曝光的区域。详见 + rect + 镜头内表示曝光的区域。详见 + 本地预览中的对焦矩形区域。详见 Rect + 本地预览中的曝光矩形区域。 + + + engine + 对象,详见
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita index 13be6d58827..fdf2e40d8c5 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onCameraFocusAreaChanged" /> - 相机对焦区域已改变回调。 + <ph keyref="onCameraFocusAreaChanged"/> + 摄像头对焦区域发生变化时触发的回调。 - + @@ -14,17 +14,12 @@

    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; - (void)y; - (void)width; - (void)height; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + onCameraFocusPointChanged?:(point:camera.Point) => void; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect NS_SWIFT_NAME(rtcEngine(_:cameraFocusDidChangedTo:)); + virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnCameraFocusAreaChanged(int x, int y, int width, int height); - + public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) onCameraFocusAreaChanged?( x: number, @@ -34,39 +29,53 @@ ): void; final void Function(int x, int y, int width, int height)? onCameraFocusAreaChanged; -

    +

    -

    该回调是由本地用户调用 方法改变对焦位置触发的。

    - 该回调仅适用于 Android 和 iOS。
    +

    方法改变对焦位置触发的。

    + 该回调仅适用于 Android 和 iOS。 该回调仅适用于 Android 和 iOS 平台。 +
    - <ph keyref="callback-section-title" /> - + <ph keyref="callback-section-title"/> + x - 发生改变的对焦区域的 x 坐标。 - + 发生改变的对焦区域的 x 坐标。 + 发生变化的摄像头对焦区域的横坐标。 + y - 发生改变的对焦区域的 y 坐标。 - + 发生改变的对焦区域的 y 坐标。 + 发生变化的摄像头对焦区域的纵坐标。 + width - 发生改变的对焦区域的宽度。 - + 发生改变的对焦区域的宽度。 + 发生变化的摄像头对焦区域的宽度。 + height - 发生改变的对焦区域的高度。 + 发生改变的对焦区域的高度。 + 发生变化的摄像头对焦区域的高度。 + + + rect + 本地预览画面中的对焦矩形区域。详见 Rect + 本地预览中的对焦区域矩形。 - - + + engine + 对象,详见 + + + rect 镜头内表示对焦的区域。详见 - - - + + + @@ -74,9 +83,9 @@ point 镜头内表示对焦的点。 - - - + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita index 1608b7de38e..90d88749b46 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onCameraReady" /> + <ph keyref="onCameraReady"/> 摄像头就绪回调。 - + @@ -14,35 +14,35 @@

    public void onCameraReady() {} - + - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; virtual void onCameraReady() - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnCameraReady(); onCameraReady?(): void; public virtual void OnCameraReady() onCameraReady?(): void; final void Function()? onCameraReady; -

    +

    弃用:
    -

    请改用 中的 (1)。

    +

    请改用 中的 (1)。

    该回调提示已成功打开摄像头,可以开始捕获视频。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita index 0c80700184d..ccdd952de6c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita @@ -1,26 +1,25 @@ - + - <ph keyref="onChannelMediaRelayStateChanged" /> - 跨频道媒体流转发状态发生改变回调。 + <ph keyref="onChannelMediaRelayStateChanged"/> + 跨频道媒体流转发状态发生变化时触发的回调。 - +

    - public void onChannelMediaRelayStateChanged(int state, int code) {} + 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; - virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state + error:(AgoraChannelMediaRelayError)error NS_SWIFT_NAME(rtcEngine(_:channelMediaRelayStateDidChange:error:)); + virtual void onChannelMediaRelayStateChanged(int state, int code) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnChannelMediaRelayStateChanged(int state, int code); onChannelMediaRelayStateChanged?( state: ChannelMediaRelayState, @@ -34,55 +33,87 @@ channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state final void Function( ChannelMediaRelayState state, ChannelMediaRelayError code)? onChannelMediaRelayStateChanged; -

    +

    -

    当跨频道媒体流转发状态发生改变时,SDK 会触发该回调,并报告当前的转发状态以及相关的错误信息。

    -
    +

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + state - -

    跨频道媒体流转发状态。详见

    + +

    跨频道媒体流转发状态。详见

    跨频道媒体流转发状态:

      -
    • (0):SDK 正在初始化。
    • -
    • (1):SDK 尝试跨频道。
    • -
    • (2):源频道主播成功加入目标频道。
    • -
    • (3):发生异常,详见 code 中提示的错误信息。
    • +
    • (0):SDK 正在初始化。
    • +
    • (1):SDK 尝试跨频道。
    • +
    • (2):源频道主播成功加入目标频道。
    • +
    • (3):发生异常,详见 code 中提示的错误信息。

    -
    + 媒体流转发的状态码: +
      +
    • :SDK 正在初始化。
    • +
    • :SDK 尝试将媒体流转发到目标频道。
    • +
    • :SDK 成功将媒体流转发到目标频道。
    • +
    • :发生错误,详见
    • +
    +
    + 媒体流转发状态码,详见 + 状态码,详见 +
    code - -

    跨频道媒体流转发出错的错误码。详见

    + +

    跨频道媒体流转发出错的错误码。详见

    跨频道媒体流转发出错的错误码:

      -
    • (0):一切正常。
    • -
    • (1):服务器回应出错。
    • -
    • (2):服务器无回应。该错误可能是网络状况不佳导致的。如果在发起跨频道连麦时报告该错误,你可以稍后重试;如果在跨频道连麦过程中报告该错误,你可以调用 方法离开频道。该错误也可能是由于当前的 App ID 未开启跨频道连麦服务导致的。你可以申请开通跨频道连麦服务。
    • -
    • (3):SDK 无法获取服务,可能是因为服务器资源有限导致。
    • -
    • (4):发起跨频道转发媒体流请求失败。
    • -
    • (5):接受跨频道转发媒体流请求失败。
    • -
    • (6):服务器接收跨频道转发媒体流失败。
    • -
    • (7):服务器发送跨频道转发媒体流失败。
    • -
    • (8):SDK 因网络质量不佳与服务器断开。你可以调用 方法离开当前频道。
    • -
    • (9):服务器内部出错。
    • -
    • (10):源频道的 Token 已过期。
    • -
    • (11):目标频道的 Token 已过期。
    • +
    • (0):一切正常。
    • +
    • (1):服务器回应出错。
    • +
    • (2):服务器无回应。该错误可能是网络状况不佳导致的。如果在发起跨频道连麦时报告该错误,你可以稍后重试;如果在跨频道连麦过程中报告该错误,你可以调用 方法离开频道。该错误也可能是由于当前的 App ID 未开启跨频道连麦服务导致的。你可以申请开通跨频道连麦服务。
    • +
    • (3):SDK 无法获取服务,可能是因为服务器资源有限导致。
    • +
    • (4):发起跨频道转发媒体流请求失败。
    • +
    • (5):接受跨频道转发媒体流请求失败。
    • +
    • (6):服务器接收跨频道转发媒体流失败。
    • +
    • (7):服务器发送跨频道转发媒体流失败。
    • +
    • (8):SDK 因网络质量不佳与服务器断开。你可以调用 方法离开当前频道。
    • +
    • (9):服务器内部出错。
    • +
    • (10):源频道的 Token 已过期。
    • +
    • (11):目标频道的 Token 已过期。

    + 媒体流转发的错误码: +
      +
    • :状态正常。
    • +
    • :服务器响应出错。
    • +
    • :服务器无响应。该错误可能由网络连接不良引起。如果在启动跨频道媒体流转发时出现该错误,可以稍后重试;如果在转发过程中出现该错误,可以调用 leaveChannel 离开频道。该错误也可能是项目未启用跨频道媒体流转发服务导致的。你可以联系技术支持启用该服务。
    • +
    • :SDK 无法访问服务,可能由于服务器资源有限。
    • +
    • :服务器发送转发请求失败。
    • +
    • :服务器接收转发请求失败。
    • +
    • :服务器接收媒体流失败。
    • +
    • :服务器发送媒体流失败。
    • +
    • :由于网络连接不良,SDK 与服务器断开连接。你可以调用 leaveChannel 离开频道。
    • +
    • :服务器内部发生错误。
    • +
    • :源频道的 Token 已过期。
    • +
    • :目标频道的 Token 已过期。
    • +
    +
    + 媒体流转发的错误码,详见 + 错误码,详见 +
    + + engine + 对象,详见 -
    +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita index 470b4aea6b9..3bf8a5fd93d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita @@ -1,23 +1,16 @@ - + <ph keyref="onClientRoleChanged"/> - 用户角色、观众端延时级别已切换回调。 + 用户角色或观众延迟等级发生变化时触发的回调。

    - public void onClientRoleChanged(int oldRole, int newRole, ClientRoleOptions newRoleOptions) {} - + public void onClientRoleChanged(int oldRole, int newRole, ClientRoleOptions newRoleOptions) onClientRoleChanged?:(oldRole:Constants.ClientRole, newRole:Constants.ClientRole, newRoleOptions:ClientRoleOptions) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged:(AgoraClientRole)oldRole -newRole:(AgoraClientRole)newRole newRoleOptions:(AgoraClientRoleOptions * _Nullable)newRoleOptions -NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:)); - virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) { - (void)oldRole; - (void)newRole; - (void)newRoleOptions; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged:(AgoraClientRole)oldRole newRole:(AgoraClientRole)newRole newRoleOptions:(AgoraClientRoleOptions * _Nullable)newRoleOptions NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:)); + virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnClientRoleChanged(ECLIENT_ROLE_TYPE oldRole, ECLIENT_ROLE_TYPE newRole, const FClientRoleOptions& newRoleOptions); onClientRoleChanged?( connection: RtcConnection, @@ -37,52 +30,71 @@ NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:)); -

    +

    -
    + 当你在加入频道前调用 setClientRole 并将用户角色设置为 BROADCASTER 时,该回调不会被触发。 + 当在加入频道前调用 并将用户角色设置为 BROADCASTER 时,该回调不会被触发。 +
    触发时机 -

    在以下任意一种情况时,会触发此回调:

      -
    • 加入频道后调用 设置用户角色或观众端延时级别。
    • -
    • 加入频道前调用 并将用户角色设为 AUDIENCE

    -

    在以下任意一种情况时,会触发此回调:

      +

      该回调会在以下任一情况下触发: +

        +
      • 加入频道后调用 setClientRole 设置用户角色或观众延迟等级。
      • +
      • 加入频道前调用 setClientRole 并将用户角色设置为 AUDIENCE
      • +
      +

      +

      在以下任意一种情况时,会触发此回调:

      • 加入频道后调用 设置用户角色或观众端延时级别。
      • 加入频道前调用 并将用户角色设为 AUDIENCE

    使用限制 -

    当你在加入频道前调用 并将用户角色设为 BROADCASTER 时,不会触发此回调。

    -

    当你在加入频道前调用 并将用户角色设为 BROADCASTER 时,不会触发此回调。

    +

    无。

    +

    当你在加入频道前调用 并将用户角色设为 BROADCASTER 时,不会触发此回调。

    <ph keyref="callback-section-title"/> - + - + connection Connection 信息。详见 oldRole - 切换前的角色: + 切换前的角色:
    -
    + 用户切换前的角色: +
      +
    • (1):主播。
    • +
    • (2):观众。
    • +
    +
    + 用户切换前的角色,详见 +
    newRole - 切换后的角色: + 切换后的角色:
    -
    + 用户切换后的角色: +
      +
    • (1):主播。
    • +
    • (2):观众。
    • +
    +
    + 用户切换后的角色,详见 +
    newRoleOptions - +
    自从
    @@ -91,7 +103,14 @@ NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:));

    切换后的角色属性。详见

    + 用户切换后的角色属性。详见 + 用户切换后的角色属性,详见 + 用户切换后角色的属性。详见 + + + engine + 引擎实例对象。 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita index 41fe7647a8e..b10e83525e2 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita @@ -1,26 +1,23 @@ - + - <ph keyref="onClientRoleChangeFailed" /> - 用户角色切换失败回调。 + <ph keyref="onClientRoleChangeFailed"/> + 切换用户角色失败回调。 - +

    - public void onClientRoleChangeFailed(int reason, int currentRole) {} + public void onClientRoleChangeFailed(int reason, int currentRole) onClientRoleChangeFailed?: (reason:number, currentRole:Constants.ClientRole) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChangeFailed:(AgoraClientRoleChangeFailedReason)reason currentRole:(AgoraClientRole)currentRole; - virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { - (void)reason; - (void)currentRole; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChangeFailed:(AgoraClientRoleChangeFailedReason)reason currentRole:(AgoraClientRole)currentRole NS_SWIFT_NAME(rtcEngine(_:didClientRoleChangeFailed:currentRole:)); + virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnClientRoleChangeFailed(ECLIENT_ROLE_CHANGE_FAILED_REASON reason, ECLIENT_ROLE_TYPE currentRole); onClientRoleChangeFailed?( connection: RtcConnection, @@ -37,58 +34,73 @@ RtcConnection connection, ClientRoleChangeFailedReason reason, ClientRoleType currentRole)? onClientRoleChangeFailed; -

    +

    -

    当用户角色切换失败时,你可以通过此回调得知切换失败的原因和当前的用户角色。

    -
    +

    该回调用于报告切换用户角色失败的原因以及当前的用户角色。

    +
    触发时机 -

    本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

    -

    本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

    +

    当本地用户加入频道后调用 setClientRole 切换用户角色失败时,SDK 会触发该回调。

    +

    本地用户加入频道后调用 设置用户角色失败时,SDK 会触发该回调。

    使用限制

    无。

    -
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> reason - 切换用户角色失败的原因。详见 - 切换用户角色失败的原因。 + 切换用户角色失败的原因。详见 + 切换用户角色失败的原因。
      -
    • (1): 频道内主播人数达到上限。 +
    • (1): 频道内主播人数达到上限。 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 人功能时实际配置的人数而定。
    • -
    • (2): 请求被服务端拒绝。建议提示用户重新尝试切换用户角色。
    • -
    • (3): 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。 +
    • (2): 请求被服务端拒绝。建议提示用户重新尝试切换用户角色。
    • +
    • (3): 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。
      废弃:
      该枚举值自 v4.4.0 起废弃,不建议使用。
    • -
    • (4): 网络连接断开。可根据 报告的 reason,排查网络连接失败的具体原因。 +
    • (4): 网络连接断开。可根据 报告的 reason,排查网络连接失败的具体原因。
      废弃:
      该枚举值自 v4.4.0 起废弃,不建议使用。
    -
    + 用户角色切换失败的原因。 +
      +
    • (1):频道中的主播数量已达上限。仅在启用 128 人支持时会返回该枚举值。主播数量上限取决于启用 128 人功能时配置的实际值。
    • +
    • (2):请求被声网服务器拒绝。建议提示用户重试切换用户角色。
    • +
    • (3):请求超时。建议提示用户检查网络连接并重试切换用户角色。自 v4.4.0 版本废弃,不建议使用。
    • +
    • (4):SDK 连接失败。你可以通过 回调中报告的 reason 进行排查。自 v4.4.0 版本废弃,不建议使用。
    • +
    +
    + 用户角色切换失败的原因,详见 + currentRole - 当前用户角色。详见 - 当前用户角色。 + 当前用户角色。详见 + 当前的用户角色。
      -
    • (1): 主播。主播可以发流也可以收流。
    • -
    • (2): 观众。观众只能收流不能发流。
    • -
    +
  • (1):主播,可以发送和接收音视频流。
  • +
  • (2):观众,只能接收音视频流。
  • + +
    + 当前的用户角色,详见 +
    + + + - - - + + engine + 对象,详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita index 48940c669ce..67a7183be66 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onConnectionBanned" /> - 网络连接已被服务器禁止回调。 + <ph keyref="onConnectionBanned"/> + 连接被声网服务器封禁时触发的回调。 - + @@ -14,36 +14,44 @@

    public void onConnectionBanned() {} - - - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionBanned() - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnConnectionBanned(); - onConnectionBanned?(connection: RtcConnection): void; - public virtual void OnConnectionBanned(RtcConnection connection) {} - onConnectionBanned?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionBanned; -

    + + - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineConnectionDidBanned(_:)); + virtual void onConnectionBanned() __deprecated {} + + + + + +

    -
    -
    - -
    弃用:
    -
    请改用
    +
    +
    + +
    自从
    +
    v
    +

    -
    - <ph keyref="callback-section-title" /> +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - - - - connection - Connection 信息。详见 + + engine + 引擎实例。详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita index cdd5083bd8b..fc0d8e4b5d3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onConnectionInterrupted" /> + <ph keyref="onConnectionInterrupted"/> 网络连接中断回调。 - + @@ -14,41 +14,41 @@

    public void onConnectionInterrupted() {} - + - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; virtual void onConnectionInterrupted() {} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnConnectionInterrupted(); onConnectionInterrupted?(connection: RtcConnection): void; public virtual void OnConnectionInterrupted(RtcConnection connection) {} onConnectionInterrupted?(connection: RtcConnection): void; final void Function(RtcConnection connection)? onConnectionInterrupted; -

    +

    弃用:
    -
    请改用 回调。
    +
    请改用 回调。
    -

    SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是: +

    SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是:

      -
    • 回调一定是发生在成功加入频道后,且 SDK 刚失去和服务器连接超过 4 秒时触发。
    • -
    • 回调是无论是否成功加入频道,只要 10 秒内和服务器无法建立连接都会触发。
    • +
    • 回调一定是发生在成功加入频道后,且 SDK 刚失去和服务器连接超过 4 秒时触发。
    • +
    • 回调是无论是否成功加入频道,只要 10 秒内和服务器无法建立连接都会触发。
    如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + connection - Connection 信息。详见 + Connection 信息。详见
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita index 3bbc8965a4a..7069bcd0dc0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onConnectionLost" /> - 网络连接中断,且 SDK 无法在 10 秒内连接服务器回调。 + <ph keyref="onConnectionLost"/> + 连接中断后 10 秒内无法重新连接到声网边缘服务器时触发的回调。 - + @@ -15,30 +15,38 @@

    public void onConnectionLost() {} onConnectionLost?:() => void; - - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionLost() - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineConnectionDidLost(_:)); + virtual void onConnectionLost() {} + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnConnectionLost(); onConnectionLost?(connection: RtcConnection): void; public virtual void OnConnectionLost(RtcConnection connection) {} onConnectionLost?(connection: RtcConnection): void; final void Function(RtcConnection connection)? onConnectionLost; -

    +

    -

    SDK 在调用 后,无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    +

    该回调在调用 joinChannel 方法后,若在 10 秒内无法连接到声网边缘服务器时触发,无论是否已加入频道。如果在与声网边缘服务器断开连接后 20 分钟内仍未重新加入频道,SDK 将停止尝试重连。 后,无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    +
    +
    + 调用时机 +

    当 SDK 在连接中断后 10 秒内无法重新连接到声网边缘服务器时触发。

    -
    - <ph keyref="callback-section-title" /> +
    + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 -
    + + engine + 对象,详见 + +
    - \ 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 c8f43c436af..6ce6892d58b 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita @@ -1,26 +1,23 @@ - + - <ph keyref="onConnectionStateChanged" /> - 网络连接状态已改变回调。 + <ph keyref="onConnectionStateChanged"/> + 网络连接状态发生变化时触发的回调。 - +

    - public void onConnectionStateChanged(int state, int reason) {} + public void onConnectionStateChanged(int state, int reason) onConnectionStateChanged ? : ( state: Constants.ConnectionState, reason: Constants.ConnectionChangedReason ) => void - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine connectionChangedToState:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason NS_SWIFT_NAME(rtcEngine(_:connectionChangedTo:reason:)); - virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { - (void)state; - (void)reason; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnConnectionStateChanged(ECONNECTION_STATE_TYPE state, ECONNECTION_CHANGED_REASON_TYPE reason); onConnectionStateChanged?( connection: RtcConnection, @@ -35,49 +32,56 @@ ): void; final void Function(RtcConnection connection, ConnectionStateType state, ConnectionChangedReasonType reason)? onConnectionStateChanged; -

    +

    -

    该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

    -
    +
    + +
    自从:
    +
    自 v2.3.2 版本新增。
    +
    +
    +

    该回调在网络连接状态发生变化时触发。你可以通过该回调获取当前的连接状态以及状态变化的原因,用于进行相应的网络处理或 UI 提示。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 state - -

    当前网络连接状态。详见

    + +

    当前网络连接状态。详见

      -
    • (1):网络连接断开。
    • -
    • (2):建立网络连接中。
    • -
    • (3):网络已连接。
    • -
    • (4):重新建立网络连接中。
    • -
    • (5):网络连接失败。
    • +
    • (1):网络连接断开。
    • +
    • (2):建立网络连接中。
    • +
    • (3):网络已连接。
    • +
    • (4):重新建立网络连接中。
    • +
    • (5):网络连接失败。
    -
    + 当前的连接状态。详见 +
    reason - -

    引起当前网络连接状态改变的原因。详见

    + +

    引起当前网络连接状态改变的原因。详见

      -
    • (0):建立网络连接中。
    • -
    • (1):成功加入频道。
    • -
    • (2):网络连接中断。
    • -
    • (3):网络连接被服务器禁止,例如,当用户被踢出频道时,会返回该状态。
    • -
    • (4):加入频道失败。SDK 在尝试加入频道 20 分钟后仍未能加入频道,会返回该状态并不再尝试重连。请提示用户尝试切换网络后重新加入频道。
    • -
    • (5):离开频道。
    • -
    • (6):App ID 无效。请使用有效的 APP ID 重新加入频道,并确保你使用的 App ID 与在声网控制台生成的一致。
    • -
    • (7):频道名无效。请更换有效的频道名重新加入频道。有效的频道名为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):
    • -
    • (8):Token 无效。一般有以下原因: +
    • (0):建立网络连接中。
    • +
    • (1):成功加入频道。
    • +
    • (2):网络连接中断。
    • +
    • (3):网络连接被服务器禁止,例如,当用户被踢出频道时,会返回该状态。
    • +
    • (4):加入频道失败。SDK 在尝试加入频道 20 分钟后仍未能加入频道,会返回该状态并不再尝试重连。请提示用户尝试切换网络后重新加入频道。
    • +
    • (5):离开频道。
    • +
    • (6):App ID 无效。请使用有效的 APP ID 重新加入频道,并确保你使用的 App ID 与在声网控制台生成的一致。
    • +
    • (7):频道名无效。请更换有效的频道名重新加入频道。有效的频道名为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):
    • +
    • (8):Token 无效。一般有以下原因:
      • 你的项目启用了 App Certificate,但加入频道未使用 Token。
      • 在调用 加入频道时指定的用户 ID 与生成 Token 时传入的用户 ID 不一致。
      • @@ -87,26 +91,31 @@
        • 当你的项目启用了 App Certificate 时,使用 Token 加入频道。
        • 生成 Token 时指定的用户 ID 与加入频道时使用的用户 ID 一致,
        • 生成的 Token 和加入频道使用的 Token 一致。
        -
      • (9):当前使用的 Token 已过期。请重新在你的服务端生成 Token,然后用新的 Token 重新加入频道。
      • -
      • (10):此用户被服务器禁止 。
      • -
      • (11):由于设置了代理服务器,SDK 尝试重连 。
      • -
      • (12):更新 Token 引起网络连接状态改变 。
      • -
      • (13):客户端 IP 地址变更。如多次收到该状态码,请提示用户更换网络后尝试重新加入频道。
      • -
      • (14):SDK 和服务器连接保活超时,进入自动重连状态。
      • -
      • (15):重新加入频道成功。
      • -
      • (16):SDK 和服务器失去连接。
      • -
      • (17):连接状态变化由回声测试引起。
      • -
      • (18):本地 IP 地址被用户更改。
      • -
      • (19):使用相同的 UID 从不同的设备加入同一频道。 +
      • (9):当前使用的 Token 已过期。请重新在你的服务端生成 Token,然后用新的 Token 重新加入频道。
      • +
      • (10):此用户被服务器禁止 。
      • +
      • (11):由于设置了代理服务器,SDK 尝试重连 。
      • +
      • (12):更新 Token 引起网络连接状态改变 。
      • +
      • (13):客户端 IP 地址变更。如多次收到该状态码,请提示用户更换网络后尝试重新加入频道。
      • +
      • (14):SDK 和服务器连接保活超时,进入自动重连状态。
      • +
      • (15):重新加入频道成功。
      • +
      • (16):SDK 和服务器失去连接。
      • +
      • (17):连接状态变化由回声测试引起。
      • +
      • (18):本地 IP 地址被用户更改。
      • +
      • (19):使用相同的 UID 从不同的设备加入同一频道。

        使用相同 UID 加入同一频道为未定义行为,声网不保证所有类似情况都会收到 reason 19。

      • -
      • (20):频道内主播人数已达上限。
      • +
      • (20):频道内主播人数已达上限。

      + 连接状态发生变化的原因。详见 + + + engine + 引擎实例。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita index 46b9d0e924a..95cd5739e1f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onEncryptionError" /> - 内置加密出错回调。 + <ph keyref="onEncryptionError"/> + 报告内置加密错误的回调。 - + @@ -15,13 +15,9 @@

    public void onEncryptionError(int errorType) {} onEncryptionError?:(errorType:Constants.EncryptionError) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didOccurEncryptionError:(AgoraEncryptionErrorType)errorType; - virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { - (void)errorType; -} - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType NS_SWIFT_NAME(rtcEngine(_:didOccur:)); + virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnEncryptionError(EENCRYPTION_ERROR_TYPE errorType); onEncryptionError?( connection: RtcConnection, @@ -34,26 +30,36 @@ ): void; final void Function(RtcConnection connection, EncryptionErrorType errorType)? onEncryptionError; -

    +

    -

    调用 开启加密后, 如果发流端、收流端出现加解密出错,SDK 会触发该回调。

    -
    +

    当通过调用 启用加密功能后,如果在发送端或接收端的加密或解密过程中发生错误,SDK 会触发该回调。 开启加密后, 如果发流端、收流端出现加解密出错,SDK 会触发该回调。

    +
    参数 - - - + + + - + connection - Connection 信息。详见 - - - errorType - 错误类型,详见 + Connection 信息。详见 + + errorType + 错误类型,详见 + 错误类型: +
      +
    • (0):内部错误。
    • +
    • (1):媒体流解密失败。请确保接收端和发送端使用相同的加密模式和密钥。
    • +
    • (2):媒体流加密失败。
    • +
    • (3):数据流解密失败。请确保接收端和发送端使用相同的加密模式和密钥。
    • +
    • (4):数据流加密失败。
    • +
    +
    + 错误类型的详细信息,详见 +
    errorType 错误类型。 @@ -65,6 +71,10 @@
  • (4): 数据流加密错误。
  • -
    + + engine + 对象。详见 + + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita index 8ed5a00b668..6069aa43580 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita @@ -1,161 +1,64 @@ - + - <ph keyref="onError" /> - 发生错误回调。 + <ph keyref="onError"/> + 报告 SDK 运行时发生的错误。 - +

    - public void onError(int err) {} - - onError?:(err:Constants.ErrorCode,message:string) => void - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode; - - virtual void onError(int err, const char* msg) { - (void)err; - (void)msg; - } - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnError(int error, const FString& msg); - onError?(err: ErrorCodeType, msg: string): void; - public virtual void OnError(int err, string msg) { } - onError?(err: ErrorCodeType, msg: string): void; - final void Function(ErrorCodeType err, String msg)? onError; -

    + public void onError(int err) {} + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode NS_SWIFT_NAME(rtcEngine(_:didOccurError:)); + virtual void onError(int err, const char* msg) + + + + + +

    -
    -

    该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

    +
    +

    -
    - <ph keyref="callback-section-title" /> +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - + + err + 错误码。 + 错误码。详见 + + + msg + 错误信息。 - - errorCode - err - 错误码。详见 + + errorCode + 错误码,详见 - - msg - 错误描述。 + + engine + 引擎对象,详见 - - err - error - 错误码。 - -
      -
    • (0):没有错误。
    • -
    • (1):一般性的错误(没有明确归类的错误原因)。请重新调用方法。
    • -
    • (2):方法中设置了无效的参数。例如指定的频道名中含有非法字符。请重新设置参数。
    • -
    • (3):SDK 尚未准备好。可能的原因有: - - -
        -
      • 初始化失败。请重新初始化
      • -
      • 调用方法时用户尚未加入频道。请检查方法的调用逻辑。
      • -
      • 调用 方法时用户尚未离开频道。请检查方法的调用逻辑。
      • -
      • 请检查是否已开启音频模块。请检查程序集完整性。
      • -
    • -
    • (4): 当前状态不支持该操作。可能的原因有: - - -
        -
      • Android 平台调用 方法时,如果设备版本低于 Android 5.0,会上报该错误码。请确认 Android 设备版本。
      • -
      • 使用内置加密时,设置的加密模式不正确,或加载外部加密库失败。请检查加密的枚举值是否正确,或重新加载外部加密库。
      • -
    • -
    • (5):方法调用被拒绝。可能的原因有: - - -
        -
      • 初始化失败。请重新初始化
      • -
      • 在加入频道时,将频道名设为空字符 ""。请重新设置频道名。
      • -
      • 多频道场景下,在调用 方法加入频道时,设置的频道名已存在。请重新设置频道名。
      • -
    • -
    • (6):缓冲区大小不足以存放返回的数据。
    • -
    • (7): 尚未初始化就调用方法。请确认在调用该方法前已创建 对象并完成初始化。
    • -
    • (8):当前状态无效。
    • -
    • (9):没有操作权限。请检查用户是否授予了 App 音视频设备的使用权限。
    • -
    • (10): 方法调用超时。有些方法调用需要 SDK 返回结果,如果 SDK 处理事件过长,超过 10 秒没有返回,会出现此错误。
    • -
    • (17):加入频道被拒绝。可能的原因有: - - -
        -
      • 用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) 状态外,不要再次调用该方法加入频道。
      • -
      • 用户在调用 进行通话测试后,未调用 结束当前测试就尝试加入频道。开始通话测试后,需要先调用 结束当前测试,再加入频道。
      • -
    • -
    • (18):离开频道失败。可能的原因有: - - -
        -
      • 调用 前,用户已离开频道。停止调用该方法即可。
      • -
      • 用户尚未加入频道,就调用 退出频道。这种情况下无需额外操作。
      • -
    • -
    • (19):资源已被占用,不能重复使用。
    • -
    • (20):SDK 放弃请求,可能由于请求的次数太多。
    • -
    • (22):SDK 分配资源失败,可能由于 App 占用资源过多或系统资源耗尽。
    • -
    • (101):不是有效的 App ID。请更换有效的 App ID 重新加入频道。
    • -
    • (102):不是有效的频道名。可能的原因是设置的参数数据类型不正确。请更换有效的频道名重新加入频道。
    • -
    • (103):无法获取当前区域的服务器资源。请在初始化 时尝试指定其他区域。
    • -
    • (109):当前使用的 Token 过期,不再有效。请在服务端申请生成新的 Token,并调用 更新 Token。 - - -
      - -
      弃用:
      -
      该枚举已废弃。请改用 回调中的 (9)。
      -
      -
      -
    • -
    • (110):Token 无效。一般有以下原因: - - -
        -
      • 在控制台中启用了 App 证书,但未使用 App ID + Token 鉴权。当项目启用了 App 证书,就必须使用 Token 鉴权。
      • -
      • 生成 Token 时填入的 uid 字段,和用户加入频道时填入的 uid 不匹配。
      • -
      -
      - -
      弃用:
      -
      该枚举已废弃。请改用 回调中的 (8)。
      -
      -
      -
    • -
    • (111):网络连接中断。SDK 在和服务器建立连接后,失去网络连接超过 4 秒。
    • -
    • (112):网络连接丢失。网络连接中断,且 SDK 无法在 10 秒内连接服务器。
    • -
    • (113):调用 方法时用户不在频道内。
    • -
    • (114):在调用 时,发送的数据长度大于 1 KB。
    • -
    • (115):在调用 时,发送数据的频率超过限制(6 KB/s)。
    • -
    • (116):在调用 时,创建的数据流超过限制(5 个)。
    • -
    • (117):数据流发送超时。
    • -
    • (119):用户切换角色失败,请尝试重新加入频道。
    • -
    • (120):解密失败。可能是用户加入频道时使用了错误的密码。请检查用户加入频道时填入的密码,或引导用户尝试重新加入频道。
    • -
    • (121):该用户 ID 无效。
    • -
    • (123):该用户被服务器禁止。
    • -
    • (130):SDK 不支持将加密过的流推到 CDN 上。如果开启了媒体流加密,则在调用 时,会返回该错误。
    • -
    • (134):无效的 user account,可能是因为设置了无效的参数。
    • -
    • (1001):加载媒体引擎失败。
    • -
    • (1005):音频设备出现错误(未指明何种错误)。请检查音频设备是否被其他应用占用,或者尝试重新进入频道。
    • -
    • (1008):初始化播放设备出错。请检查播放设备是否被其他应用占用,或者尝试重新进入频道。
    • -
    • (1009):启动播放设备出错。请检查播放设备是否正常。
    • -
    • (1010):停止播放设备出错。
    • -
    • (1011):初始化录音设备出错。请检查录音设备是否正常,或者尝试重新进入频道。
    • -
    • (1012):启动录音设备出错。请检查录音设备是否正常。
    • -
    • (1013):停止录音设备出错。
    • -
    • (1501):没有摄像头使用权限。请检查是否已经打开摄像头权限。
    • -
    -
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita index 83a64f4e2c3..f2d120607a9 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrorwithcontext.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onExtensionErrorWithContext" /> - 插件出错回调。 + <ph keyref="onExtensionErrorWithContext"/> + 扩展运行异常时触发的回调。 - + @@ -18,12 +18,8 @@ - (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) { - (void)context; - (void)error; - (void)message; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnExtensionErrorWithContext(const FExtensionContext& context, int error, const FString& message); onExtensionErrorWithContext?( context: ExtensionContext, @@ -38,27 +34,34 @@ ): void; final void Function(ExtensionContext context, int error, String message)? onExtensionErrorWithContext; -

    +

    -

    启用插件失败或者插件运行出错时,插件会触发该回调并报告错误码和错误原因。

    +

    当扩展启用失败或运行过程中发生错误时触发该回调。你可以通过该回调获取扩展上下文、错误码以及错误信息,以便进行排查或提示用户。

    +
    +
    + 调用时机 +

    当扩展启用失败或运行时发生错误时触发。

    参数 - context + context extContext - 插件上下文信息,详见 - + 插件上下文信息,详见 + 扩展的上下文信息。详见 + error - 错误码。详见插件服务商提供的插件文档。 - + 错误码。详见插件服务商提供的插件文档。 + 错误码。具体含义请参考扩展提供方的文档。 + message - 错误原因。详见插件服务商提供的插件文档。 - -
    + 错误原因。详见插件服务商提供的插件文档。 + 错误原因。具体内容请参考扩展提供方的文档。 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita index b8a11da859b..092031ae3be 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensioneventwithcontext.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onExtensionEventWithContext" /> - 插件事件回调。 + <ph keyref="onExtensionEventWithContext"/> + 扩展运行期间的事件回调。 - + @@ -14,16 +14,12 @@

    default void onEventWithContext(ExtensionContext extContext, String key, String value){}; - + - (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) { - (void)context; - (void)key; - (void)value; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnExtensionEventWithContext(const FExtensionContext& context, const FString& key, const FString& value); onExtensionEventWithContext?( context: ExtensionContext, @@ -38,26 +34,38 @@ ): void; final void Function(ExtensionContext context, String key, String value)? onExtensionEventWithContext; -

    +

    -

    为监听插件事件,你需要注册该回调。

    -
    +

    你需要注册该回调以监听扩展运行期间的事件。

    +
    参数 - - + + - - + + - - + + + + + context + 扩展的上下文信息。详见 + + + key + 扩展事件的键。 + + + value + 扩展事件键对应的值。 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita index b9838279d81..9bde12e8895 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstartedwithcontext.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onExtensionStartedWithContext" /> - 插件已启用成功回调。 + <ph keyref="onExtensionStartedWithContext"/> + 扩展启用成功时触发的回调。 - + @@ -14,29 +14,31 @@

    default void onStartedWithContext(ExtensionContext extContext){}; - + - (void)onExtensionStartedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStartedWithContext(_:)); - virtual void onExtensionStartedWithContext(const ExtensionContext &context) { - (void)context; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onExtensionStartedWithContext(const ExtensionContext &context) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnExtensionStartedWithContext(const FExtensionContext& context); onExtensionStartedWithContext?(context: ExtensionContext): void; public virtual void OnExtensionEventWithContext(ExtensionContext context, string key, string value){ } onExtensionStartedWithContext?(context: ExtensionContext): void; final void Function(ExtensionContext context)? onExtensionStartedWithContext; -

    +

    -

    成功启用插件后会触发该回调。

    -
    +

    +
    参数 - - + + + + + context + 扩展的上下文信息。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita index 0d8bd1bcfbe..4c7e3aa3bf6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstoppedwithcontext.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onExtensionStoppedWithContext" /> - 插件已禁用回调。 + <ph keyref="onExtensionStoppedWithContext"/> + 扩展被禁用时触发的回调。 - + @@ -14,29 +14,31 @@

    default void onStoppedWithContext(ExtensionContext extContext){}; - + - (void)onExtensionStoppedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStoppedWithContext(_:)); - virtual void onExtensionStoppedWithContext(const ExtensionContext &context) { - (void)context; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onExtensionStoppedWithContext(const ExtensionContext &context) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnExtensionStoppedWithContext(const FExtensionContext& context); onExtensionStoppedWithContext?(context: ExtensionContext): void; public virtual void OnExtensionStoppedWithContext(ExtensionContext context){ } onExtensionStoppedWithContext?(context: ExtensionContext): void; final void Function(ExtensionContext context)? onExtensionStoppedWithContext; -

    +

    -

    成功禁用插件后会触发该回调。

    -
    +

    当扩展被禁用时触发该回调。你可以通过该回调获取扩展的上下文信息,例如扩展名称、版本等。

    +
    参数 - - + + + + + context + 扩展的上下文信息,例如扩展名称、版本等。详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita index 9a9cce26d8c..bb9c9bfa734 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita @@ -1,33 +1,24 @@ - + - <ph keyref="onFacePositionChanged" /> - 报告本地人脸检测结果。 + <ph keyref="onFacePositionChanged"/> + 报告本地用户的人脸检测结果。 - +

    - public void onFacePositionChanged( - int imageWidth, int imageHeight, AgoraFacePositionInfo[] faceRectArr) {} + public void onFacePositionChanged(int imageWidth, int imageHeight, AgoraFacePositionInfo[] faceRectArr) onFacePositionChanged?:( - imageWidth:number, imageHeight:number, faceRectArr:Array<AgoraFacePositionInfo>) => void; - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces NS_SWIFT_NAME(rtcEngine(_:facePositionDidChangeWidth:previewHeight:faces:)); - virtual void onFacePositionChanged(int imageWidth, int imageHeight, - const Rectangle* vecRectangle, const int* vecDistance, - int numFaces) { - (void) imageWidth; - (void) imageHeight; - (void) vecRectangle; - (void) vecDistance; - (void) numFaces; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + imageWidth:number, imageHeight:number, faceRectArr:Array<AgoraFacePositionInfo>) => void; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces NS_SWIFT_NAME(rtcEngine(_:facePositionDidChangeWidth:previewHeight:faces:)); + virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle* vecRectangle, const int* vecDistance, int numFaces) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFacePositionChanged(int imageWidth, int imageHeight, const TArray<FRectangle>& vecRectangle, const TArray<int>& vecDistance, int numFaces); onFacePositionChanged?( imageWidth: number, @@ -46,50 +37,84 @@ ): void; final void Function(int imageWidth, int imageHeight, Rectangle vecRectangle, int vecDistance, int numFaces)? onFacePositionChanged; -

    +

    -

    调用 () 开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息: +

    + +
    自从:
    +
    自 v3.0.1 版本新增。
    +
    +
    +

    调用 启用人脸检测后,你可以实时获取以下本地用户信息: + () 开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息:

    • 摄像头采集的画面大小
    • 人脸在 view 中的位置
    • 人脸距设备屏幕的距离
    • -

    +
      +
    • 本地视频的宽度和高度。
    • +
    • 人脸在本地视图中的位置。
    • +
    • 人脸与屏幕之间的距离。 该距离值是基于本地视频尺寸和人脸位置的拟合计算结果。
    • +
    +

    其中,人脸距设备屏幕的距离由 SDK 通过摄像头采集的画面大小和人脸在 view 中的位置拟合计算得出。

      -
    • 该回调仅适用于 Android 和 iOS 平台。
    • +
    • 该回调仅适用于 Android 和 iOS 平台。
    • 当检测到摄像头前的人脸消失时,该回调会立刻触发;在无人脸的状态下,该回调触发频率会降低,以节省设备耗能。
    • 当人脸距离设备屏幕过近时,SDK 不会触发该回调。
    • -
    • Android 平台上,人脸距设备屏幕的距离(distance)值有一定误差,请不要用它进行精确计算。
    • -
    +
  • Android 平台上,人脸距设备屏幕的距离(distance)值有一定误差,请不要用它进行精确计算。
  • +
      +
    • 该回调仅适用于 Android 和 iOS 平台。
    • +
    • 当检测到摄像头前的人脸消失时,会立即触发该回调。在无人脸状态下,为降低本地设备功耗,回调的触发频率会降低。
    • +
    • 当人脸靠近屏幕时,SDK 会停止触发该回调。
    • +
    • 在 Android 平台中,该回调中的 distance 值可能与实际距离存在偏差,因此不建议用于精确计算。
    • +
    +
    +
      +
    • 当检测到摄像头前的人脸消失时,会立即触发该回调。当未检测到人脸时,为降低本地设备的功耗,回调触发频率会降低。
    • +
    • 当人脸靠近屏幕时,SDK 会停止触发该回调。
    • +
    +
    +
      +
    • 当检测到摄像头前的人脸消失时,会立即触发该回调。当未检测到人脸时,为降低本地设备的功耗,该回调的触发频率会降低。
    • +
    • 当人脸靠近屏幕时,SDK 会停止触发该回调。
    • +
    • 在 Android 平台中,该回调中上报的距离值可能与实际距离略有偏差。因此,声网不建议将其用于精确计算。
    • +
    +
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - imageWidth - width - 摄像头采集画面的宽度 (px)。 - + imageWidth + width + 摄像头采集画面的宽度 (px)。 + 本地摄像头采集的视频图像的宽度(像素)。 + 本地摄像头采集的视频图像宽度(像素)。 + - imageHeight - height - 摄像头采集画面的高度 (px)。 - - + imageHeight + height + 摄像头采集画面的高度 (px)。 + 本地摄像头采集的视频图像的高度(像素)。 + 本地摄像头采集的视频图像高度(像素)。 + + faceRectArr - faces - 检测到的人脸信息,详见 。检测到几张人脸,就会报告几个 数组。数组长度可以为 0,表示没有检测到摄像头前出现人脸。 + faces + 检测到的人脸信息,详见 。检测到几张人脸,就会报告几个 数组。数组长度可以为 0,表示没有检测到摄像头前出现人脸。 - + vecRectangle - +

    是一个长度为 numFaces 的数组,表示检测到的人脸信息:

      @@ -99,17 +124,39 @@
    • height:人脸在 view 中的高度 (px)。

    - 检测到的人脸信息。详见 + 检测到的人脸信息。详见
    - + vecDistance - 是一个长度为 numFaces 的数组,表示人脸和设备屏幕之间的距离 (cm)。 - 人脸和设备屏幕之间的距离 (cm)。 + 是一个长度为 numFaces 的数组,表示人脸和设备屏幕之间的距离 (cm)。 + 人脸和设备屏幕之间的距离 (cm)。 + + + numFaces + 检测的人脸数量。如果为 0,则表示没有检测到人脸。 + 检测到的人脸数量。如果该值为 0,表示未检测到人脸。 + + + faces + 检测到的人脸信息。该数组的长度取决于检测到的人脸数量,可能为 0,表示摄像头前未检测到人脸。详见 + 检测到的人脸信息,详见 。该回调中返回的 数组数量取决于检测到的人脸数量。数组长度为 0 表示摄像头前未检测到人脸。 + 一个长度为 numFaces 的数组,表示检测到的人脸信息。详见 : +
      +
    • x:人脸在本地视图中的 x 坐标(像素),以视图左上角为原点,表示人脸相对于原点的水平位置。
    • +
    • y:人脸在本地视图中的 y 坐标(像素),以视图左上角为原点,表示人脸相对于原点的垂直位置。
    • +
    • width:人脸在采集视图中的宽度(像素)。
    • +
    • height:人脸在采集视图中的高度(像素)。
    • +
    +
    +
    + + faceDistances + 一个长度为 numFaces 的数组,表示每张人脸与设备屏幕之间的距离(厘米)。 - - numFaces - 检测的人脸数量。如果为 0,则表示没有检测到人脸。 + + engine + 引擎对象,详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita index 63f70836a1b..4e0303aa2f3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita @@ -1,25 +1,23 @@ - + - <ph keyref="onFirstLocalAudioFramePublished" /> - 已发布本地音频首帧回调。 + <ph keyref="onFirstLocalAudioFramePublished"/> + 本地音频首帧发布时触发的回调。 - +

    - public void onFirstLocalAudioFramePublished(int elapsed) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; - virtual void onFirstLocalAudioFramePublished(int elapsed) { - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + public void onFirstLocalAudioFramePublished(int elapsed) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstLocalAudioFramePublished:)); + virtual void onFirstLocalAudioFramePublished(int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFirstLocalAudioFramePublished(int elapsed); onFirstLocalAudioFramePublished?( connection: RtcConnection, @@ -32,33 +30,43 @@ ): void; final void Function(RtcConnection connection, int elapsed)? onFirstLocalAudioFramePublished; -

    +

    -

    SDK 会在以下时机触发该回调: -

      +

      • 开启本地音频的情况下,调用 成功加入频道后。
      • 调用 (),再调用 () 后。
      • 调用 ,再调用 后。
      • -
      • 调用 成功向 SDK 推送音频帧后。
      • -
      • 调用 成功向 SDK 推送音频帧后。
      • +
      • 调用 成功向 SDK 推送音频帧后。
      • +
      • 调用 成功向 SDK 推送音频帧后。

      +
    +
    + 调用时机 +

    本地音频首帧发布时触发。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 + 从调用 方法到触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 到 SDK 触发该回调的时间间隔(毫秒)。 + 从调用 joinChannelByToken 到 SDK 触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 到 SDK 触发该回调的时间间隔,单位为毫秒。 + + + engine + 对象。详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita index 380adf0ca4a..cdaee47ef30 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onFirstLocalVideoFrame" /> - 已显示本地视频首帧回调。 + <ph keyref="onFirstLocalVideoFrame"/> + 本地视频首帧在本地视图中显示时触发的回调。 - + @@ -17,19 +17,9 @@ 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 - sourceType:(AgoraVideoSourceType)sourceType; - - virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { - (void)source; - (void)width; - (void)height; - (void)elapsed; - } - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFrameWithSize:(CGSize)size elapsed:(NSInteger)elapsed sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:firstLocalVideoFrameWith:elapsed:sourceType:)); + virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFirstLocalVideoFrame(EVIDEO_SOURCE_TYPE source, int width, int height, int elapsed); onFirstLocalVideoFrame?( source: VideoSourceType, @@ -47,38 +37,56 @@ final void Function( VideoSourceType source, int width, int height, int elapsed)? onFirstLocalVideoFrame; -

    +

    -

    本地视频首帧显示在本地视图上时,SDK 会触发此回调。

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

    +
    +
    + 调用时机 +

    当本地视频首帧在本地视图中显示时触发。

    +
    +
    + <ph keyref="callback-section-title"/> - - - + + + - - + + + + + size + 本地渲染视频的尺寸。 + 首帧本地视频画面的尺寸(宽和高)。 + + + width + 本地渲染视频的宽 (px) 。 + 本地视频首帧的宽度(像素)。 + + + height + 本地渲染视频的高 (px)。 + 本地视频首帧的高度(像素)。 - - size - 本地渲染视频的尺寸。 - - - width - 本地渲染视频的宽 (px) 。 - - - height - 本地渲染视频的高 (px)。 - elapsed - 从调用 加入频道时到发生此事件过去的时间(毫秒)。如果在加入频道前调用了 /,则该参数表示从调用 开启本地视频预览到发生此事件过去的时间。 - -
    + 从调用 加入频道时到发生此事件过去的时间(毫秒)。如果在加入频道前调用了 /,则该参数表示从调用 开启本地视频预览到发生此事件过去的时间。 + 从调用 joinChannelByToken 加入频道到 SDK 触发该回调的时间间隔(毫秒)。如果在加入频道前调用了 ,该参数表示从调用 到触发该事件的时间间隔。 + 从本地用户调用 joinChannel 加入频道到 SDK 触发该回调的时间(毫秒)。如果在加入频道前调用了 ,该参数表示从调用 到该事件发生的时间。 + + + source + 视频源的类型,详见 + 视频源的类型。详见 + + + engine + 你使用的 对象。详见 + + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita index 31f76c4af58..a23863bef25 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita @@ -1,30 +1,23 @@ - + - <ph keyref="onFirstLocalVideoFramePublished" /> - 已发布本地视频首帧回调。 + <ph keyref="onFirstLocalVideoFramePublished"/> + 本地视频首帧发布时触发的回调。 - +

    - public void onFirstLocalVideoFramePublished(Constants.VideoSourceType source, int elapsed) {} - - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed - sourceType:(AgoraVideoSourceType)sourceType; - - virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) { - (void)source; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + public void onFirstLocalVideoFramePublished(Constants.VideoSourceType source, int elapsed) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:firstLocalVideoFramePublishedWithElapsed:sourceType:)); + virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFirstLocalVideoFramePublished(EVIDEO_SOURCE_TYPE source, int elapsed); onFirstLocalVideoFramePublished?( connection: RtcConnection, @@ -37,36 +30,50 @@ ): void; final void Function(RtcConnection connection, int elapsed)? onFirstLocalVideoFramePublished; -

    +

    -

    SDK 会在以下三种时机触发该回调: -

      -
    • 开启本地视频模块的情况下,调用 成功加入频道后。
    • -
    • 调用 (),再调用 () 后。
    • -
    • 调用 ,再调用 后。
    • -
    • 调用 成功向 SDK 推送视频帧后。
    • +

      该回调在本地用户成功加入频道并发布视频流后,首次成功发送视频帧时触发。你可以通过该回调了解本地视频首帧的发送时机,用于统计性能指标或调试。

        +
      • 开启本地视频模块的情况下,调用 成功加入频道后。
      • +
      • 调用 (),再调用 () 后。
      • +
      • 调用 ,再调用 后。
      • +
      • 调用 成功向 SDK 推送视频帧后。

      +
    +
    + 调用时机 +

    当本地视频首帧发布时触发。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - - - + + + elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 + 从调用 方法到触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 到该回调被触发的时间间隔(毫秒)。 + 从你调用 joinChannelByToken 到该回调触发的时间间隔(毫秒)。 + + + source + 视频源的类型,详见 + 视频源类型,详见 + + + engine + 对象。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita index 238d0bbe6a7..af92c371772 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onFirstRemoteAudioDecoded" /> + <ph keyref="onFirstRemoteAudioDecoded"/> 已解码远端音频首帧的回调。 - + @@ -16,7 +16,7 @@ public void onFirstRemoteAudioDecoded(int uid, int elapsed) { } - + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { @@ -24,7 +24,7 @@ (void)elapsed; } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFirstRemoteAudioDecoded(int64 uid, int elapsed); onFirstRemoteAudioDecoded?( connection: RtcConnection, @@ -39,13 +39,13 @@ ): void; final void Function(RtcConnection connection, int uid, int elapsed)? onFirstRemoteAudioDecoded; -

    +

    弃用:
    -
    请改用
    +
    请改用

    SDK 会在以下时机触发该回调: @@ -59,21 +59,21 @@

    • 远端用户离开频道
    • 远端用户掉线
    • -
    • 远端用户调用 方法停止发送音频流
    • -
    • 远端用户调用 方法关闭音频
    • +
    • 远端用户调用 方法停止发送音频流
    • +
    • 远端用户调用 方法关闭音频

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> engine - 对象。 + 对象。 - - + + uid @@ -81,8 +81,8 @@ elapsed - 从本地用户调用 直至该回调触发的延迟,单位为毫秒。 + 从本地用户调用 直至该回调触发的延迟,单位为毫秒。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita index 7e704622570..cfa58385907 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onFirstRemoteAudioFrame" /> + <ph keyref="onFirstRemoteAudioFrame"/> 已接收远端音频首帧回调。 - + @@ -16,7 +16,7 @@ public void onFirstRemoteAudioFrame(int uid, int elapsed) { } - + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid:elapsed:)); virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { @@ -24,7 +24,7 @@ (void)elapsed; } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFirstRemoteAudioFrame(int64 uid, int elapsed); onFirstRemoteAudioFrame?( connection: RtcConnection, @@ -39,26 +39,26 @@ ): void; final void Function(RtcConnection connection, int userId, int elapsed)? onFirstRemoteAudioFrame; -

    +

    弃用:
    -
    请改用
    +
    请改用
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> engine - 对象。 + 对象。 - - + + uid @@ -67,8 +67,8 @@ elapsed - +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita index 916fd1666c3..8fc3ccad477 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita @@ -1,105 +1,87 @@ - + - <ph keyref="onFirstRemoteVideoDecoded" /> - 已接收到远端视频并完成解码回调。 + <ph keyref="onFirstRemoteVideoDecoded"/> + 首帧远端视频解码完成回调。 - +

    - public void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - firstRemoteVideoDecodedOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed; - virtual void onFirstRemoteVideoDecoded(uid_t uid, - int width, - int height, - int elapsed) { - (void)uid; - (void)width; - (void)height; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnFirstRemoteVideoDecoded(int64 uid, int width, int height, int elapsed); - onFirstRemoteVideoDecoded?( - connection: RtcConnection, - remoteUid: number, - width: number, - height: number, - elapsed: number - ): void; - public virtual void OnFirstRemoteVideoDecoded(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {} - onFirstRemoteVideoDecoded?( - connection: RtcConnection, - remoteUid: number, - width: number, - height: number, - elapsed: number - ): void; - final void Function(RtcConnection connection, int remoteUid, int width, - int height, int elapsed)? onFirstRemoteVideoDecoded; -

    + public void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoDecodedOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteVideoDecodedOfUid:size:elapsed:)) __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead."); + virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated + + + + + +

    -
    -

    SDK 会在以下时机触发该回调: - - - -

      -
    • 远端用户首次上线后发送视频。
    • -
    • 远端用户视频离线再上线后发送视频。出现这种中断的可能原因包括: - - - -
        -
      • 远端用户离开频道。
      • -
      • 远端用户掉线。
      • -
      • 远端用户调用 方法关闭视频模块。
      • -
    • -

    +
    +
    + +
    自从
    +
    v
    +
    +
    +

    -
    - <ph keyref="callback-section-title" /> +
    + 触发时机 +

    当接收到并解码首帧远端视频时触发。

    +
    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - uid - 用户 ID,指定是哪个用户的视频流。 - - - - - - - size - 视频流尺寸。 + + uid + 远端用户 ID。 + 远端用户 ID,即发送视频流的用户。 + 发送视频流的远端用户 ID。 - - connection - Connection 信息。详见 + + width + 视频流的宽度(像素)。 + 视频流的宽度(单位为像素)。 - - remoteUid - 用户 ID,指定是哪个用户的视频流。 + + height + 视频流的高度(像素)。 + 视频流的高度(单位为像素)。 - - width - 视频流宽(px)。 + + size + 视频画面的尺寸(宽和高),单位为像素。 - - height - 视频流高(px)。 + + elapsed + 从本地用户调用 joinChannel 到该回调被触发的时间(毫秒)。 + 从调用 到该回调被触发的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 加入频道到 SDK 触发该回调的时间(单位为毫秒)。 - - elapsed - 从本地调用 开始到该回调触发的延迟(毫秒)。 + + engine + 引擎实例。详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita index b63d60034ef..1f5928519fd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onFirstRemoteVideoFrame" /> - 渲染器已接收首帧远端视频回调。 + <ph keyref="onFirstRemoteVideoFrame"/> + 远端视频首帧显示时触发的回调。 - + @@ -15,15 +15,9 @@

    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 uid, int width, int height, int elapsed) { - (void)uid; - (void)width; - (void)height; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteVideoFrameOfUid:size:elapsed:)); + virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnFirstRemoteVideoFrame(int64 uid, int width, int height, int elapsed); onFirstRemoteVideoFrame?( connection: RtcConnection, @@ -42,44 +36,61 @@ ): void; final void Function(RtcConnection connection, int remoteUid, int width, int height, int elapsed)? onFirstRemoteVideoFrame; -

    +

    该回调只在 SDK 渲染时才会触发;如果用户采用自定义视频渲染则不会触发,客户需要通过 SDK 以外的方法自行实现。 -
    -
    - <ph keyref="callback-section-title" /> + 该回调仅在视频帧由 SDK 渲染时触发。如果你使用自定义视频渲染,则不会触发该回调。你需要使用 SDK 外的方法自行实现此功能。 + 该回调仅在视频帧由 SDK 渲染时触发。如果你使用自定义视频渲染,则不会触发该回调。你需要使用 SDK 之外的方法自行实现。 +
    +
    + 调用时机 +

    当渲染器接收到远端视频的第一帧时触发。

    +
    +
    + <ph keyref="callback-section-title"/> - - - + + + - uid - remoteUid + uid + remoteUid userId - 用户 ID,指定是哪个用户的视频流。 - - - size - 视频流尺寸。 - - + 用户 ID,指定是哪个用户的视频流。 + 发送视频流的远端用户的用户 ID。 + 发送视频流的远端用户 ID。 + + + size + 视频流尺寸。 + 视频的尺寸。 + + connection - Connection 信息。详见 - - - width - 视频流宽(px)。 - - - height - 视频流高(px)。 + Connection 信息。详见 + + width + 视频流宽(px)。 + 视频流的宽度,单位为像素。 + + + height + 视频流高(px)。 + 视频流的高度,单位为像素。 + elapsed - 从本地调用 到发生此事件过去的时间(毫秒)。 - -
    + 从本地调用 到发生此事件过去的时间(毫秒)。 + 从你调用 joinChannelByToken 加入频道到 SDK 触发该回调的时间(毫秒)。 + 从本地用户调用 joinChannel 加入频道到 SDK 触发该回调的时间,单位为毫秒。 + + + engine + 引擎实例对象。详见 + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index 00531d2d469..2ac996c8d48 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -1,45 +1,38 @@ - + - <ph keyref="onJoinChannelSuccess" /> - 成功加入频道回调。 + <ph keyref="onJoinChannelSuccess"/> + 本地用户成功加入频道回调。 - +

    - public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} + public void onJoinChannelSuccess(String channel, int uid, int elapsed) onJoinChannelSuccess?:(channel: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, - uid_t uid, - int elapsed) { - (void)channel; - (void)uid; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didJoinChannel:withUid:elapsed:)); + virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnJoinChannelSuccess(const FString& Channel, int64 Uid, int Elapsed); onJoinChannelSuccess?(connection: RtcConnection, elapsed: number): void; public virtual void OnJoinChannelSuccess(RtcConnection connection, int elapsed) {} onJoinChannelSuccess?(connection: RtcConnection, elapsed: number): void; final void Function(RtcConnection connection, int elapsed)? onJoinChannelSuccess; -

    +

    -

    该回调方法表示该客户端成功加入了指定的频道。

    -
    +

    该回调在本地用户调用 joinChanneljoinChannelWithUserAccount 成功加入频道时触发。你可以通过该回调确认用户已成功加入指定频道,并获取用户 ID 和加入所耗时间。

    +
    触发时机 -

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

    -

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

    +

    当你调用 joinChanneljoinChannelWithUserAccount 加入频道时,SDK 会触发该回调。

    +

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

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

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

    @@ -48,28 +41,41 @@

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - 对象。 - - + + engine + 对象。 + 对象,详见 + + channel 频道名。 - + uid 加入频道的用户 ID。 - + connection - Connection 信息。详见 + Connection 信息。详见 elapsed - 从本地调用 开始到发生此事件过去的时间(毫秒)。 - -
    + 从本地调用 开始到发生此事件过去的时间(毫秒)。 + 从本地用户调用 joinChanneljoinChannelWithUserAccount 加入频道到 SDK 触发该回调的时间间隔(毫秒)。 + 从调用 joinChannelByToken 等加入频道方法到触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 到 SDK 触发该回调的时间间隔(毫秒)。 + + + channel + 频道名。 + + + uid + 加入频道的用户 ID。 + 本地用户加入频道后分配的用户 ID。 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita index 388f73c7906..797d495cd10 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita @@ -1,49 +1,52 @@ - + - <ph keyref="onLastmileProbeResult" /> - 通话前网络上下行 Last mile 质量探测报告回调。 + <ph keyref="onLastmileProbeResult"/> + 报告最后一公里网络探测结果。 - +

    - public void onLastmileProbeResult(LastmileProbeResult result) {} + public void onLastmileProbeResult(LastmileProbeResult result) onLastmileProbeResult? : (result:LastmileProbeResult) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result; - virtual void onLastmileProbeResult(const LastmileProbeResult& result) { - (void)result; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result NS_SWIFT_NAME(rtcEngine(_:lastmileProbeTest:)); + virtual void onLastmileProbeResult(const LastmileProbeResult& result) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLastmileProbeResult(const FLastmileProbeResult& result); onLastmileProbeResult?(result: LastmileProbeResult): void; public virtual void OnLastmileProbeResult(LastmileProbeResult result) onLastmileProbeResult?(result: LastmileProbeResult): void; final void Function(LastmileProbeResult result)? onLastmileProbeResult; -

    +

    -

    - 在调用 之后,SDK 会在约 30 秒内返回该回调。 +

    该回调在调用 后 30 秒内触发。 之后,SDK 会在约 30 秒内返回该回调。

    -
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + result - 上下行 Last mile 质量探测结果。详见 + 上下行 Last mile 质量探测结果。详见 + 上下行 last mile 网络探测结果。详见 + 上下行最后一公里网络探测测试结果,详见 + 上下行最后一公里网络探测测试结果。详见 + + + engine + 对象。 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita index 358d7f3d8d6..50077f2aa4e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita @@ -1,50 +1,66 @@ - + - <ph keyref="onLastmileQuality" /> - 网络上下行 last mile 质量报告回调。 + <ph keyref="onLastmileQuality"/> + 报告本地用户的最后一公里网络质量。 - +

    - public void onLastmileQuality(int quality) {} + public void onLastmileQuality(int quality) onLastmileQuality? : (quality:Constants.QualityType) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; - virtual void onLastmileQuality(int quality) { - (void)quality; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality NS_SWIFT_NAME(rtcEngine(_:lastmileQuality:)); + virtual void onLastmileQuality(int quality) { (void)quality; } + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLastmileQuality(int quality); onLastmileQuality?(quality: QualityType): void; public virtual void OnLastmileQuality(int quality) onLastmileQuality?(quality: QualityType): void; final void Function(QualityType quality)? onLastmileQuality; -

    +

    -

    该回调描述本地用户在加入频道前的 last mile 网络探测的结果,其中 last mile 是指设备到声网边缘服务器的网络状态。

    -

    加入频道前,调用 之后,SDK 触发该回调报告本地用户在加入频道前的 last mile 网络探测的结果。

    +

    该回调在调用 后触发,用于报告用户加入频道前本地设备与声网边缘服务器之间的网络连接质量。

    +

    加入频道前,调用 之后,SDK 触发该回调报告本地用户在加入频道前的 last mile 网络探测的结果。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + quality - Last mile 网络质量。详见 + Last mile 网络质量。详见
      -
    • +
    + 最后一公里网络质量。详见 。 +
      +
    • (0):网络质量未知。
    • +
    • (1):网络质量极好。
    • +
    • (2):网络质量较好,但码率可能略低于极好。
    • +
    • (3):用户可以感受到通信有轻微卡顿。
    • +
    • (4):用户无法流畅通信。
    • +
    • (5):网络质量极差,几乎无法通信。
    • +
    • (6):网络连接已断开,无法通信。
    • +
    • (8):正在进行 last-mile 网络探测。
    • +
    +
    + 最后一公里的网络质量,详见 + 最后一公里网络质量。详见 +
    + + engine + 对象,详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita index c4083649521..7c1fd77d00f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onLeaveChannel" /> - 离开频道回调。 + <ph keyref="onLeaveChannel"/> + 回调。 - + @@ -15,46 +15,51 @@

    public void onLeaveChannel(RtcStats stats) {} onLeaveChannel?:(stats: RtcStats ) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onLeaveChannel(const RtcStats& stats) { - (void)stats; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:didLeaveChannelWith:)); + virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; } + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLeaveChannel(const FRtcStats& stats); onLeaveChannel?(connection: RtcConnection, stats: RtcStats): void; public virtual void OnLeaveChannel(RtcConnection connection, RtcStats stats) {} onLeaveChannel?(connection: RtcConnection, stats: RtcStats): void; final void Function(RtcConnection connection, RtcStats stats)? onLeaveChannel; -

    +

    -

    你可以通过该回调获取此次通话的总通话时长、SDK 收发数据的流量等信息。

    -
    +

    你可以获取通话的总时长以及 SDK 的收发数据流量等信息。 + +触发时机:当你调用 leaveChannelleaveChannel(const LeaveChannelOptions& options)leaveChannelEx(const RtcConnection& connection)leaveChannelEx(const RtcConnection& connection, const LeaveChannelOptions& options) 离开频道后,SDK 会触发该回调。

    +
    触发时机 -

    当你成功调用 离开频道后,SDK 会触发该回调。

    -

    当你成功调用 离开频道后,SDK 会触发该回调。

    +

    当你成功调用 离开频道后,SDK 会触发该回调。

    +

    当你成功调用 离开频道后,SDK 会触发该回调。

    使用限制

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 stats - 通话的统计数据,详见 + 通话的统计数据,详见 + 通话统计信息,详见 + 通话统计信息。详见 + + + engine + 引擎实例。详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita index db1421a5e57..74adce41936 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita @@ -1,26 +1,23 @@ - + - <ph keyref="onLocalAudioStateChanged" /> - 本地音频状态发生改变回调。 + <ph keyref="onLocalAudioStateChanged"/> + 本地音频流状态 发生变化时触发的回调。 - +

    - public void onLocalAudioStateChanged(int state, int reason) {} + public void onLocalAudioStateChanged(int state, int reason) onLocalAudioStateChanged?:(state:Constants.LocalAudioStreamState,error:Constants.LocalAudioStreamReason) => void - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStateChanged:(AgoraAudioLocalState)state reason:(AgoraAudioLocalReason)reason NS_SWIFT_NAME(rtcEngine(_:localAudioStateChanged:reason:)); - virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) { - (void)state; - (void)reason; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLocalAudioStateChanged(ELOCAL_AUDIO_STREAM_STATE state, ELOCAL_AUDIO_STREAM_REASON reason); onLocalAudioStateChanged?( connection: RtcConnection, @@ -35,49 +32,64 @@ ): void; final void Function(RtcConnection connection, LocalAudioStreamState state, LocalAudioStreamReason reason)? onLocalAudioStateChanged; -

    +

    -

    本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态),SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时,该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。

    +

    当本地音频流的状态发生变化(包括音频采集和编码状态)时,SDK 会触发该回调以报告当前状态,并帮助你在音频出现异常时排查问题。

    - 当状态为 (3) 时, 你可以在 error 参数中查看返回的错误信息。 -
    + 当状态为 (3) 时, 你可以在 error 参数中查看返回的错误信息。 + 当状态为 (3)时,你可以在 参数中查看错误信息。 + 当状态为 (3)时,可以通过 参数查看错误信息。 + 当状态为 (3)时,可通过 参数查看错误信息。 + +
    + 调用时机 +

    当本地音频流的状态发生变化时触发。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 state - 当前的本地音频状态。详见 - 当前的本地音频状态。 -
      -
    • (0): 本地音频默认初始状态。
    • -
    • (1): 本地音频采集设备启动成功。
    • -
    • (2): 本地音频首帧编码成功。
    • -
    • (3): 本地音频启动失败。
    • -
    -
    + 当前的本地音频状态。详见 + 本地音频的状态: +
      +
    • (0):本地音频处于初始状态。
    • +
    • (1):本地音频采集设备启动成功。
    • +
    • (2):首帧音频编码成功。
    • +
    • (3):本地音频启动失败。
    • +
    +
    + 本地音频的状态,详见 +
    reason - 本地音频状态改变原因。详见 - 本地音频状态改变原因。 -
      -
    • (0): 本地音频状态正常。
    • -
    • (1): 本地音频出错原因不明确。建议提示用户尝试重新加入频道。
    • -
    • (2): 没有权限启动本地音频采集设备。请提示用户开启权限。
    • -
    • (3): 本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。
    • -
    • (4): 本地音频采集失败。
    • -
    • (5): 本地音频编码失败。
    • -
    • (8): 本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。
    • -
    + 本地音频状态改变原因。详见 + 本地音频状态变化的原因: +
      +
    • (0):本地音频状态正常。
    • +
    • (1):本地音频失败的原因不明确。提示用户尝试重新加入频道。
    • +
    • (2):无权限使用本地音频采集设备。提示用户授予权限。
    • +
    • (3):麦克风被占用。提示用户检查是否有其他应用占用麦克风。麦克风空闲约五秒后本地音频采集会自动恢复,也可以尝试在麦克风空闲后重新加入频道。
    • +
    • (4):本地音频采集失败。
    • +
    • (5):本地音频编码失败。
    • +
    • (8):本地音频采集被系统电话、智能助手或闹钟中断。如需继续采集音频,提示用户结束电话、智能助手或闹钟。
    • +
    +
    + 本地音频状态变化的原因,详见 +
    + + engine + 引擎实例。详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita index 680fd93947b..5167ea47e3f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onLocalAudioStats" /> - 通话中本地音频流的统计信息回调。 + <ph keyref="onLocalAudioStats"/> + 本地音频流统计信息回调。 - + @@ -15,38 +15,41 @@

    public void onLocalAudioStats(LocalAudioStats stats) {} onLocalAudioStats?:( stats:LocalAudioStats) =>void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats; - virtual void onLocalAudioStats(const LocalAudioStats& stats) { - (void)stats; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:localAudioStats:)); + virtual void onLocalAudioStats(const LocalAudioStats& stats) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLocalAudioStats(const FLocalAudioStats& stats); onLocalAudioStats?(connection: RtcConnection, stats: LocalAudioStats): void; public virtual void OnLocalAudioStats(RtcConnection connection, LocalAudioStats stats) {} onLocalAudioStats?(connection: RtcConnection, stats: LocalAudioStats): void; final void Function(RtcConnection connection, LocalAudioStats stats)? onLocalAudioStats; -

    +

    -

    SDK 每 2 秒触发该回调一次。

    -
    +

    SDK 每两秒触发一次该回调。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 stats - 本地音频统计数据。详见 + 本地音频统计数据。详见 + 本地音频统计信息。详见 + 本地音频统计信息,详见 + + + engine + 对象,详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita index 81cca87cbaa..fc50022431b 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onLocalUserRegistered" /> - 本地用户成功注册 User Account 回调。 + <ph keyref="onLocalUserRegistered"/> + 本地用户注册用户账号成功时触发的回调。 - + @@ -14,38 +14,41 @@

    public void onLocalUserRegistered(int uid, String userAccount) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount; - virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) { - (void)uid; - (void)userAccount; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(rtcEngine(_:didLocalUserRegisteredWithUserId:userAccount:)); + virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLocalUserRegistered(int64 uid, const FString& userAccount); 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; -

    +

    -

    本地用户成功调用 方法注册用户 User Account,或调用 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User Account。

    -
    +

    当本地用户成功调用 注册用户账号,或调用 joinChannelWithUserAccount 加入频道后,SDK 会触发该回调,并返回本地用户的用户 ID 和用户账号。joinChannelWithUserAccount 的完整方法签名为:joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) 方法注册用户 User Account,或调用 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User Account。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + uid - 本地用户的 ID。 - + 本地用户的 ID。 + 本地用户的用户 ID。 + userAccount - 本地用户的 User Account。 + 本地用户的 User Account。 + 本地用户的用户账号。 + + + engine + 对象,详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita index 6859e532ee9..993ad3ac81a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -1,8 +1,8 @@ - + <ph keyref="onLocalVideoStateChanged"/> - 本地视频状态发生改变回调。 + 本地视频流状态发生变化时触发的回调。 @@ -13,17 +13,11 @@

    - public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} - + public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} onLocalVideoStateChanged?:(source: Constants.VideoSourceType, state:Constants.LocalVideoStreamState,reason: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) { - (void)source; - (void)state; - (void)reason; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (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) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLocalVideoStateChanged(EVIDEO_SOURCE_TYPE source, ELOCAL_VIDEO_STREAM_STATE state, ELOCAL_VIDEO_STREAM_REASON reason); onLocalVideoStateChanged?( source: VideoSourceType, @@ -38,11 +32,21 @@ ): void; final void Function(VideoSourceType source, LocalVideoStreamState state, LocalVideoStreamReason reason)? onLocalVideoStateChanged;; -

    +

    -

    本地视频的状态发生改变时,SDK 会触发该回调,报告当前的本地视频状态以及状态改变的原因。

    -
    +

    +
      +
    • 视频帧重复检测仅适用于分辨率大于 200 × 200、帧率大于等于 10 fps 且码率小于 20 Kbps 的视频帧。
    • +
    • 通常情况下,如果视频采集出现异常,可以通过该回调中的 reason 参数排查问题。但在部分设备上,采集异常(如卡顿)时,Android 系统不会抛出任何错误回调,SDK 无法上报本地视频状态变化的原因。此时,你可以通过以下方式判断是否未采集到视频帧:该回调上报的 ,且 回调中的 captureFrameRate 为 0。
    • +
    +
    + 请注意,视频帧重复检测仅适用于分辨率大于 200 × 200、帧率大于等于 10 fps 且码率小于 20 Kbps 的视频帧。 + +通常情况下,如果视频采集出现异常,可以通过此回调中的 reason 参数排查问题。但在某些设备上,采集出现问题(如卡顿)时,Android 系统不会抛出任何错误回调,因此 SDK 无法上报本地视频状态变化的原因。此时,你可以通过以下方式判断是否未采集到视频帧:此回调上报的 ,且 回调中的 captureFrameRate 为 0。 + 注意:视频帧重复检测仅适用于分辨率大于 200 × 200、帧率大于等于 10 fps 且码率小于 20 Kbps 的视频帧。 +通常情况下,如果视频采集出现异常,可通过该回调中的 reason 参数排查问题。但在部分设备上,若采集出现问题(如卡顿),Android 系统不会抛出任何错误回调,SDK 也无法上报本地视频状态变化的原因。此时可通过以下方式判断是否未采集到视频帧:该回调上报的 ,且 回调中的 captureFrameRate 为 0。 +
    适用场景

    你可以通过该回调及时了解本地视频流的状态变化,并根据状态改变的原因采取相应的措施,更好地管理和调试视频流相关的问题。

    @@ -51,9 +55,9 @@ 触发时机
    • SDK 会在如下情况触发该回调,且 statereason
        -
      • 应用退到后台,系统回收摄像头。
      • -
      • Android 9 及以上版本,App 切后台一段时间后,系统会收回相机权限。
      • -
      • Android 6 及以上版本,如果相机被第三方应用占用一段时间后释放,则 SDK 会触发该回调,并报告 () 回调。
      • +
      • 应用退到后台,系统回收摄像头。
      • +
      • Android 9 及以上版本,App 切后台一段时间后,系统会收回相机权限。
      • +
      • Android 6 及以上版本,如果相机被第三方应用占用一段时间后释放,则 SDK 会触发该回调,并报告 () 回调。
      • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
    • 当摄像头输出采集的视频帧时,如果 SDK 检测到连续 15 个重复的视频帧,会触发该回调,且 statereason
      • 帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。
      • @@ -62,19 +66,19 @@
        <ph keyref="callback-section-title"/> - + sourceType - source + source 视频源的类型。详见 state - -

        本地视频状态,详见

        + +

        本地视频状态,详见

        • (0): 本地视频默认初始状态。
        • @@ -83,11 +87,20 @@
        • (3): 本地视频启动失败。

        -
        +
          +
        • LOCAL_VIDEO_STREAM_STATE_STOPPED (0):本地视频处于初始状态。
        • +
        • LOCAL_VIDEO_STREAM_STATE_CAPTURING (1):本地视频采集设备启动成功。
        • +
        • LOCAL_VIDEO_STREAM_STATE_ENCODING (2):首帧本地视频编码成功。
        • +
        • LOCAL_VIDEO_STREAM_STATE_FAILED (3):本地视频启动失败。
        • +
        +
        + 本地视频的状态,详见 + 本地视频状态,详见 +
        reason - -

        本地视频状态改变原因,详见

        + +

        本地视频状态改变原因,详见

        • (0): 本地视频状态正常。
        • @@ -104,7 +117,34 @@
        • (21):当前采集的窗口无数据。

        +
          +
        • LOCAL_VIDEO_STREAM_REASON_OK (0):本地视频状态正常。
        • +
        • LOCAL_VIDEO_STREAM_REASON_FAILURE (1):本地视频失败,未指定原因。
        • +
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY (3):本地视频采集设备被占用。提示用户检查摄像头是否被其他应用占用,或尝试重新加入频道。
        • +
        • LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE (4):本地视频采集失败。提示用户检查视频采集设备是否正常工作,摄像头是否被其他应用占用,或尝试重新加入频道。
        • +
        • LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT (5):本地视频编码失败。
        • +
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND (8):未找到本地视频采集设备。提示用户检查摄像头是否正确连接或是否正常工作,然后重新加入频道。
        • +
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT (14):视频采集中断。可能原因包括:
            +
          • 摄像头被其他应用占用。提示用户检查摄像头是否被其他应用占用。
          • +
          • 设备被锁屏,或当前应用被切换到后台。可使用前台服务通知操作系统,确保应用切换到后台后仍可采集视频。
          • +
          +
        • +
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR (15):视频采集设备出现错误。提示用户关闭并重启摄像头以恢复功能。如果该操作无效,请检查摄像头是否存在硬件故障。
        • +
        • LOCAL_VIDEO_STREAM_REASON_SCREEN_CAPTURE_FAILURE (21):当前被采集的窗口无数据。
        • +
        +
        + 本地视频状态变化的原因,详见 +
        + + source + 视频源的类型。详见 + 视频源的类型,详见 + 视频源类型,详见 + + + engine + 输入参数, 对象。详见 -
        +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita index d40767afc97..c36f81deacd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita @@ -1,60 +1,69 @@ - + - <ph keyref="onLocalVideoStats" /> - 本地视频流统计信息回调。 + <ph keyref="onLocalVideoStats"/> + 报告本地视频流的统计信息。 - +

    - public void onLocalVideoStats(Constants.VideoSourceType source, LocalVideoStats stats) {} - + public void onLocalVideoStats(Constants.VideoSourceType source, LocalVideoStats stats) {} onLocalVideoStats?:(source:Constants.VideoSourceType , stats:LocalVideoStats ) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats - sourceType:(AgoraVideoSourceType)sourceType; - - virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) { - (void)source; - (void)stats; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStats:sourceType:)); + virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLocalVideoStats(EVIDEO_SOURCE_TYPE source, const FLocalVideoStats& stats); onLocalVideoStats?(connection: RtcConnection, stats: LocalVideoStats): void; public virtual void OnLocalVideoStats(RtcConnection connection, LocalVideoStats stats) {} onLocalVideoStats?(connection: RtcConnection, stats: LocalVideoStats): void; final void Function(RtcConnection connection, LocalVideoStats stats)? onLocalVideoStats; -

    +

    -

    该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。

    +

    + 如果你调用了 enableDualStreamMode 方法,该回调报告的是高质量视频流(高码率和高分辨率的视频流)的统计信息。 +
    +
    + 调用时机 +

    SDK 每两秒触发一次该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - - - + + + stats - 本地视频流统计信息。详见 + 本地视频流统计信息。详见 + 本地视频流的统计信息,详见 + 本地视频流的统计信息。详见 + + + source + 视频源的类型,详见 + 视频源的类型。详见 + + + engine + 你使用的 对象。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita index 232ef5cd0dd..d5b24f379e6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita @@ -1,8 +1,8 @@ - + <ph keyref="onLocalVideoTranscoderError"/> - 本地合图发生错误回调。 + 本地视频合图过程中发生错误回调。 @@ -13,16 +13,12 @@

    - public void onLocalVideoTranscoderError( - LocalTranscoderConfiguration.TranscodingVideoStream stream, int error) {} - onLocalVideoTranscoderError?:(stream:TranscodingVideoStream, error:Constants.VideoTranscoderError) => void; + 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){ - (void)stream; - (void)error; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnLocalVideoTranscoderError(const FTranscodingVideoStream& stream, EVIDEO_TRANSCODER_ERROR error); onLocalVideoTranscoderError?( stream: TranscodingVideoStream, @@ -39,12 +35,6 @@

    详情 -
    - -
    自从
    -
    v4.2.0
    -
    -

    当你调用 失败时,SDK 会触发该回调,报告合图失败的原因。

    @@ -52,23 +42,17 @@ stream - 合图失败的视频流。详见 - + 合图失败的视频流。详见 + 在视频合图过程中无法被合图的视频流。详见 + - error + error errorCode - 本地合图出错原因。详见 - 本地合图出错原因: -
      -
    • 1:指定的视频源未开始进行视频采集,你需要为其创建视频轨道并开始视频采集。
    • -
    • 2:视频源类型无效,你需要重新指定支持的视频源类型。
    • -
    • 3:图片路径无效,你需要重新指定正确的图片路径。
    • -
    • 4:图片格式无效,需确保图片格式为 PNG、JPEG 或 GIF 中的一种。
    • -
    • 5:合图后的视频编码分辨率无效。
    • -
    • 20:内部未知错误。
    • -
    -
    -
    -
    + 本地合图出错原因。详见 + 本地视频合图错误的原因。 + 本地视频合图失败的原因。详见 + 本地视频合图错误的原因。详见 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onmultipathstats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onmultipathstats.dita index 45caa9493fd..38007ccf704 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onmultipathstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onmultipathstats.dita @@ -2,7 +2,7 @@ <ph keyref="onMultipathStats"/> - 多路径传输统计信息的回调。 + 多路径传输统计数据回调。 @@ -26,15 +26,15 @@
    - +
    自从:
    -
    自 v4.6.0 版本新增。
    -
    +
    自 v4.6.0 版本新增。
    +
    触发时机 -

    在你将 enableMultipath 设置为 启用多路径传输后触发该回调。

    +

    该回调在你将 enableMultipath 设置为 以启用多路径传输后被触发。

    使用限制 @@ -44,12 +44,15 @@ 参数 - stats - stats + stats 多路径传输统计信息。详见 多路径传输统计数据,详见 -
    + + stats + 多路径传输统计数据。详见 + +
    <ph keyref="return-section-title"/>

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

    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita index 154c3fa3ed4..d8fbfbdb6c3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita @@ -1,30 +1,23 @@ - + - <ph keyref="onNetworkQuality" /> - 通话中每个用户的网络上下行 last mile 质量报告回调。 + <ph keyref="onNetworkQuality"/> + 报告频道中每个用户的最后一公里网络质量。 - +

    - public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} + public void onNetworkQuality(int uid, int txQuality, int rxQuality) onNetworkQuality? : (uid: number, txQuality: Constants.NetworkQuality, rxQuality: Constants.NetworkQuality) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - networkQuality:(NSUInteger)uid - txQuality:(AgoraNetworkQuality)txQuality - rxQuality:(AgoraNetworkQuality)rxQuality; - virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { - (void)uid; - (void)txQuality; - (void)rxQuality; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality NS_SWIFT_NAME(rtcEngine(_:networkQuality:txQuality:rxQuality:)); + virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnNetworkQuality(int64 uid, int txQuality, int rxQuality); onNetworkQuality?( connection: RtcConnection, @@ -41,45 +34,88 @@ ): void; final void Function(RtcConnection connection, int remoteUid, QualityType txQuality, QualityType rxQuality)? onNetworkQuality; -

    +

    -

    该回调描述每个用户在通话中的 last mile 网络状态,其中 last mile 是指设备到声网边缘服务器的网络状态。

    +

    该回调报告频道中每个用户的最后一公里网络状况,即本地设备与声网边缘服务器之间的连接。SDK 每两秒触发一次该回调;如果频道中有多个用户,SDK 会触发多次。该回调通过在频道内发送和接收广播数据包反馈网络质量。为避免广播风暴导致频道内数据量激增,该回调默认最多反馈 4 个远端主机的网络质量。

    该回调每 2 秒触发一次。如果远端有多个用户,该回调每 2 秒会被触发多次。

    该回调通过频道内的广播包反馈网络质量。过多的广播包可能引发广播风暴。为防止广播风暴导致频道内大量数据传输,该回调默认支持同时反馈最多 4 个远端主播的网络质量。

    - 用户不发流时,txQualityUNKNOWNUnknown;用户不收流时,rxQualityUNKNOWNUnknown
    + 用户不发流时,txQualityUNKNOWNUnknown;用户不收流时,rxQualityUNKNOWNUnknown txQuality 在用户未发送流时为 rxQuality 在用户未接收流时为 +
    +
    + 调用时机 +

    SDK 每两秒触发一次该回调。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - uid - remoteUid + uid + remoteUid

    用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。如果当 uid 为 0 时,返回的是本地用户的网络质量。

    txQuality - 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。 该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 的分辨率就会有困难。详见 + 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。 该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 的分辨率就会有困难。详见
      -
    • +
    -
    + 用户的上行网络质量评分,依据传输码率、丢包率、平均往返时延(RTT)和上行网络抖动等指标评估。 +
      +
    • (0):网络质量未知。
    • +
    • (1):网络质量极好。
    • +
    • (2):网络质量较好,但码率可能略低于极好。
    • +
    • (3):用户可能会感受到轻微的通话质量下降。
    • +
    • (4):用户无法流畅地进行通话。
    • +
    • (5):网络质量极差,用户几乎无法进行通话。
    • +
    • (6):网络连接已断开,用户无法进行通话。
    • +
    • (8):正在进行最后一公里探测测试。
    • +
    +
    + 用户的上行网络质量评分,基于传输码率、丢包率、平均往返时延(RTT)和抖动等指标。该参数用于帮助你了解当前上行网络状况是否能支持所选的视频编码器配置。例如,1000 Kbps 的上行网络可能足以支持在 LIVE_BROADCASTING 场景中分辨率为 640 × 480、帧率为 15 fps 的视频帧,但可能不足以支持高于 1280 × 720 的分辨率。详见 + 用户的上行网络质量评分,基于传输码率、丢包率、平均往返时延(RTT)和上行网络抖动等指标。该评分有助于评估当前上行网络状况对所选视频编码配置的支持程度。例如,1000 Kbps 的上行网络可能足以支持分辨率为 640 × 480、帧率为 15 fps 的视频帧(在极速直播场景中),但可能不足以支持高于 1280 × 720 的分辨率。详见 +
    rxQuality - 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 + 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见
      -
    • +
    + 用户的下行网络质量评分,依据丢包率、平均往返时延(RTT)和下行网络抖动等指标评估。 +
      +
    • (0):网络质量未知。
    • +
    • (1):网络质量极好。
    • +
    • (2):网络质量较好,但码率可能略低于极好。
    • +
    • (3):用户可能会感受到轻微的通话质量下降。
    • +
    • (4):用户无法流畅地进行通话。
    • +
    • (5):网络质量极差,用户几乎无法进行通话。
    • +
    • (6):网络连接已断开,用户无法进行通话。
    • +
    • (8):正在进行最后一公里探测测试。
    • +
    +
    + 用户的下行网络质量评分,基于丢包率、平均 RTT 和抖动等指标。详见 + 用户的下行网络质量评分,基于丢包率、平均往返时延(RTT)和下行网络抖动等指标。详见 +
    + + uid + 用户 ID,用于标识网络质量报告所属的用户。 +
      +
    • 0:表示本地用户。
    • +
    +
    + 用户 ID。该回调报告该用户的网络质量。如果 为 0,则报告本地用户的网络质量。 + 用户 ID,报告该用户的网络质量。如果该值为 0,则表示本地用户。
    -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita index c274d2157a4..8ae18d9c9fa 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita @@ -1,51 +1,49 @@ - + - <ph keyref="onNetworkTypeChanged" /> - 本地网络类型发生改变回调。 + <ph keyref="onNetworkTypeChanged"/> + 本地网络类型发生变化时触发的回调。 - +

    - public void onNetworkTypeChanged(int type) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; - virtual void onNetworkTypeChanged(NETWORK_TYPE type) { - (void)type; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + public void onNetworkTypeChanged(int type) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type NS_SWIFT_NAME(rtcEngine(_:networkTypeChanged:)); + virtual void onNetworkTypeChanged(NETWORK_TYPE type) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnNetworkTypeChanged(FENUMWRAP_NETWORK_TYPE type); onNetworkTypeChanged?(connection: RtcConnection, type: NetworkType): void; public virtual void OnNetworkTypeChanged(RtcConnection connection, NETWORK_TYPE type) {} onNetworkTypeChanged?(connection: RtcConnection, type: NetworkType): void; final void Function(RtcConnection connection, NetworkType type)? onNetworkTypeChanged; -

    +

    -

    本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中明确当前的网络连接类型。你可以通过该回调获取正在使用的网络类型;当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。

    -
    +

    该回调在本地用户连接状态发生变化时触发。你可以通过该回调获取连接状态及其变化原因。当网络连接中断时,该回调会指示中断是由于网络类型变化还是网络状况不佳导致的。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 type - -

    本地网络连接类型。详见

    + +

    本地网络连接类型。详见

    网络连接类型: @@ -53,17 +51,34 @@

      -
    • (-1):网络连接类型未知。
    • -
    • (0):网络连接已断开。
    • -
    • (1):网络类型为 LAN。
    • -
    • (2):网络类型为 Wi-Fi(包含热点)。
    • -
    • (3):网络类型为 2G 移动网络。
    • -
    • (4):网络类型为 3G 移动网络。
    • -
    • (5):网络类型为 4G 移动网络。
    • -
    • (6):网络类型为 5G 移动网络。
    • +
    • (-1):网络连接类型未知。
    • +
    • (0):网络连接已断开。
    • +
    • (1):网络类型为 LAN。
    • +
    • (2):网络类型为 Wi-Fi(包含热点)。
    • +
    • (3):网络类型为 2G 移动网络。
    • +
    • (4):网络类型为 3G 移动网络。
    • +
    • (5):网络类型为 4G 移动网络。
    • +
    • (6):网络类型为 5G 移动网络。

    + 本地网络连接的类型,取值如下: +
      +
    • (-1):网络类型未知。
    • +
    • (0):SDK 与网络断开连接。
    • +
    • (1):网络类型为 LAN。
    • +
    • (2):网络类型为 Wi-Fi(包括热点)。
    • +
    • (3):网络类型为移动 2G。
    • +
    • (4):网络类型为移动 3G。
    • +
    • (5):网络类型为移动 4G。
    • +
    • (6):网络类型为移动 5G。
    • +
    +
    + 本地网络连接的类型,详见 +
    + + engine + 引擎对象,详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita index f776aae5bf7..f00aa81af05 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita @@ -1,54 +1,67 @@ - + - <ph keyref="onPermissionError" /> - 获取设备权限出错回调。 + <ph keyref="onPermissionError"/> + 当 SDK 无法获取设备权限时触发的回调。 - +

    - public void onPermissionError(int permission) {} + public void onPermissionError(int permission) onPermissionError?:(permission:Constants.PermissionType) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; - virtual void onPermissionError(PERMISSION_TYPE permissionType) { - (void)permissionType; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type NS_SWIFT_NAME(rtcEngine(_:permissionError:)); + virtual void onPermissionError(PERMISSION_TYPE permissionType) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnPermissionError(EPERMISSION_TYPE permissionType); onPermissionError?(permissionType: PermissionType): void; public virtual void OnPermissionError(PERMISSION_TYPE permissionType) {} onPermissionError?(permissionType: PermissionType): void; final void Function(PermissionType permissionType)? onPermissionError; -

    +

    -

    无法获取设备权限时,SDK 会触发该回调,报告哪个设备的权限无法获取。

    +

    参数 - - - + + + permission - type - permissionType - 设备权限类型。详见 + type + permissionType + 设备权限类型。详见 设备权限类型。
      -
    • (0): 音频采集设备的权限。
    • -
    • (1): 摄像头权限。
    • -
    • (2): 屏幕共享权限。
    • +
    • (0): 音频采集设备的权限。
    • +
    • (1): 摄像头权限。
    • +
    • (2): 屏幕共享权限。
    -
    + + permissionType + 设备权限类型,详见 + 设备权限的类型: +
      +
    • (0):音频采集设备的权限。
    • +
    • (1):摄像头的权限。
    • +
    • (2):屏幕共享的权限。
    • +
    +
    +
    + + engine + 引擎对象,详见 + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita index 0d48b9c275e..73fc59b77eb 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita @@ -1,84 +1,84 @@ - + - <ph keyref="onProxyConnected" /> + <ph keyref="onProxyConnected"/> 代理连接状态回调。 - +

    - public void onProxyConnected( - String channel, int uid, int proxyType, String localProxyIp, int elapsed) {} - + public void onProxyConnected(String channel, int uid, int proxyType, String localProxyIp, int elapsed) + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didProxyConnected:(NSString* _Nonnull)channel withUid:(NSUInteger)uid proxyType:(AgoraProxyType)proxyType localProxyIp:(NSString* _Nonnull)localProxyIp elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didProxyConnected:withUid:proxyType:localProxyIp:elapsed:)); - virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { - (void)channel; - (void)uid; - (void)proxyType; - (void)localProxyIp; - (void)elapsed; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnProxyConnected(const FString& channel, int64 uid, EPROXY_TYPE proxyType, const FString& localProxyIp, int elapsed); - onProxyConnected?( - channel: string, - uid: number, - proxyType: ProxyType, - localProxyIp: string, - elapsed: number - ): void; - public virtual void OnProxyConnected(string channel, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) - onProxyConnected?( - channel: string, - uid: number, - proxyType: ProxyType, - localProxyIp: string, - elapsed: number - ): void; - final void Function(String channel, int uid, ProxyType proxyType, - String localProxyIp, int elapsed)? onProxyConnected; -

    + virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) + + + + + +

    -
    -

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置代理并成功加入频道后,SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    +
    +

    -
    - <ph keyref="callback-section-title" /> +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - channel - 频道名称。 + + channel + 频道名。 + + + uid + 用户 ID。 - - uid - 用户 ID + + proxyType + 连接的代理类型: +
      +
    • (0):保留参数。
    • +
    • (1):UDP 协议的云代理,即强制 UDP 云代理模式。在此模式下,SDK 始终通过 UDP 传输数据。
    • +
    • (2):TCP(加密)协议的云代理,即强制 TCP 云代理模式。在此模式下,SDK 始终通过 TCP/TLS 443 传输数据。
    • +
    • (3):保留参数。
    • +
    • (4):自动模式。在此模式下,SDK 会尝试直接连接 SD-RTN,如果失败则自动切换到 TCP/TLS 443。
    • +
    +
    + 连接的代理类型。详见 + 连接的代理类型,详见
    - - proxyType - 连接上的代理类型。详见 - 连接上的代理类型。 -
      -
    • (0): 预留参数,暂不支持。
    • -
    • (1): UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • -
    • (2): TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • -
    • (3): 预留参数,暂不支持。
    • -
    • (4): 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。
    • -
    + + localProxyIp + 保留参数。 + 保留参数,暂未使用。 - - localProxyIp - 预留参数,暂不支持。 + + elapsed + 从调用 joinChannel 到触发该回调所经历的时间(毫秒)。 + 从调用 到 SDK 触发该回调所经历的时间(毫秒)。 + 从调用 joinChannel 到触发该回调所经历的时间,单位为毫秒。 - - elapsed - 从调用 到 SDK 触发该回调的经过的时间(毫秒)。 + + engine + 对象。详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita index 0f23329be95..98b0503ce75 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita @@ -1,69 +1,80 @@ - + - <ph keyref="onRejoinChannelSuccess" /> - 成功重新加入频道回调。 + <ph keyref="onRejoinChannelSuccess"/> + 用户重新加入频道成功时回调。 - +

    - public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} + public void onRejoinChannelSuccess(String channel, int uid, int elapsed) onRejoinChannelSuccess?:(channel: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) { - (void)channel; - (void)uid; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRejoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didRejoinChannel:withUid:elapsed:)); + virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRejoinChannelSuccess(const FString& channel, int64 uid, int elapsed); onRejoinChannelSuccess?(connection: RtcConnection, elapsed: number): void; public virtual void OnRejoinChannelSuccess(RtcConnection connection, int elapsed) {} onRejoinChannelSuccess?(connection: RtcConnection, elapsed: number): void; final void Function(RtcConnection connection, int elapsed)? onRejoinChannelSuccess; -

    +

    触发时机 -

    有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连成功后触发此回调方法。

    +

    当用户因网络问题与服务器失去连接后,SDK 会自动尝试重连,并在重新连接成功时触发该回调。

    使用限制

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + channel 频道名。 - + uid 重新加入频道的用户 ID。 - + connection - Connection 信息。详见 + Connection 信息。详见 elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 + 从调用 方法到触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 到 SDK 触发该回调的时间间隔(毫秒)。 + 从调用 到 SDK 触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 方法到 SDK 触发该回调的时间间隔,单位为毫秒。 + + + channel + 频道名。 + 频道名称。 + + + uid + 重新加入频道的用户 ID。 + + + engine + 对象,详见 -
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita index 6624b9a93e8..0b07ce0f243 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRemoteAudioStateChanged" /> - 远端音频流状态发生改变回调。 + <ph keyref="onRemoteAudioStateChanged"/> + 远端音频状态发生变化回调。 - + @@ -15,18 +15,9 @@

    public void onRemoteAudioStateChanged(int uid, int state, int reason, int elapsed) {} onRemoteAudioStateChanged ? : (uid:number, state: Constants.RemoteAudioStreamState, reason: Constants.RemoteAudioStreamReason, elapsed:number) => void - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteAudioStateChanged(uid_t uid, - REMOTE_AUDIO_STATE state, - REMOTE_AUDIO_STATE_REASON reason, - int elapsed) { - (void)uid; - (void)state; - (void)reason; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:remoteAudioStateChangedOfUid:state:reason:elapsed:)); + virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRemoteAudioStateChanged(int64 uid, EREMOTE_AUDIO_STATE state, EREMOTE_AUDIO_STATE_REASON reason, int elapsed); onRemoteAudioStateChanged?( connection: RtcConnection, @@ -49,60 +40,79 @@ RemoteAudioState state, RemoteAudioStateReason reason, int elapsed)? onRemoteAudioStateChanged; -

    +

    -

    远端用户(通信场景)或主播(直播场景)的音频状态发生改变时,SDK 会触发该回调向本地用户报告当前的远端音频流状态。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 32 人时,该回调可能不准确。
    -
    - <ph keyref="callback-section-title" /> +

    当远端用户在语音/视频通话频道中或主播在直播频道中的音频状态发生变化时,SDK 会触发该回调,报告远端音频流的当前状态。

    + 频道内的用户(通信场景)或主播(直播场景)人数超过 32 人时,该回调可能不准确。 当频道中通信场景下的用户或直播场景下的主播数量超过 32 时,该回调可能无法正常工作。 + 当通信场景下的用户数或直播频道中的主播数超过 32 时,该回调无法正常工作。 +
    +
    + 调用时机 +

    当远端用户的音频状态发生变化时触发。

    +
    +
    + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - uid - remoteUid + uid + remoteUid 发生音频状态改变的远端用户 ID。 state - 远端音频流状态,详见 - 远端音频流状态。 - -
      -
    • (0): 远端音频默认初始状态。在 的情况下,会报告该状态。
    • -
    • (1): 本地用户已接收远端音频首包。
    • -
    • (2): 远端音频流正在解码,正常播放。在 的情况下, 会报告该状态。
    • -
    • (3): 远端音频流卡顿。在 的情况下,会报告该状态。
    • -
    • (4): 远端音频流播放失败。在 的情况下,会报告该状态。
    • -
    -
    + 远端音频流状态,详见 + 远端音频的状态: +
      +
    • (0):远端音频处于初始状态。SDK 在 情况下报告该状态。
    • +
    • (1):已接收到第一包远端音频数据。
    • +
    • (2):远端音频流解码并正常播放。SDK 在 情况下报告该状态。
    • +
    • (3):远端音频卡顿。SDK 在 情况下报告该状态。
    • +
    • (4):远端音频启动失败。SDK 在 情况下报告该状态。
    • +
    +
    + 远端音频的状态。详见 + 远端音频状态,详见 +
    reason - 远端音频流状态改变的具体原因,详见 - 远端音频流状态改变的具体原因。 - -
      -
    • (0): 音频状态发生改变时,会报告该原因。
    • -
    • (1): 网络阻塞。
    • -
    • (2): 网络恢复正常。
    • -
    • (3): 本地用户停止接收远端音频流或本地用户禁用音频模块。
    • -
    • (4): 本地用户恢复接收远端音频流或本地用户启动音频模块。
    • -
    • (5): 远端用户停止发送音频流或远端用户禁用音频模块。
    • -
    • (6): 远端用户恢复发送音频流或远端用户启用音频模块。
    • -
    • (7): 远端用户离开频道。
    • -
    -
    + 远端音频流状态改变的具体原因,详见 + 远端音频状态变化的原因: +
      +
    • (0):SDK 报告音频状态变化的内部原因。
    • +
    • (1):网络拥塞。
    • +
    • (2):网络恢复。
    • +
    • (3):本地用户停止接收远端音频流或关闭音频模块。
    • +
    • (4):本地用户恢复接收远端音频流或开启音频模块。
    • +
    • (5):远端用户停止发送音频流或关闭音频模块。
    • +
    • (6):远端用户恢复发送音频流或开启音频模块。
    • +
    • (7):远端用户离开频道。
    • +
    +
    + 远端音频状态变化的原因。详见 + 远端音频状态变化的原因,详见 +
    elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - -
    + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 + 从本地用户调用 joinChannel 方法到 SDK 触发该回调的时间(毫秒)。 + 从调用 方法到 SDK 触发该回调的时间(毫秒)。 + 从本地用户调用 joinChannel 方法到 SDK 触发该回调的时间间隔(毫秒)。 + + + uid + 发生音频状态变化的远端用户 ID。 + 远端用户 ID,其音频状态发生了变化。 + 音频状态发生变化的远端用户 ID。 + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita index 9b65dcced5a..609810abe67 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRemoteAudioStats" /> - 通话中远端音频流的统计信息回调。 + <ph keyref="onRemoteAudioStats"/> + 远端音频流传输层统计信息回调。 - + @@ -14,39 +14,43 @@

    public void onRemoteAudioStats(RemoteAudioStats stats) {} - onRemoteAudioStats?:(stats:RemoteAudioStats) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats; - virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { - (void)stats; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnRemoteAudioStats(const FRemoteAudioStats& stats); - onRemoteAudioStats?(connection: RtcConnection, stats: RemoteAudioStats): void; - public virtual void OnRemoteAudioStats(RtcConnection connection, RemoteAudioStats stats) {} - onRemoteAudioStats?(connection: RtcConnection, stats: RemoteAudioStats): void; - final void Function(RtcConnection connection, RemoteAudioStats stats)? - onRemoteAudioStats; -

    + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:remoteAudioStats:)); + virtual void onRemoteAudioStats(const RemoteAudioStats& stats) + + + + + +

    -
    -

    该回调针对每个发送音频流的远端用户/主播每 2 秒触发一次。如果远端有多个用户/主播发送音频流,该回调每 2 秒会被触发多次。

    +
    +

    -
    - <ph keyref="callback-section-title" /> +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - - - - connection - Connection 信息。详见 + + stats + 接收的远端音频流的统计信息。详见 + 远端音频流的统计信息。详见 - - stats - 接收到的远端音频统计数据,详见 + + engine + 引擎对象,详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita index c6a2f49717a..197d839eee7 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRemoteAudioTransportStats" /> + <ph keyref="onRemoteAudioTransportStats"/> 通话中远端音频流传输的统计信息回调。 - + @@ -14,7 +14,7 @@

    public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay @@ -29,7 +29,7 @@ (void)lost; (void)rxKBitRate; } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRemoteAudioTransportStats(int64 uid, int delay, int lost, int rxKBitRate); onRemoteAudioTransportStats?( connection: RtcConnection, @@ -48,29 +48,29 @@ ): void; final void Function(RtcConnection connection, int remoteUid, int delay, int lost, int rxKBitRate)? onRemoteAudioTransportStats; -

    +

    弃用:
    -
    请改用
    +
    请改用

    该回调描述远端用户通话中端到端的网络统计信息,通过音频包计算,用客观的数据,如丢包、 网络延迟等,展示当前网络状态。通话中,当用户收到远端用户/主播发送的音频数据包后 ,会每 2 秒触发一次该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + connection - Connection 信息。详见 + Connection 信息。详见 uid @@ -91,4 +91,4 @@
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita index 8efeefeed53..d093fd128d0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita @@ -1,27 +1,23 @@ - + - <ph keyref="onRemoteSubscribeFallbackToAudioOnly" /> - 订阅流已回退为音频流或恢复为音视频流回调。 + <ph keyref="onRemoteSubscribeFallbackToAudioOnly"/> + 远端媒体流因网络变化降级为纯音频或恢复为视频时触发的回调。 - +

    - public void onRemoteSubscribeFallbackToAudioOnly(int uid, boolean isFallbackOrRecover) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didRemoteSubscribeFallbackToAudioOnly:(BOOL)isFallbackOrRecover byUid:(NSUInteger)uid; - virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) { - (void)uid; - (void)isFallbackOrRecover; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + public void onRemoteSubscribeFallbackToAudioOnly(int uid, boolean isFallbackOrRecover) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRemoteSubscribeFallbackToAudioOnly:(BOOL)isFallbackOrRecover byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didRemoteSubscribeFallbackToAudioOnly:byUid:)); + virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRemoteSubscribeFallbackToAudioOnly(int64 uid, bool isFallbackOrRecover); onRemoteSubscribeFallbackToAudioOnly?( uid: number, @@ -34,35 +30,66 @@ ): void; final void Function(int uid, bool isFallbackOrRecover)? onRemoteSubscribeFallbackToAudioOnly; -

    +

    -

    当你调用了 并将 option 设置为 后,该回调会在下列情况时被触发: +

    如果你调用了 并将 option 设置为 ,当以下任一情况发生时,SDK 会触发该回调: + 并将 option 设置为 后,该回调会在下列情况时被触发:

    • 下行网络环境较差,订阅的音视频流回退为音频流
    • 下行网络环境改善,订阅音频流恢复为音视频流
    • -

    +
      +
    • 下行网络条件较差,已订阅的视频流被降级为纯音频流;
    • +
    • 下行网络条件改善,已订阅的媒体流恢复为视频流。
    • +
    +

    订阅流因弱网环境而回退为视频小流时,你可以通过 回调来监控远端视频大小流的切换。 + 当远端媒体流因网络较差切换为低质量视频流时,你可以通过 回调监控高质量与低质量视频流之间的切换。 + 当远端媒体流因网络较弱切换为低质量视频流时,你可以通过 回调监控高质量与低质量视频流之间的切换。 +
    +
    + 调用时机 +

    当远端媒体流因网络不佳降级为纯音频流,或在网络改善后恢复为视频流时触发。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + uid - 远端用户的用户 ID。 - + 远端用户的用户 ID。 + 远端用户 ID。 + isFallbackOrRecover - +
      -
    • : 由于网络环境不理想,订阅流已回退为音频流。
    • -
    • : 由于网络环境改善,订阅流已恢复为音视频流。
    • +
    • : 由于网络环境不理想,订阅流已回退为音频流。
    • +
    • : 由于网络环境改善,订阅流已恢复为音视频流。
    +
      +
    • :已订阅的媒体流因网络不佳降级为纯音频流。
    • +
    • :网络状况改善后,已订阅的媒体流恢复为视频流。
    • +
    +
    +
      +
    • :订阅的媒体流因网络不佳降级为纯音频流。
    • +
    • :订阅的媒体流在网络改善后恢复为视频流。
    • +
    +
    +
      +
    • :由于网络条件差,已订阅的媒体流降级为纯音频流。
    • +
    • :网络条件改善后,已订阅的媒体流恢复为视频流。
    • +
    +
    +
    + + engine + 声网引擎实例。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita index 14c97f8affc..1125f82853a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRemoteVideoStateChanged" /> + <ph keyref="onRemoteVideoStateChanged"/> 远端视频状态发生改变回调。 - + @@ -15,18 +15,9 @@

    public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} onRemoteVideoStateChanged ? : (uid:number, state: Constants.RemoteVideoStreamState, reason: Constants.RemoteVideoStreamReason, elapsed:number) => void - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteVideoStateChanged(uid_t uid, - REMOTE_VIDEO_STATE state, - REMOTE_VIDEO_STATE_REASON reason, - int elapsed) { - (void)uid; - (void)state; - (void)reason; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:remoteVideoStateChangedOfUid:state:reason:elapsed:)); + virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRemoteVideoStateChanged(int64 uid, EREMOTE_VIDEO_STATE state, EREMOTE_VIDEO_STATE_REASON reason, int elapsed); onRemoteVideoStateChanged?( connection: RtcConnection, @@ -49,30 +40,33 @@ RemoteVideoState state, RemoteVideoStateReason reason, int elapsed)? onRemoteVideoStateChanged; -

    +

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 32 人时,该回调可能不准确。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 32 人时,该回调可能不准确。 当频道中的用户数(通信场景)或主播数(直播频道)超过 32 时,该回调无法正常工作。 + 当频道中通信场景下的用户数或直播场景下的主播数超过 32 时,该回调可能无法正常工作。 + 回调在频道中通信场景下的用户数或直播场景下的主播数超过 32 时,可能无法正常工作。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection Connection 信息。详见 - uid - remoteUid + uid + remoteUid 发生视频状态改变的远端用户 ID。 state - -

    远端视频流状态,详见

    + +

    远端视频流状态,详见

    远端视频流状态:

    • (0):远端视频默认初始状态。在 (3)、 (5) 或 (7) 的情况下,会报告该状态。
    • @@ -82,31 +76,69 @@
    • (4):远端视频流播放失败。在 (0) 的情况下,会报告该状态。

    -
    + 远端视频的状态: +
      +
    • (0):远端视频处于初始状态。该状态在 (3)、(5) 或 (7) 情况下报告。
    • +
    • (1):已接收到第一帧远端视频包。
    • +
    • (2):远端视频流解码并正常播放。该状态在 (2)、(4)、(6) 或 (9) 情况下报告。
    • +
    • (3):远端视频卡顿。该状态在 (1) 或 (8) 情况下报告。
    • +
    • (4):远端视频启动失败。该状态在 (0) 情况下报告。
    • +
    +
    + 远端视频的状态,详见 +
    reason - -

    远端视频流状态改变的具体原因,详见

    + +

    远端视频流状态改变的具体原因,详见

    远端视频流状态改变的具体原因:

      -
    • (0):内部原因。
    • -
    • (1):网络阻塞。
    • -
    • (2):网络恢复正常。
    • -
    • (3):本地用户停止接收远端视频流或本地用户禁用视频模块。
    • -
    • (4):本地用户恢复接收远端视频流或本地用户启动视频模块。
    • -
    • (5):远端用户停止发送视频流或远端用户禁用视频模块。
    • -
    • (6):远端用户恢复发送视频流或远端用户启用视频模块。
    • -
    • (7):远端用户离开频道。
    • -
    • (8):远端视频流已回退为音频流。
    • -
    • (9):回退的远端音频流恢复为视频流。
    • -
    • (13):本地的视频解码器不支持对收到的远端视频流进行解码。
    • +
    • (0):内部原因。
    • +
    • (1):网络阻塞。
    • +
    • (2):网络恢复正常。
    • +
    • (3):本地用户停止接收远端视频流或本地用户禁用视频模块。
    • +
    • (4):本地用户恢复接收远端视频流或本地用户启动视频模块。
    • +
    • (5):远端用户停止发送视频流或远端用户禁用视频模块。
    • +
    • (6):远端用户恢复发送视频流或远端用户启用视频模块。
    • +
    • (7):远端用户离开频道。
    • +
    • (8):远端视频流已回退为音频流。
    • +
    • (9):回退的远端音频流恢复为视频流。
    • +
    • (13):本地的视频解码器不支持对收到的远端视频流进行解码。

    -
    + 远端视频状态变化的原因: +
      +
    • (0):内部原因。
    • +
    • (1):网络拥塞。
    • +
    • (2):网络恢复。
    • +
    • (3):本地用户停止接收远端视频流或关闭视频模块。
    • +
    • (4):本地用户恢复接收远端视频流或开启视频模块。
    • +
    • (5):远端用户停止发送视频流或关闭视频模块。
    • +
    • (6):远端用户恢复发送视频流或开启视频模块。
    • +
    • (7):远端用户离开频道。
    • +
    • (8):由于网络较差,远端媒体流回退为音频流。
    • +
    • (9):网络改善后,远端媒体流从音频流切换回视频流。
    • +
    • (13):本地视频解码器不支持解码远端视频流。
    • +
    +
    + 远端视频状态变化的原因,详见 +
    elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - -
    + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 + 从本地用户调用 joinChannel 方法到 SDK 触发该回调的时间(毫秒)。 + 从调用 方法到 SDK 触发该回调的时间间隔(毫秒)。 + 从本地用户调用 joinChannel 方法到 SDK 触发该回调的时间间隔(毫秒)。 + + + uid + 发生视频状态变化的远端用户 ID。 + 远端用户 ID,其视频状态发生了变化。 + + + engine + 对象,详见 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita index 73d76986653..3eba398d8df 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRemoteVideoStats" /> - 通话中远端视频流的统计信息回调。 + <ph keyref="onRemoteVideoStats"/> + 远端视频流统计信息回调。 - + @@ -15,36 +15,42 @@

    public void onRemoteVideoStats(RemoteVideoStats stats) {} onRemoteVideoStats?:(stats:RemoteVideoStats) =>void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats; - virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { - (void)stats; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:remoteVideoStats:)); + virtual void onRemoteVideoStats(const RemoteVideoStats& stats) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRemoteVideoStats(const FRemoteVideoStats& stats); onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; public virtual void OnRemoteVideoStats(RtcConnection connection, RemoteVideoStats stats) {} onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; -

    +

    -

    该回调描述远端用户在通话中端到端的视频流统计信息, 针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播, 该回调每 2 秒会被触发多次。

    +

    该回调用于报告每个远端用户发送的视频流的统计信息。你可以通过该回调获取当前频道中所有远端用户的视频流质量,从而进行相应的业务处理或 UI 展示。

    +
    +
    + 调用时机 +

    SDK 每两秒为每个远端用户触发一次该回调。如果频道中有多个用户或主播发送视频流,SDK 会相应地多次触发该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 stats - 远端视频统计数据。详见 + 远端视频统计数据。详见 + 远端视频流的统计信息。详见 + + + engine + 你使用的 对象。详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita index a518db815d5..e23dc321487 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRemoteVideoTransportStats" /> + <ph keyref="onRemoteVideoTransportStats"/> 通话中远端视频流传输的统计信息回调。 - + @@ -14,7 +14,7 @@

    public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay @@ -29,7 +29,7 @@ (void)lost; (void)rxKBitRate; } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRemoteVideoTransportStats(int64 uid, int delay, int lost, int rxKBitRate); onRemoteVideoTransportStats?( connection: RtcConnection, @@ -48,28 +48,28 @@ ): void; final void Function(RtcConnection connection, int remoteUid, int delay, int lost, int rxKBitRate)? onRemoteVideoTransportStats; -

    +

    弃用:
    -
    该回调已被废弃,请改用
    +
    该回调已被废弃,请改用

    该回调描述远端用户通话中端到端的网络统计信息,通过视频包计算,用客观的数据,如丢包、 网络延迟等,展示当前网络状态。

    通话中,当用户收到远端用户/主播发送的视频数据包后,会每 2 秒触发一次该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + connection - Connection 信息。详见 + Connection 信息。详见 uid @@ -90,4 +90,4 @@
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrenewtokenresult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrenewtokenresult.dita index 4df69130419..55380d02a89 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrenewtokenresult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrenewtokenresult.dita @@ -2,7 +2,7 @@ <ph keyref="onRenewTokenResult"/> - 调用结果回调。 + 调用结果回调。 @@ -29,9 +29,9 @@
    自从:
    自 v4.6.0 版本新增。
    -
    + -

    该回调在用户调用 方法更新 Token 后触发,用于通知应用调用结果。

    +

    该回调在用户调用 方法更新 Token 后触发,用于通知调用结果。 方法更新 Token 后触发,用于通知应用调用结果。

    使用限制 @@ -45,13 +45,21 @@ 用于鉴权的 Token。 Token。 - + code - 错误码,详见 - 错误码,详见 - 错误码,详见 + 错误码,详见 + + + token + 用于鉴权的 Token。 + 更新后的 Token。 + Token。 + + + engine + 对象。详见 -
    +
    <ph keyref="return-section-title"/>

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

    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita index 534c1409eb9..43d2979f51e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRequestToken" /> - Token 已过期回调。 + <ph keyref="onRequestToken"/> + 当 Token 过期时触发的回调。 - + @@ -14,24 +14,33 @@

    public void onRequestToken() {} - onRequestToken?:() => void; - - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRequestToken() - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + onRequestToken?:() => void; + - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineRequestToken(_:)); + virtual void onRequestToken() {} + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRequestToken(); onRequestToken?(connection: RtcConnection): void; public virtual void OnRequestToken(RtcConnection connection) {} onRequestToken?(connection: RtcConnection): void; final void Function(RtcConnection connection)? onRequestToken; -

    +

    -

    在音视频互动过程中,如果 Token 失效,SDK 会触发该回调报告 Token 已过期。

    +

    当 Token 过期时,SDK 会触发该回调。收到该回调后,你需要在你的 Token 服务器上生成新的 Token,并通过以下方式之一更新 Token: +

      +
    • 单频道场景:
        +
      • 调用 传入新的 Token。
      • +
      • 调用 leaveChannel 离开当前频道后,再调用 joinChannel 加入频道并传入新的 Token。
      • +
      +
    • +
    • 多频道场景:调用 传入新的 Token。
    • +
    +

    当收到该回调时,你需要重新在服务端生成新的 Token,然后通过下列任意一种方式来更新 Token:

    • 单频道场景:
      • 调用 来传入新的 Token。
      • -
      • 调用 离开当前频道,然后在调用 时传入新的 Token 重新加入频道。
      • +
      • 调用 离开当前频道,然后在调用 时传入新的 Token 重新加入频道。
    • 多频道场景:调用 传入新的 Token。

    @@ -40,17 +49,25 @@ 使用限制

    无。

    +
    + 调用时机 +

    当 Token 过期时触发。

    +
    - <ph keyref="callback-section-title" props="apple unity electron rn flutter cs"/> - - - - + <ph keyref="callback-section-title" props="apple cs electron flutter rn unity"/> + + + + + + + + - - - + + engine + 对象,详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita index 6fc993fcb09..62dcd9edc27 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita @@ -1,8 +1,8 @@ - + <ph keyref="onRhythmPlayerStateChanged"/> - 虚拟节拍器状态发生改变回调。 + 虚拟节拍器状态发生变化时的回调。 @@ -13,68 +13,54 @@

    - public void onRhythmPlayerStateChanged(int state, int reason) {} - + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRhythmPlayerStateChanged:(AgoraRhythmPlayerState)state reason:(AgoraRhythmPlayerReason)reason NS_SWIFT_NAME(rtcEngine(_:didRhythmPlayerStateChanged:reason:)); - virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) { - (void)state; - (void)reason; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnRhythmPlayerStateChanged(FENUMWRAP_RHYTHM_PLAYER_STATE_TYPE state, FENUMWRAP_RHYTHM_PLAYER_REASON reason); - onRhythmPlayerStateChanged?( - state: RhythmPlayerStateType, - reason: RhythmPlayerReason - ): void; - public virtual void OnRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) - onRhythmPlayerStateChanged?( - state: RhythmPlayerStateType, - reason: RhythmPlayerReason - ): void; - final void Function(RhythmPlayerStateType state, RhythmPlayerReason reason)? - onRhythmPlayerStateChanged; -

    + virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) + + + + + +

    -
    -
    - -
    弃用:
    -
    该方法自 v4.6.0 版本废弃。
    -
    -
    -

    虚拟节拍器状态发生改变时,SDK 会触发该回调报告当前的虚拟节拍器状态。在虚拟节拍器出现故障时,该回调可以帮助你了解当前虚拟节拍的状态以及出现故障的原因,方便你排查问题。

    - 该回调仅适用于 Android 和 iOS。
    -
    - <ph keyref="callback-section-title"/> +
    +

    +

    +
    + 触发时机 +

    当虚拟节拍器状态发生变化时触发。

    +
    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - state - 当前的虚拟节拍器状态,详见 + + state + 当前虚拟节拍器的状态。详见 + 当前虚拟节拍器的状态,详见 - - state - 当前的虚拟节拍器状态。 -
      -
    • (810): 虚拟节拍器未开启或已关闭。
    • -
    • (811): 正在打开节拍音频文件。
    • -
    • (812): 正在解码节拍音频文件。
    • -
    • (813): 正在播放节拍音频文件。
    • -
    • (814): 开启虚拟节拍器失败。你可以通过报告的错误码 errorCode 排查错误原因,也可以重新尝试开启虚拟节拍器。
    • -
    + + reason + 与虚拟节拍器错误相关的错误码和错误信息。详见 + 与虚拟节拍器错误相关的错误码和错误信息,详见 - - reason - 虚拟节拍器发生错误的错误码和错误信息,详见 - 虚拟节拍器发生错误的错误码和错误信息。 -
      -
    • (0): 正常播放节拍音频文件,没有错误。
    • -
    • (1): 一般性错误,没有明确原因。
    • -
    • (801): 打开节拍音频文件出错。
    • -
    • (802): 播放节拍音频文件出错。
    • -
    • (803): 节拍音频文件时长超出限制。最大时长为 1.2 秒。
    • -
    + + engine + 对象。
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita index b45128d7fc3..ea6e791d266 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRtcStats" /> - 当前通话相关的统计信息回调。 + <ph keyref="onRtcStats"/> + 报告当前通话的统计数据回调。 - + @@ -15,47 +15,51 @@

    public void onRtcStats(RtcStats stats) {} onRtcStats ? : (stats: RtcStats) => void - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - reportRtcStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onRtcStats(const RtcStats& stats) { - (void)stats; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:reportRtcStats:)); + virtual void onRtcStats(const RtcStats& stats) { (void)stats; } + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRtcStats(const FRtcStats& stats); onRtcStats?(connection: RtcConnection, stats: RtcStats): void; public virtual void OnRtcStats(RtcConnection connection, RtcStats stats) {} onRtcStats?(connection: RtcConnection, stats: RtcStats): void; final void Function(RtcConnection connection, RtcStats stats)? onRtcStats; -

    +

    -

    -

    +

    该回调每两秒触发一次,用于报告当前通话的统计数据,包括发送/接收比特率、丢包率、CPU 占用率等信息。你可以通过该回调获取通话质量的实时数据。

    +
    触发时机 -

    SDK 定期向 App 报告当前通话的统计信息,每两秒触发一次。

    +

    SDK 在用户加入频道后每两秒触发一次该回调。

    使用限制

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection Connection 信息。详见 stats - +

    RTC 引擎统计数据,详见

    + 通话的统计信息。详见 + 通话统计信息。详见 + RTC 引擎的统计数据。详见 +
    + + engine + 引擎对象。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita index e6c7a4488ea..01f2822ef01 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onRtmpStreamingEvent" /> - 旁路推流事件回调。 + <ph keyref="onRtmpStreamingEvent"/> + 报告旁路推流过程中的事件。 - + @@ -15,40 +15,55 @@

    public void onRtmpStreamingEvent(String url, int event) {} onRtmpStreamingEvent? : (url:string,event:Constants.RtmpStreamingEvent) => void; - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { - (void)url; - (void)eventCode; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingEventWithUrl:eventCode:)); + virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRtmpStreamingEvent(const FString& url, ERTMP_STREAMING_EVENT eventCode); onRtmpStreamingEvent?(url: string, eventCode: RtmpStreamingEvent): void; public virtual void OnRtmpStreamingEvent(string url, RTMP_STREAMING_EVENT eventCode) onRtmpStreamingEvent?(url: string, eventCode: RtmpStreamingEvent): void; final void Function(String url, RtmpStreamingEvent eventCode)? onRtmpStreamingEvent; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> url - 旁路推流 URL。 - + 旁路推流 URL。 + 旁路推流的 URL。 + 旁路推流的地址。 + - eventCode + eventCode event - 旁路推流事件码。详见 + 旁路推流事件码。详见 旁路推流事件码。
      -
    • (1): 旁路推流时,添加背景图或水印出错。
    • -
    • (2): 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。
    • -
    • (3): 功能不支持。
    • -
    • (4): 预留参数。
    • +
    • (1): 旁路推流时,添加背景图或水印出错。
    • +
    • (2): 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。
    • +
    • (3): 功能不支持。
    • +
    • (4): 预留参数。
    + 旁路推流的事件码,详见 +
    + + event + 旁路推流的事件码: +
      +
    • RTMP_STREAMING_EVENT_FAILED_LOAD_IMAGE (1):添加背景图或水印图时发生错误。
    • +
    • RTMP_STREAMING_EVENT_URL_ALREADY_IN_USE (2):该推流地址已被用于旁路推流。如需开启新的推流,请使用新的推流地址。
    • +
    • RTMP_STREAMING_EVENT_ADVANCED_FEATURE_NOT_SUPPORT (3):该功能不支持。
    • +
    • RTMP_STREAMING_EVENT_REQUEST_TOO_OFTEN (4):保留字段。
    • +
    +
    +
    + + engine + 对象,详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita index 4a301984bd2..3f090e84978 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita @@ -1,8 +1,8 @@ - + - <ph keyref="onRtmpStreamingStateChanged" /> - 旁路推流状态发生改变回调。 + <ph keyref="onRtmpStreamingStateChanged"/> + 旁路推流状态变化回调。 @@ -18,13 +18,8 @@ - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingChangedToState:(NSString * _Nonnull)url state:(AgoraRtmpStreamingState)state reason:(AgoraRtmpStreamingReason)reason NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingChangedToState:state:reason:)); - virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state, - RTMP_STREAM_PUBLISH_REASON reason) { - (void)url; - (void)state; - (void)reason; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnRtmpStreamingStateChanged(const FString& url, ERTMP_STREAM_PUBLISH_STATE state, ERTMP_STREAM_PUBLISH_REASON reason); onRtmpStreamingStateChanged?( url: string, @@ -39,70 +34,38 @@ ): void; final void Function(String url, RtmpStreamPublishState state, RtmpStreamPublishReason reason)? onRtmpStreamingStateChanged; -

    +

    -

    旁路推流状态发生改变时,SDK会触发该回调,并在回调中明确状态发生改变的 URL 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    -
    +

    当旁路推流状态发生变化时,SDK 会触发该回调,并报告对应的 URL 地址和当前的旁路推流状态。出现异常时,你可以参考错误码参数中的详细错误信息进行排查。

    +
    <ph keyref="callback-section-title"/> - + url - +

    推流状态发生改变的 URL 地址。

    -
    + 媒体推流状态发生变化的 URL 地址。 + 发生旁路推流状态变化的 URL 地址。 +
    state - 当前的推流状态,详见 - 当前的推流状态: - - - -
      -
    • (0):推流未开始或已结束。
    • -
    • (1):正在连接声网推流服务器和 CDN 服务器。
    • -
    • (2):推流正在进行。成功推流后,会返回该状态。
    • -
    • (3):正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。 - - - -
        -
      • 如成功恢复推流,则进入状态 (2)。
      • -
      • 如服务器出错或 60 秒内未成功恢复,则进入状态 (4)。如果觉得 60 秒太长,也可以主动调用 / 方法尝试重连。
      • -
    • -
    • (4):推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以重新尝试推流。
    • -
    • (5):SDK 正在与声网推流服务器和 CDN 服务器断开连接。当你调用 方法正常结束推流时,SDK 会依次报告推流状态为
    • -
    -
    + 当前的推流状态,详见 + 当前的媒体推流状态,详见 + 当前的旁路推流状态,详见 + reason - 推流状态改变的原因,详见 - 推流状态改变的原因。 -
      -
    • (0):推流成功。
    • -
    • (1):参数无效。请检查输入参数是否正确。
    • -
    • (2):推流已加密,不能推流。
    • -
    • (3):推流超时未成功。可尝试重新推流。
    • -
    • (4):推流服务器出现错误。请尝试重新推流。
    • -
    • (5):CDN 服务器出现错误。
    • -
    • (6):预留参数。
    • -
    • (7):单个主播的推流地址数目达到上限 10。请先停止对一些非必要地址的推流。
    • -
    • (8):主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。
    • -
    • (9):服务器未找到这个流。
    • -
    • (10):推流地址格式有错误。请检查推流地址格式是否正确。
    • -
    • (11):用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。
    • -
    • (13):非转码推流情况下,调用了 更新转码属性。请检查你的应用代码逻辑。
    • -
    • (14):主播的网络出错。
    • -
    • (16):你的项目没有使用声网推流服务的权限。请参考旁路推流中的前提条件开启推流服务。
    • -
    • (100):推流已正常结束。当你调用 结束推流后,SDK 会返回该值。
    • -
    -
    -
    + 推流状态改变的原因,详见 + 媒体推流状态变化的原因,详见 + 旁路推流状态变化的原因,详见 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita index 087a4c42091..ad8c14d54e0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita @@ -1,8 +1,8 @@ - + <ph keyref="onSnapshotTaken"/> - 视频截图结果回调。 + 截图结果回调。 @@ -15,16 +15,9 @@

    public void onSnapshotTaken(int uid, String filePath, int width, int height, int errCode) {} onSnapshotTaken?:(uid:number, filePath:string , width:number, height:number, errCode:number) => void - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode; - virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) { - (void)uid; - (void)filePath; - (void)width; - (void)height; - (void)errCode; -} - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode NS_SWIFT_NAME(rtcEngine(_:snapshotTaken:filePath:width:height:errCode:)); + virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnSnapshotTaken(int64 uid, const FString& filePath, int width, int height, int errCode); onSnapshotTaken?( connection: RtcConnection, @@ -47,38 +40,52 @@ int width, int height, int errCode)? onSnapshotTaken;

    -

    成功调用 后,SDK 触发该回调报告截图是否成功和获取截图的详情。

    +

    调用 takeSnapshot 方法成功后,SDK 会触发该回调,报告截图是否成功以及截图的详细信息。 后,SDK 触发该回调报告截图是否成功和获取截图的详情。

    +
    +
    + 调用时机 +

    调用 takeSnapshot 方法成功后触发。

    <ph keyref="callback-section-title"/> - + uid - 用户 ID。如果 uid 为 0,表示本地用户。 - - + 用户 ID。如果 uid 为 0,表示本地用户。 + 用户 ID。值为 0 表示本地用户。 + 用户 ID。 +
      +
    • 0:表示本地用户。
    • +
    +
    +
    + filePath - 截图的本地保存路径。 - + 截图的本地保存路径。 + 截图的本地路径。 + 截图在本地的保存路径。 +
    width - 图片宽度(px)。 - + 图片宽度(px)。 + 截图的宽度(像素)。 + height - 图片高度(px)。 - + 图片高度(px)。 + 截图的高度(像素)。 + errCode - 截图成功的提示或失败的原因。 + 截图成功的提示或失败的原因。
    • 0:截图成功。
    • < 0: 截图失败。 @@ -88,7 +95,44 @@
    • -3: 方法调用过于频繁。
    + 截图结果: +
      +
    • 0:成功。
    • +
    • < 0:失败:
        +
      • -1:SDK 无法将数据写入文件或编码 JPEG 图像失败。
      • +
      • -2:在调用 takeSnapshot 方法成功后 1 秒内未找到指定用户的视频流。可能原因包括:本地采集已停止、远端停止发布或视频数据处理阻塞。
      • +
      • -3:调用 takeSnapshot 方法过于频繁。
      • +
      +
    • +
    +
    + 截图操作的错误码: +
      +
    • 0:截图成功。
    • +
    • < 0:截图失败:
        +
      • -1:SDK 无法将数据写入文件或编码 JPEG 图像失败。
      • +
      • -2:在调用 方法成功后的 1 秒内未找到指定用户的视频流。可能原因包括:本地采集停止、远端停止发布或视频数据处理阻塞。
      • +
      • -3:调用 方法过于频繁。
      • +
      +
    • +
    +
    + 截图结果: +
      +
    • 0:成功。
    • +
    • < 0:失败:
        +
      • -1:SDK 写入文件或编码 JPEG 图像失败。
      • +
      • -2:调用 takeSnapshot 方法成功后 1 秒内未找到指定用户的视频流。可能原因包括:本地采集已停止、远端停止发布或视频数据处理阻塞。
      • +
      • -3:调用 takeSnapshot 方法过于频繁。
      • +
      +
    • +
    +
    +
    + + engine + 引擎对象,详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita index 980cc627b53..af9f850d326 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onStreamMessage" /> - 接收到对方数据流消息的回调。 + <ph keyref="onStreamMessage"/> + 远端用户发送数据流时触发的回调。 - + @@ -15,18 +15,9 @@

    public void onStreamMessage(int uid, int streamId, byte[] data) {} onStreamMessage?:(uid:number, streamId:number,data:Uint8Array) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - receiveStreamMessageFromUid:(NSUInteger)uid - streamId:(NSInteger)streamId - data:(NSData * _Nonnull)data; - virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) { - (void)uid; - (void)streamId; - (void)data; - (void)length; - (void)sentTs; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data NS_SWIFT_NAME(rtcEngine(_:receiveStreamMessageFromUid:streamId:data:)); + virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnStreamMessage(int64 uid, int streamId, const FString& data, int length, int64 sentTs); onStreamMessage?( connection: RtcConnection, @@ -47,47 +38,64 @@ ): void; final void Function(RtcConnection connection, int remoteUid, int streamId, Uint8List data, int length, int sentTs)? onStreamMessage; -

    +

    - -

    - 该回调表示本地用户收到了远端用户调用 方法发送的流消息。 + +

    当本地用户收到远端用户通过 发送的数据流时,会触发该回调。 方法发送的流消息。

    + 如果你需要一个更全面的解决方案,以实现低延迟、高并发和可扩展的实时消息传递和状态同步,建议使用 Signaling + 如果你需要一个更全面的解决方案来实现低延迟、高并发和可扩展的实时消息传递与状态同步,建议使用 Signaling + 如果你需要一个更全面的低延迟、高并发和可扩展的实时消息和状态同步解决方案,建议使用 Signaling +
    +
    + 调用时机 +

    当本地用户收到远端用户通过 方法发送的数据流时触发。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - - - + + + - uid + uid userId - remoteUid - 发送消息的用户 ID。 - + remoteUid + 发送消息的用户 ID。 + 发送该消息的远端用户 ID。 + streamId - 接收到的消息的 Stream ID。 - + 接收到的消息的 Stream ID。 + 接收到的数据流 ID。 + 接收到的消息的数据流 ID。 + data - 接收到的数据。 - - - length - 数据长度,单位为字节。 - - - sentTs - 数据流发出的时间。 + 接收到的数据。 + 你接收到的数据,详见 NSData + 接收到的数据内容。 + + + length + 数据长度,单位为字节。 + 接收到的数据长度(字节)。 + + + sentTs + 数据流发出的时间。 + 发送该数据流的时间戳。 + + + engine + 对象,详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita index 5a57d0d9dff..1abc019b028 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onStreamMessageError" /> - 接收对方数据流消息发生错误的回调。 + <ph keyref="onStreamMessageError"/> + 本地用户未收到远端用户发送的数据流消息时触发的回调。 - + @@ -15,21 +15,9 @@

    public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} onStreamMessageError? : (uid:number,streamId:number,error:number,missed:number,cached:number) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didOccurStreamMessageErrorFromUid:(NSUInteger)uid - streamId:(NSInteger)streamId - error:(NSInteger)error - missed:(NSInteger)missed - cached:(NSInteger)cached; - virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) { - (void)uid; - (void)streamId; - (void)code; - (void)missed; - (void)cached; - } - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurStreamMessageErrorFromUid:(NSUInteger)uid streamId:(NSInteger)streamId error:(NSInteger)error missed:(NSInteger)missed cached:(NSInteger)cached NS_SWIFT_NAME(rtcEngine(_:didOccurStreamMessageErrorFromUid:streamId:error:missed:cached:)); + virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnStreamMessageError(int64 uid, int streamId, int code, int missed, int cached); onStreamMessageError?( connection: RtcConnection, @@ -50,47 +38,67 @@ ): void; final void Function(RtcConnection connection, int remoteUid, int streamId, ErrorCodeType code, int missed, int cached)? onStreamMessageError; -

    +

    - -

    - 该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    + +

    该回调在本地用户未能接收到远端用户通过 发送的流消息时触发,通常由于网络异常或带宽不足等原因导致消息丢失。你可以通过该回调获取丢失消息的数量和缓存消息的数量,以便进行相应的处理。 方法发送的流消息。

    + 如果你需要一个更全面的低延迟、高并发和可扩展的实时消息和状态同步解决方案,建议使用 Signaling +
    +
    + 调用时机 +

    当本地用户未能接收到远端用户通过 方法发送的流消息时触发。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - uid + uid userId - remoteUid - 发送消息的用户 ID。 - + remoteUid + 发送消息的用户 ID。 + 发送消息的远端用户 ID。 + streamId - 接收到的消息的 Stream ID。 - + 接收到的消息的 Stream ID。 + 数据流的 ID。 + 接收消息的数据流 ID。 + 接收消息对应的数据流 ID。 + - code - error - 错误码。详见 - + code + error + 错误码。详见 + 错误码。 + missed - 丢失的消息数量。 + 丢失的消息数量。 cached - 数据流中断时,后面缓存的消息数量。 + 数据流中断时,后面缓存的消息数量。 + 数据流中断时接收到的缓存消息数量。 + 数据流中断期间接收到的缓存消息数量。 + + + error + 错误码。 + 错误码,详见 + + + engine + 对象,详见 -
    + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita index 846a9cbec50..dd637a638d4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onTokenPrivilegeWillExpire" /> - Token 即将在 30s 内过期回调。 + <ph keyref="onTokenPrivilegeWillExpire"/> + Token 即将在 30 秒后过期时触发的回调。 - + @@ -15,46 +15,56 @@

    public void onTokenPrivilegeWillExpire(String token) {} onTokenPrivilegeWillExpire?: (token:string) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - tokenPrivilegeWillExpire:(NSString *_Nonnull)token; - virtual void onTokenPrivilegeWillExpire(const char* token) { - (void)token; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token NS_SWIFT_NAME(rtcEngine(_:tokenPrivilegeWillExpire:)); + virtual void onTokenPrivilegeWillExpire(const char* token) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnTokenPrivilegeWillExpire(const FString& token); onTokenPrivilegeWillExpire?(connection: RtcConnection, token: string): void; public virtual void OnTokenPrivilegeWillExpire(RtcConnection connection, string token) {} onTokenPrivilegeWillExpire?(connection: RtcConnection, token: string): void; final void Function(RtcConnection connection, String token)? onTokenPrivilegeWillExpire; -

    +

    -

    -

    +

    收到该回调时,你需要在 Token 服务器上生成一个新的 Token,并通过以下方式之一更新 Token: +

      +
    • 单频道场景:
        +
      • 调用 传入新的 Token。
      • +
      • 调用 leaveChannel 离开当前频道,然后在调用 joinChannel 加入频道时传入新的 Token。
      • +
      +
    • +
    • 多频道场景:调用 传入新的 Token。 SDK 会在 Token 过期前 30 秒触发该回调,提醒 App 更新 Token。
    • +
    +

    +
    触发时机 -

    在音视频互动过程中,SDK 会在 Token 过期前 30 秒触发该回调,提醒 App 更新 Token。

    +

    SDK 会在 Token 过期前 30 秒触发该回调,提醒 App 更新 Token。

    使用限制

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - - - + + + token - 即将过期的 Token。 + 即将过期的 Token。 + + + engine + 对象。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita index 43f0874ef61..05913c5cd5c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita @@ -1,8 +1,8 @@ - + <ph keyref="onTranscodedStreamLayoutInfo"/> - 已接收携带布局信息的合图视频流回调。 + 本地用户接收到携带视频合流布局信息的视频流时触发的回调。 @@ -14,16 +14,10 @@

    public void onTranscodedStreamLayoutInfo(int uid, VideoLayoutInfo info) {} - + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didTranscodedStreamLayoutInfoUpdatedWithUserId:(NSUInteger)uid videoLayoutInfo:(AgoraVideoLayoutInfo* _Nonnull)videoLayoutInfo NS_SWIFT_NAME(rtcEngine(_:didTranscodedStreamLayoutInfoUpdatedWithUserId:videoLayoutInfo:)); - virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) { - (void)uid; - (void)width; - (void)height; - (void)layoutCount; - (void)layoutlist; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnTranscodedStreamLayoutInfo(int64 uid, int width, int height, int layoutCount, const TArray<FVideoLayout>& layoutlist); public virtual void OnTranscodedStreamLayoutInfo(RtcConnection connection, uint uid, int width, int height, int layoutCount, VideoLayout[] layoutlist) @@ -41,18 +35,16 @@ int width, int height, int layoutCount, - List<VideoLayout> layoutlist)? onTranscodedStreamLayoutInfo;

    + List<VideoLayout> layoutlist)? onTranscodedStreamLayoutInfo;

    详情 -
    - -
    自从
    -
    v4.3.0
    -
    -

    当本地第一次接收到合图服务器发送的合图视频流,或者合图流的布局信息有变化时,SDK 会触发该回调,报告合图视频流中每一路子视频流的布局信息。

    - 该回调仅适用于 Android 和 iOS。 + 该回调仅适用于 Android 和 iOS。 +
    +
    + 调用时机 +

    当本地用户首次接收到视频合流服务器发送的视频合流流,或该视频合流流的布局信息发生变化时触发。

    参数 @@ -67,26 +59,44 @@ uid - 发布合图视频流的用户 ID。 - + 发布合图视频流的用户 ID。 + 发布该混合视频流的用户 ID。 + 发布该视频合流流的用户 ID。 + - width - 合图视频流的宽度 (px)。 + width + 合图视频流的宽度 (px)。 + 视频合流流的宽度(像素)。 - height - 合图视频流的高度 (px)。 + height + 合图视频流的高度 (px)。 + 视频合流流的高度(像素)。 - layoutCount - 合图视频流中布局信息的数量。 + layoutCount + 合图视频流中布局信息的数量。 + 视频合流流中布局信息的数量。 - info + info videoLayoutInfo layoutlist - 某一路合图视频流的详细布局信息。详见 + 某一路合图视频流的详细布局信息。详见 + 子视频流的布局信息,详见 -
    + + layoutlist + 子视频流的布局信息。详见 + + + videoLayoutInfo + 混合流中某个子视频流的视频合流布局信息,详见 + + + engine + 对象。 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita index 903a6cb0539..2e1a8541181 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onTranscodingUpdated" /> - 旁路推流转码设置已被更新回调。 + <ph keyref="onTranscodingUpdated"/> + 发布端云端转码设置更新时触发的回调。 - + @@ -15,26 +15,33 @@

    public void onTranscodingUpdated() {} onTranscodingUpdated? : () =>void; - - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onTranscodingUpdated() - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineTranscodingUpdated(_:)); + virtual void onTranscodingUpdated() {} + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnTranscodingUpdated(); onTranscodingUpdated?(): void; public virtual void OnTranscodingUpdated() onTranscodingUpdated?(): void; final void Function()? onTranscodingUpdated; -

    +

    -

    方法中的直播参数 更新时, 回调会被触发并向主播报告更新信息。

    - 首次调用 方法设置转码参数 时,不会触发此回调。
    -
    - <ph keyref="callback-section-title" /> +

    当调用 方法后, 类发生更新时,SDK 会触发该回调以报告更新信息。 方法中的直播参数 更新时, 回调会被触发并向主播报告更新信息。

    + 首次调用 方法设置转码参数 时,不会触发此回调。 如果你首次调用 方法设置 类,SDK 不会触发此回调。 + 如果你首次调用 方法设置 配置,SDK 不会触发该回调。 + 如果你首次调用 设置 ,SDK 不会触发该回调。 +
    +
    + <ph keyref="callback-section-title"/> - - - + + + -
    + + engine + 对象,详见 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita index 7b56055465e..81bdb0775d3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onUplinkNetworkInfoUpdated" /> - 上行网络信息变化回调。 + <ph keyref="onUplinkNetworkInfoUpdated"/> + 上行网络信息发生变化时触发的回调。 - + @@ -14,35 +14,44 @@

    public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine - uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo; - virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { - (void)info; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo NS_SWIFT_NAME(rtcEngine(_:uplinkNetworkInfoUpdate:)); + virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnUplinkNetworkInfoUpdated(const FUplinkNetworkInfo& info); onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; public virtual void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; final void Function(UplinkNetworkInfo info)? onUplinkNetworkInfoUpdated; -

    +

    -

    只有当上行网络信息发生变化时,SDK 才会触发该回调。

    - 该回调仅适用于向 SDK 推送 H.264 格式的外部编码视频数据的场景。
    +

    + 该回调仅适用于向 SDK 推送 H.264 格式的外部编码视频数据的场景。 该回调仅适用于向 SDK 推送外部编码的 H.264 格式视频数据的场景。 + 该回调仅适用于你将外部编码的 H.264 格式视频数据推送至 SDK 的场景。 + 该回调仅适用于将外部编码的 H.264 格式视频数据推送至 SDK 的场景。 +
    参数 - - - + + + - info - networkInfo - 上行网络信息,详见 + info + networkInfo + 上行网络信息,详见 + 上行网络信息。详见 + + + networkInfo + 上行网络信息,详见 -
    + + engine + 对象,详见 + + -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita index 1751be32360..66f89ac9af1 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita @@ -1,83 +1,83 @@ - + - <ph keyref="onUserEnableLocalVideo" /> - 远端用户开/关本地视频采集回调。 + <ph keyref="onUserEnableLocalVideo"/> + 远端用户启用或关闭本地视频采集功能回调。 - +

    - public void onUserEnableLocalVideo(int uid, boolean enabled) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didLocalVideoEnabled:(BOOL)enabled - byUid:(NSUInteger)uid - virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) { - (void)uid; - (void)enabled; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnUserEnableLocalVideo(int64 uid, bool enabled); - onUserEnableLocalVideo?( - connection: RtcConnection, - remoteUid: number, - enabled: boolean - ): void; - public virtual void OnUserEnableLocalVideo(RtcConnection connection, uint remoteUid, bool enabled) {} - onUserEnableLocalVideo?( - connection: RtcConnection, - remoteUid: number, - enabled: boolean - ): void; - final void Function(RtcConnection connection, int remoteUid, bool enabled)? - onUserEnableLocalVideo; -

    + public void onUserEnableLocalVideo(int uid, boolean enabled) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didLocalVideoEnabled:byUid:)) __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead."); + virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated + + + + + +

    -
    -
    - -
    弃用:
    -
    该回调已废弃,请改用 回调的如下枚举: -
      -
    • (0) 和 (5)。
    • -
    • (2) 和 (6)。
    • -
    +
    +
    + +
    自从
    +
    v
    -

    该回调是由远端用户调用 方法开启或关闭视频采集触发的。

    +

    +

    +
    + 使用限制 +

    无。

    -
    - <ph keyref="callback-section-title" /> +
    + 参数 - - - - - - - - - - uid - remoteUid - 用户 ID,提示是哪个用户的视频流。 + + uid + 远端用户的用户 ID。 + 远端用户 ID。 - - enabled - -

    远端用户是否启用视频采集: + + enabled + 指定的远端用户是否启用本地视频采集功能:

      -
    • : 该用户已启用视频功能。启用后,其他用户可以接收到该用户的视频流。
    • -
    • : 该用户已关闭视频功能。关闭后,该用户仍然可以接收其他用户的视频流,但其他用户接收不到该用户的视频流。
    • -

    -
    +
  • :启用视频模块,频道内其他用户可以看到该远端用户的视频。
  • +
  • :关闭视频模块,频道内其他用户将无法接收该远端用户的视频流,但该远端用户仍可接收其他用户的视频流。
  • + + + 指定的远端用户是否启用本地视频采集功能: +
      +
    • :启用了视频模块,频道内其他用户可以看到该远端用户的视频。
    • +
    • :关闭了视频模块,频道内其他用户无法再接收到该远端用户的视频流,但该远端用户仍可接收其他用户的视频流。
    • +
    +
    + 指定的远端用户是否启用本地视频采集功能: +
      +
    • :启用视频模块,频道内其他用户可以看到该远端用户的视频。
    • +
    • :关闭视频模块,频道内其他用户无法接收该远端用户的视频流,但该远端用户仍可接收其他用户的视频流。
    • +
    +
    +
    + + engine + 引擎实例。详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita index 2fff2c190bb..f2d24fe0364 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onUserEnableVideo" /> - 远端用户开/关视频模块回调。 + <ph keyref="onUserEnableVideo"/> + 回调。当远端用户启用或关闭视频模块时触发。 - + @@ -14,70 +14,57 @@

    public void onUserEnableVideo(int uid, boolean enabled) {} - onUserEnableVideo?:(uid:number, enabled:boolean) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didVideoEnabled:(BOOL)enabled - byUid:(NSUInteger)uid - virtual void onUserEnableVideo(uid_t uid, bool enabled) { - (void)uid; - (void)enabled; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnUserEnableVideo(int64 uid, bool enabled); - onUserEnableVideo?( - connection: RtcConnection, - remoteUid: number, - enabled: boolean - ): void; - public virtual void OnUserEnableVideo(RtcConnection connection, uint remoteUid, bool enabled) {} - onUserEnableVideo?( - connection: RtcConnection, - remoteUid: number, - enabled: boolean - ): void; - final void Function(RtcConnection connection, int remoteUid, bool enabled)? - onUserEnableVideo; -

    + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didVideoEnabled:byUid:)); + virtual void onUserEnableVideo(uid_t uid, bool enabled) + + + + + +

    -
    -
    - -
    弃用:
    -
    请改用 回调的: -
      -
    • (0) 和 (5) 。
    • -
    • (2) 和 (6)。
    • -
    -
    -
    -

    关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频,也不能接收、显示别人的视频。

    -

    该回调是由远端用户调用 方法开启或关闭视频模块触发的。 -

    +
    +

    +

    +
    + 使用限制 +

    无。

    -
    - <ph keyref="callback-section-title" /> +
    + 参数 - - - - - - connection - Connection 信息。详见 + + uid + 远端用户的用户 ID。 - - uid - remoteUid - 用户 ID,提示是哪个用户的视频流。 - - - enabled - + + enabled +
      +
    • :启用视频模块。
    • +
    • :关闭视频模块。
    • +
    +
    + :视频模块已启用。:视频模块已关闭。 + 视频模块是否启用:
      -
    • : 该用户已启用视频功能。
    • -
    • : 该用户已关闭视频功能。
    • -
    +
  • :视频模块已启用。
  • +
  • :视频模块已关闭。
  • + +
    +
    + + engine + 对象。详见
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita index c72df3aa58d..c9a86d52b28 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onUserInfoUpdated" /> - 远端用户信息已更新回调。 + <ph keyref="onUserInfoUpdated"/> + 远端用户的用户 ID 和用户账号信息更新时触发的回调。 - + @@ -14,39 +14,53 @@

    public void onUserInfoUpdated(int uid, UserInfo userInfo) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo; - virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) { - (void)uid; - (void)info; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo NS_SWIFT_NAME(rtcEngine(_:didUserInfoUpdatedWithUserId:userInfo:)); + virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) = 0; + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnUserInfoUpdated(int64 uid, const FUserInfo& info); onUserInfoUpdated?(uid: number, info: UserInfo): void; public virtual void OnUserInfoUpdated(uint uid, UserInfo info) onUserInfoUpdated?(uid: number, info: UserInfo): void; final void Function(int uid, UserInfo info)? onUserInfoUpdated; -

    +

    -

    远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发该回调。

    -
    +
    + +
    自从:
    +
    自 v2.8.0 版本新增。
    +
    +
    +

    当远端用户加入频道后,SDK 会获取该用户的用户 ID 和用户账号,并将其缓存在映射表中,然后在本地客户端触发该回调。

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + uid - 远端用户 ID。 - + 远端用户 ID。 + 远端用户的用户 ID。 + - userInfo - info - 标识用户信息的 UserInfo 对象,包含用户 UID 和 User Account。详见 类。 + userInfo + info + 标识用户信息的 UserInfo 对象,包含用户 UID 和 User Account。详见 类。 + 包含远端用户的用户 ID 和用户账号信息的对象。详见 + 包含远端用户的用户 ID 和用户账号的对象,详见 + + + info + 包含远端用户的用户 ID 和用户账号的对象。详见 + + + engine + 输入参数, 对象,详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita index 7c908ef0a44..7a3ed168276 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita @@ -1,20 +1,16 @@ - + - <ph keyref="onUserJoined" /> - 远端用户(通信场景)/主播(直播场景)加入当前频道回调。 + <ph keyref="onUserJoined"/> + 远端用户或主播加入频道回调。

    - public void onUserJoined(int uid, int elapsed) {} + public void onUserJoined(int uid, int elapsed) onUserJoined?:(uid:number, elapse:number) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onUserJoined(uid_t uid, int elapsed) { - (void)uid; - (void)elapsed; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didJoinedOfUid:elapsed:)); + virtual void onUserJoined(uid_t uid, int elapsed) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnUserJoined(int64 uid, int elapsed); onUserJoined?( connection: RtcConnection, @@ -29,7 +25,7 @@ ): void; final void Function(RtcConnection connection, int remoteUid, int elapsed)? onUserJoined; -

    +

      @@ -40,39 +36,53 @@
    触发时机 -

    该回调在如下情况下会被触发: -

      -
    • 远端用户/主播加入频道。
    • -
    • 远端用户加入频道后将用户角色改变为主播。
    • -
    • 远端用户/主播网络中断后重新加入频道。
    • -

    +

    SDK 在以下任一情况下触发该回调: +

      +
    • 远端用户或主播加入频道。
    • +
    • 远端用户加入频道后切换为主播角色。
    • +
    • 远端用户或主播因网络中断后重新加入频道。
    • +
    +

    使用限制

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + connection - Connection 信息。详见 + Connection 信息。详见 - uid - remoteUid + uid + remoteUid 新加入频道的远端用户/主播 ID。 elapsed - 从本地用户调用 到该回调触发的延迟(毫秒)。 - 从本地用户调用 到该回调触发的延迟(毫秒)。 + 从本地用户调用 到该回调触发的延迟(毫秒)。 + 从本地用户调用 到该回调触发的延迟(毫秒)。 + 从本地用户调用 joinChannel 到该回调被触发的延迟(毫秒)。 + 从你调用 到该回调被触发的延迟(毫秒)。 + 从本地用户调用 joinChannel 到该回调被触发的延迟时间(毫秒)。 + + + uid + 加入频道的远端用户 ID。 + 加入频道的远端用户或主播的用户 ID。 + 加入频道的用户 ID。 -
    + + engine + 对象。详见 + +
    - \ 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 fd4ba26518e..14ca54de760 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onUserMuteAudio" /> - 远端用户(通信场景)/主播(直播场景)停止或恢复发送音频流回调。 + <ph keyref="onUserMuteAudio"/> + 远端用户或主播停止或恢复发送音频流回调。 - + @@ -14,59 +14,56 @@

    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; - (void)muted; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnUserMuteAudio(int64 uid, bool muted); - onUserMuteAudio?( - connection: RtcConnection, - remoteUid: number, - muted: boolean - ): void; - public virtual void OnUserMuteAudio(RtcConnection connection, uint remoteUid, bool muted) { } - onUserMuteAudio?( - connection: RtcConnection, - remoteUid: number, - muted: boolean - ): void; - final void Function(RtcConnection connection, int remoteUid, bool muted)? - onUserMuteAudio; -

    + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didAudioMuted:byUid:)); + virtual void onUserMuteAudio(uid_t uid, bool muted) + + + + + +

    -
    -
    - -
    弃用:
    -
    请改用
    -
    -
    -

    该回调是由远端用户调用 方法关闭或开启音频发送触发的。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 32 人时,该回调可能不准确。
    -
    - <ph keyref="callback-section-title" /> +
    +

    +

    +
    + 触发时机 +

    当远端用户或主播停止或恢复发送音频流时触发。

    +
    +
    + 使用限制 +

    无。

    +
    +
    + 参数 - - - - - - uid - remoteUid - 用户 ID。 + + uid + 远端用户的用户 ID。 + 用户 ID。 + + + muted + 远端用户的音频流是否被静音: +
      +
    • :音频流被静音。
    • +
    • :音频流未被静音。
    • +
    +
    - - muted - 该用户是否静音: -
      -
    • : 该用户已将音频静音。
    • -
    • : 该用户取消了音频静音。
    • -
    -
    -
    -
    + + engine + 对象,详见 + +
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita index 49901fb237b..ba1f8a07bab 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onUserOffline" /> - 远端用户(通信场景)/主播(直播场景)离开当前频道回调。 + <ph keyref="onUserOffline"/> + 回调在远端用户(通信频道场景)或主播(极速直播频道场景)离开频道时触发。 - + @@ -15,14 +15,9 @@

    public void onUserOffline(int uid, int reason) {} onUserOffline?:(uid:number, reason:number) => void; - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine - didOfflineOfUid:(NSUInteger)uid - reason:(AgoraUserOfflineReason)reason; - virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { - (void)uid; - (void)reason; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason NS_SWIFT_NAME(rtcEngine(_:didOfflineOfUid:reason:)); + virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnUserOffline(int64 uid, EUSER_OFFLINE_REASON_TYPE reason); onUserOffline?( connection: RtcConnection, @@ -37,51 +32,73 @@ ): void; final void Function(RtcConnection connection, int remoteUid, UserOfflineReasonType reason)? onUserOffline; -

    +

    -

    用户离开频道一般有以下两个原因: -

      +

      用户离线通常有以下两种原因: +

      • 正常离开:远端用户或主播会发送类似“再见”的消息然后主动离开频道。
      • 超时掉线:在一定时间内(通信场景为 20 秒,直播场景稍有延时),用户没有收到对方的任何数据包,则判定为对方掉线。在网络较差的情况下,有可能会误报。建议使用 RTM SDK 来做可靠的掉线检测。
      • -

      -
    +
      +
    • 离开频道:当用户或主播离开频道时,会发送一条离开消息。
    • +
    • 掉线:在一段时间内(通信频道场景为 20 秒,极速直播频道场景更长)未收到用户或主播的数据包时,SDK 会认为其掉线。网络连接不佳可能导致误判,建议使用声网 RTM SDK 进行可靠的离线检测。
    • +
    +

    +
    触发时机 -

    在音视频互动过程中,当远端用户或主播离开当前频道时会触发该回调。

    +

    当远端用户(通信频道场景)或主播(极速直播频道场景)离开频道时触发该回调。

    使用限制

    无。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - uid - remoteUid + uid + remoteUid 离线的远端用户或主播的 ID。 reason - -

    远端用户(通信场景)或主播(直播场景)离线的原因,详见

    + +

    远端用户(通信场景)或主播(直播场景)离线的原因,详见

    远端用户(通信场景)或主播(直播场景)离线的原因:

      -
    • (0):用户主动离开。此时离开频道的用户会发送一个类似“再见”的消息。
    • -
    • (1):因过长时间收不到对方数据包,SDK 判定该远端用户超时掉线。注意:在网络连接不稳定时,该判定可能会有误。建议使用 RTM SDK 来做可靠的掉线检测。
    • -
    • (2):用户的角色从主播切换为观众。
    • +
    • (0):用户主动离开。此时离开频道的用户会发送一个类似“再见”的消息。
    • +
    • (1):因过长时间收不到对方数据包,SDK 判定该远端用户超时掉线。注意:在网络连接不稳定时,该判定可能会有误。建议使用 RTM SDK 来做可靠的掉线检测。
    • +
    • (2):用户的角色从主播切换为观众。

    + 远端用户(在通信场景中)或主播(在直播场景中)离线的原因: +
      +
    • (0):用户主动退出频道,发送离开消息。
    • +
    • (1):在一定时间内未收到任何数据包,SDK 判断用户掉线。网络不佳可能导致误判,建议使用声网 RTM SDK 进行可靠的离线检测。
    • +
    • (2):用户将角色从主播切换为观众。
    • +
    +
    + 远端用户(通信场景)或主播(极速直播场景)离线的原因,详见 + 远端用户(通信频道场景)或主播(极速直播频道场景)离线的原因,详见 +
    + + uid + 离开频道或掉线的用户 ID。 + 离开频道或掉线的远端用户 ID。 + + + engine + 对象。详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita index 2730186dbe3..ca6653dea52 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita @@ -1,61 +1,59 @@ - + - <ph keyref="onVideoDeviceStateChanged"/> - 视频设备变化回调。 - - - - - - - - -
    -

    - - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine device:(NSString * _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state NS_SWIFT_NAME(rtcEngine(_:device:type:stateChanged:)); - virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { - (void)deviceId; - (void)deviceType; - (void)deviceState; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") - void OnVideoDeviceStateChanged(const FString& deviceId, int deviceType, int deviceState); - onVideoDeviceStateChanged?( - deviceId: string, - deviceType: MediaDeviceType, - deviceState: number - ): void; - public virtual void OnVideoDeviceStateChanged(string deviceId, int deviceType, int deviceState) - onVideoDeviceStateChanged?( - deviceId: string, - deviceType: MediaDeviceType, - deviceState: number - ): void; - final void Function(String deviceId, MediaDeviceType deviceType, - MediaDeviceStateType deviceState)? onVideoDeviceStateChanged; -

    -
    -
    -

    该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。

    - 该回调仅适用于 Windows 和 macOS。
    -
    - <ph keyref="callback-section-title"/> - - - deviceId - 设备 ID。 - - - deviceType - 设备类型。详见 - - - deviceState - 设备状态。详见 - -
    -
    + <ph keyref="onVideoDeviceStateChanged"/> + 视频设备状态发生变化时的回调。 + + + + + + + + +
    +

    + + + + virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) + + + + + +

    +
    +
    +

    +

    +
    + 使用限制 +

    无。

    +
    +
    + 参数 + + + deviceId + 设备 ID。 + + + deviceType + 媒体设备类型,详见 + + + deviceState + 媒体设备状态,详见 + +
    +
    + <ph keyref="return-section-title"/> +

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

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita index ebda9a3c567..dc80b82a242 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita @@ -1,37 +1,27 @@ - + - <ph keyref="onVideoPublishStateChanged" /> - 视频发布状态改变回调。 + <ph keyref="onVideoPublishStateChanged"/> + 视频发布状态发生变化回调。 - +

    - public void onVideoPublishStateChanged(Constants.VideoSourceType source, String channel, - int oldState, int newState, int elapseSinceLastState) {} - + public void onVideoPublishStateChanged(Constants.VideoSourceType source, String channel, int oldState, int newState, int elapseSinceLastState) onVideoPublishStateChanged?:(source:Constants.VideoSourceType, channel:string, oldState:Constants.StreamPublishState, newState:Constants.StreamPublishState, elapseSinceLastState:number) => void; - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId - sourceType:(AgoraVideoSourceType)sourceType - oldState:(AgoraStreamPublishState)oldState - newState:(AgoraStreamPublishState)newState -elapseSinceLastState:(int)elapseSinceLastState; - - virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { - (void)source; - (void)channel; - (void)oldState; - (void)newState; - (void)elapseSinceLastState; - } - - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + sourceType:(AgoraVideoSourceType)sourceType + oldState:(AgoraStreamPublishState)oldState + newState:(AgoraStreamPublishState)newState + elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoPublishStateChange:sourceType:oldState:newState:elapseSinceLastState:)); + virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnVideoPublishStateChanged(EVIDEO_SOURCE_TYPE source, const FString& channel, ESTREAM_PUBLISH_STATE oldState, ESTREAM_PUBLISH_STATE newState, int elapseSinceLastState); onVideoPublishStateChanged?( source: VideoSourceType, @@ -54,39 +44,55 @@ elapseSinceLastState:(int)elapseSinceLastState; StreamPublishState oldState, StreamPublishState newState, int elapseSinceLastState)? onVideoPublishStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - channel - channelId - 频道名。 + channel + channelId + 频道名。 sourceType - source - 视频源的类型。详见 + source + 视频源的类型。详见 oldState - 之前的发布状态,详见 - + 之前的发布状态,详见 + 之前的视频发布状态。详见 + 之前的视频发布状态,详见 + newState - 当前的发布状态,详见 - + 当前的发布状态,详见 + 当前的视频发布状态。详见 + 当前的视频发布状态,详见 + elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 + 两次状态变化时间间隔(毫秒)。 + 从前一个状态变为当前状态所经历的时间(毫秒)。 + 从前一个状态到当前状态所经历的时间(毫秒)。 + 从上一个状态变更到当前状态所经历的时间(毫秒)。 + + + source + 视频源类型。详见 + 视频源类型,详见 + + + engine + 对象,详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita index 02ab0cf61f8..4e9aef6d45e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita @@ -1,4 +1,4 @@ - + <ph keyref="onVideoRenderingTracingResult"/> @@ -13,16 +13,11 @@

    - public void onVideoRenderingTracingResult(int uid, - Constants.MEDIA_RENDER_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {} - - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoRenderingTracingResultOfUid:(NSUInteger)uid currentEvent:(AgoraMediaRenderTraceEvent)currentEvent tracingInfo:(AgoraVideoRenderingTracingInfo * _Nonnull)tracingInfo NS_SWIFT_NAME(rtcEngine(_:videoRenderingTracingResultOfUid:currentEvent:tracingInfo:)); - virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) { - (void)uid; - (void)currentEvent; - (void)tracingInfo; -} - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + public void onVideoRenderingTracingResult(int uid, Constants.MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) + + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoRenderingTracingResultOfUid:(NSUInteger)uid currentEvent:(AgoraMediaTraceEvent)currentEvent tracingInfo:(AgoraVideoRenderingTracingInfo * _Nonnull)tracingInfo NS_SWIFT_NAME(rtcEngine(_:videoRenderingTracingResultOfUid:currentEvent:tracingInfo:)); + virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnVideoRenderingTracingResult(int64 uid, EMEDIA_TRACE_EVENT currentEvent, const FVideoRenderingTracingInfo& tracingInfo); onVideoRenderingTracingResult?( connection: RtcConnection, @@ -44,33 +39,35 @@ VideoRenderingTracingInfo tracingInfo)? onVideoRenderingTracingResult;

    -
    - -
    自从
    -
    v4.1.1
    -
    -

    调用 方法或加入频道后,SDK 会触发该回调,报告视频帧渲染的事件和渲染过程中的指标。开发者可以针对指标进行专项优化,以提高出图效率。

    <ph keyref="callback-section-title"/> - - + + uid - 用户 ID。 + 用户 ID。 currentEvent - 当前视频帧渲染事件。详见 - + 当前视频帧渲染事件。详见 + 当前的视频帧渲染事件。详见 + 当前视频帧渲染事件,详见 + tracingInfo - 视频帧渲染过程中的指标。开发者需要尽可能降低指标值,以提高出图效率。详见 + 视频帧渲染过程中的指标。开发者需要尽可能降低指标值,以提高出图效率。详见 + 视频帧渲染过程中的各项指标。详见 + 视频帧渲染过程中的各项指标。你需要尽可能降低这些指标的数值,以提升首帧视频渲染的效率。详见 + + + engine + 实例。详见 -
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita index cbe800eb042..c8505bb147d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita @@ -1,29 +1,23 @@ - + - <ph keyref="onVideoSizeChanged" /> - 本地或远端视频大小和旋转信息发生改变回调。 + <ph keyref="onVideoSizeChanged"/> + 指定用户的视频尺寸或旋转信息发生变化时触发的回调。 - +

    - public void onVideoSizeChanged( - Constants.VideoSourceType source, int uid, int width, int height, int rotation) {} + public void onVideoSizeChanged(Constants.VideoSourceType source, int uid, int width, int height, int rotation) onVideoSizeChanged?:(source:Constants.VideoSourceType, uid:number, width:number, height:number, rotation:number) => void - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfSourceType:(AgoraVideoSourceType)sourceType uid:(NSString * _Nonnull)uid size:(CGSize)size rotation:(NSInteger)rotation NS_SWIFT_NAME(rtcEngine(_:videoSizeChangedOf:uid:size:rotation:)); - virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) { - (void)uid; - (void)width; - (void)height; - (void)rotation; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfSourceType:(AgoraVideoSourceType)sourceType uid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation NS_SWIFT_NAME(rtcEngine(_:videoSizeChangedOf:uid:size:rotation:)); + virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnVideoSizeChanged(EVIDEO_SOURCE_TYPE sourceType, int64 uid, int width, int height, int rotation); onVideoSizeChanged?( connection: RtcConnection, @@ -44,47 +38,65 @@ ): void; final void Function(RtcConnection connection, VideoSourceType sourceType, int uid, int width, int height, int rotation)? onVideoSizeChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + - + connection - Connection 信息。详见 + Connection 信息。详见 - sourceType + sourceType source - 视频源的类型。详见 + 视频源的类型。详见 + 视频源的类型,详见 + 视频源类型。详见 uid - 图像尺寸和旋转信息发生变化的用户 ID(本地用户的 uid 为 0。此时视频为本地用户的视频预览)。 - - - size - 视频流的尺寸。 - - - width - 视频流的宽度(像素)。 - - - height - 视频流的高度(像素)。 - + 图像尺寸和旋转信息发生变化的用户 ID(本地用户的 uid 为 0。此时视频为本地用户的视频预览)。 + 发生视频尺寸或旋转变化的用户 ID。0 表示本地用户(即本地用户的视频预览)。 + 发生视频尺寸或旋转变化的用户 ID。 +
      +
    • 0:表示本地用户(即本地用户的视频预览)。
    • +
    +
    +
    + + size + 视频流的尺寸。 + 视频的尺寸(宽度和高度)。 + + + width + 视频流的宽度(像素)。 + 视频流的宽度(单位为像素)。 + + + height + 视频流的高度(像素)。 + 视频流的高度(单位为像素)。 + rotation - 旋转信息,取值范围 [0,360)。 - 在 iOS 平台上,该参数值始终为 0。 + 旋转信息,取值范围 [0,360)。 + 在 iOS 平台上,该参数值始终为 0。 该参数值始终为 0。 + 视频的旋转信息,取值范围为 [0, 360)。 + 视频的旋转信息,取值范围为 [0, 360)。在 iOS 上,该参数值始终为 0。 + 视频的旋转信息,取值范围为 [0, 360)。rotation 参数在 iOS 平台上始终为 0。 + + + engine + 你使用的 对象。详见 -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita index 6cfd8605019..7fbf64334bf 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita @@ -1,12 +1,12 @@ - + - <ph keyref="onVideoStopped" /> + <ph keyref="onVideoStopped"/> 视频功能已停止回调。 - + @@ -14,33 +14,33 @@

    public void onVideoStopped() {} - + - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; virtual void onVideoStopped() - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnVideoStopped(); onVideoStopped?(): void; public virtual void OnVideoStopped() onVideoStopped?(): void; final void Function()? onVideoStopped; -

    +

    弃用:
    -
    请改用 回调中的 (0)。
    +
    请改用 回调中的 (0)。

    App 如需在停止视频后对 view 做其他处理(比如显示其他画面),可以在这个回调中进行。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita index 9e3d1226948..82e69fa80f5 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita @@ -1,39 +1,27 @@ - + - <ph keyref="onVideoSubscribeStateChanged" /> - 视频订阅状态发生改变回调。 + <ph keyref="onVideoSubscribeStateChanged"/> + 视频订阅状态发生变化时触发的回调。 - +

    - public void onVideoSubscribeStateChanged( - String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} + 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 - oldState:(AgoraStreamSubscribeState)oldState - newState:(AgoraStreamSubscribeState)newState - elapseSinceLastState:(int)elapseSinceLastState; - virtual void onVideoSubscribeStateChanged(const char* channel, - uid_t uid, - STREAM_SUBSCRIBE_STATE oldState, - STREAM_SUBSCRIBE_STATE newState, - int elapseSinceLastState) { - (void)channel; - (void)uid; - (void)oldState; - (void)newState; - (void)elapseSinceLastState; - } - UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoSubscribeStateChange:(NSString * _Nonnull)channelId + uid:(unsigned int)uid + oldState:(AgoraStreamSubscribeState)oldState + newState:(AgoraStreamSubscribeState)newState + elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:)); + virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) + UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event") void OnVideoSubscribeStateChanged(const FString& channel, int64 uid, ESTREAM_SUBSCRIBE_STATE oldState, ESTREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState); onVideoSubscribeStateChanged?( channel: string, @@ -57,82 +45,94 @@ StreamSubscribeState oldState, StreamSubscribeState newState, int elapseSinceLastState)? onVideoSubscribeStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - + + + channel - 频道名。 - + 频道名。 + 频道名称。 + uid - 远端用户的 ID。 - + 远端用户的 ID。 + 远端用户的用户 ID。 + 远端用户 ID。 + oldState - 之前的订阅状态,详见 - 之前的订阅状态。 -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: -
        -
      • 远端用户: -
          -
        • 调用 () 停止发送本地视频流。
        • -
        • 调用 关闭本地视频模块。
        • -
        • 调用 () 关闭本地视频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端视频流: -
          -
        • 调用 时设置 autoSubscribeVideo,不自动订阅任何视频流。
        • -
        • 调用 时设置 mutedmute,停止接收远端视频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    + 之前的订阅状态,详见 + 上一个订阅状态: +
      +
    • (0):加入频道后的初始订阅状态。
    • +
    • (1):订阅远端流失败。可能原因包括:
        +
      • 远端用户:
          +
        • 调用 muteLocalVideoStream(true) 停止发送本地视频流。
        • +
        • 调用 禁用本地视频模块。
        • +
        • 调用 enableLocalVideo(false) 禁用本地视频采集。
        • +
        • 远端用户角色为观众。
        • +
        +
      • +
      • 本地用户:
          +
        • 在调用 joinChannel 时将 autoSubscribeVideo 设置为 ,表示不自动订阅任何视频流。
        • +
        • 调用 并将 muted 设置为 ,表示停止接收远端视频流。
        • +
        +
      • +
      +
    • +
    • (2):正在订阅中。
    • +
    • (3):已成功接收远端流,订阅成功。
    • +
    +
    + 之前的视频订阅状态,详见 + newState - 当前的订阅状态,详见 - 当前的订阅状态。 -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: - -
        -
      • 远端用户: - -
          -
        • 调用 () 停止发送本地视频流。
        • -
        • 调用 关闭本地视频模块。
        • -
        • 调用 () 关闭本地视频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端视频流: - -
          -
        • 调用 时设置 autoSubscribeVideo,不自动订阅任何视频流。
        • -
        • 调用 时设置 mutedmute,停止接收远端视频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    + 当前的订阅状态,详见 + 当前的订阅状态: +
      +
    • (0):加入频道后的初始订阅状态。
    • +
    • (1):订阅远端流失败。可能原因包括:
        +
      • 远端用户:
          +
        • 调用 muteLocalVideoStream(true) 停止发送本地视频流。
        • +
        • 调用 禁用本地视频模块。
        • +
        • 调用 enableLocalVideo(false) 禁用本地视频采集。
        • +
        • 远端用户角色为观众。
        • +
        +
      • +
      • 本地用户:
          +
        • 在调用 joinChannel 时将 autoSubscribeVideo 设置为 ,表示不自动订阅任何视频流。
        • +
        • 调用 并将 muted 设置为 ,表示停止接收远端视频流。
        • +
        +
      • +
      +
    • +
    • (2):正在订阅中。
    • +
    • (3):已成功接收远端流,订阅成功。
    • +
    +
    + 当前的视频订阅状态,详见 + 当前的订阅状态,详见 + elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 + 两次状态变化时间间隔(毫秒)。 + 从上一个状态到当前状态所经过的时间(毫秒)。 + 从前一个状态到当前状态所经历的时间(毫秒)。 + 从上一个状态变化到当前状态所经历的时间(毫秒)。 + + + engine + 你使用的 对象。 -
    +
    diff --git a/dita/RTC-NG/API/class_advancedaudiooptions.dita b/dita/RTC-NG/API/class_advancedaudiooptions.dita index 8f1489af8cf..35cf35b8dda 100644 --- a/dita/RTC-NG/API/class_advancedaudiooptions.dita +++ b/dita/RTC-NG/API/class_advancedaudiooptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="AdvancedAudioOptions" /> - 音频的高级选项。 + <ph keyref="AdvancedAudioOptions"/> + 配置高级音频选项。

    @@ -28,24 +28,21 @@ audioProcessingChannels = AudioProcessingChannelsEnum.AGORA_AUDIO_MONO_PROCESSING; } } - - __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject + + @interface AgoraAdvancedAudioOptions: NSObject @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels; @end struct AdvancedAudioOptions { - Optional<int> audioProcessingChannels; - - AdvancedAudioOptions() {} - ~AdvancedAudioOptions() {} + Optional<int> audioProcessingChannels; }; USTRUCT(BlueprintType) struct FAdvancedAudioOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvancedAudioOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvancedAudioOptions") bool audioProcessingChannels_SetValue = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvancedAudioOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvancedAudioOptions") int audioProcessingChannels = 0; FAdvancedAudioOptions(){} FAdvancedAudioOptions(const agora::rtc::AdvancedAudioOptions & AgoraData){ @@ -81,26 +78,33 @@ public: _$AdvancedAudioOptionsFromJson(json); Map<String, dynamic> toJson() => _$AdvancedAudioOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <title> <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - audioProcessingChannels - 音频前处理的声道数。详见 - 音频前处理的声道数:
      + + audioProcessingChannels + 音频前处理的声道数。详见 + 音频前处理的声道数:
      • (1):(默认)单声道。
      • (2):双声道。
      - 音频前处理的声道数: + 音频前处理的声道数:
      • 1: 单声道
      • 2: 双声道
      -
      -
    + 用于音频预处理的声道数: +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    + 用于音频预处理的通道数。详见 + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_advanceoptions.dita b/dita/RTC-NG/API/class_advanceoptions.dita index 4e4431f639d..89ae54f574f 100644 --- a/dita/RTC-NG/API/class_advanceoptions.dita +++ b/dita/RTC-NG/API/class_advanceoptions.dita @@ -1,4 +1,4 @@ - + <ph keyref="AdvanceOptions"/> @@ -28,7 +28,7 @@ constructor() { } }
    - __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject + @interface AgoraAdvancedVideoOptions : NSObject @property(assign, nonatomic) AgoraEncodingPreference encodingPreference; @property(assign, nonatomic) AgoraCompressionPreference compressionPreference; @property(assign, nonatomic) BOOL encodeAlpha; @@ -57,11 +57,11 @@ USTRUCT(BlueprintType) struct FAdvanceOptions { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") FENUMWRAP_ENCODING_PREFERENCE encodingPreference = EENUMCUSTOM_ENCODING_PREFERENCE::PREFER_AUTO; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") ECOMPRESSION_PREFERENCE compressionPreference = ECOMPRESSION_PREFERENCE::PREFER_QUALITY; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") bool encodeAlpha = false; FAdvanceOptions() {} @@ -116,13 +116,13 @@ class AdvanceOptions { const AdvanceOptions( {this.encodingPreference, this.compressionPreference, this.encodeAlpha}); - @JsonKey(name: 'encodingPreference') + @JsonKey(name: 'encodingPreference') final EncodingPreference? encodingPreference; - @JsonKey(name: 'compressionPreference') + @JsonKey(name: 'compressionPreference') final CompressionPreference? compressionPreference; - @JsonKey(name: 'encodeAlpha') + @JsonKey(name: 'encodeAlpha') final bool? encodeAlpha; factory AdvanceOptions.fromJson(Map<String, dynamic> json) => @@ -130,36 +130,38 @@ class AdvanceOptions { Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); } -

    +

    -
    - -
    自从
    -
    v4.1.0
    -
    -

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - encodingPreference + + encodingPreference 视频编码器偏好。详见 + 视频编码器的偏好设置。详见 - - compressionPreference + + compressionPreference 视频编码的压缩偏好。详见 + 视频编码的压缩偏好设置。详见 - - encodeAlpha - 当视频帧包含 Alpha 通道数据时,设置是否将 Alpha 数据编码并发送至远端: + + encodeAlpha + 当视频帧包含 Alpha 通道数据时,设置是否将 Alpha 数据编码并发送至远端:
    • :对 Alpha 数据进行编码发送。
    • :(默认)不对 Alpha 数据进行编码发送。
    -
    + 是否对视频帧中存在的 Alpha 数据进行编码并发送到远端: +
      +
    • :编码并发送 Alpha 数据。
    • +
    • :(默认)不编码也不发送 Alpha 数据。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/class_agorafacepositioninfo.dita b/dita/RTC-NG/API/class_agorafacepositioninfo.dita index c7cad08da1f..3aaa807d5c3 100644 --- a/dita/RTC-NG/API/class_agorafacepositioninfo.dita +++ b/dita/RTC-NG/API/class_agorafacepositioninfo.dita @@ -1,17 +1,17 @@ - + <ph keyref="AgoraFacePositionInfo"/> - 检测到的人脸信息。 + 本地视频中检测到的人脸信息。

    public static class AgoraFacePositionInfo { - public int x; - public int y; - public int width; - public int height; - public int distance; + public int x; + public int y; + public int width; + public int height; + public int distance; } export class AgoraFacePositionInfo { @@ -37,40 +37,50 @@ -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - x + + x

    人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。

    + 人脸在本地视频中的 x 坐标(单位:px)。以视频画面左上角为坐标原点,x 表示人脸左上角相对于原点的横向位移,同时也代表水印位置的左上角横坐标。 + 本地视频中人脸的 x 坐标(像素)。表示相对于原点的水平位置,原点为采集视频的左上角,x 坐标为人脸左上角的位置。
    - - y + + y

    人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。

    + 人脸在本地视频中的 y 坐标(单位:px)。以视频画面左上角为坐标原点,y 表示人脸左上角相对于原点的纵向位移。 + 本地视频中人脸的 y 坐标(像素)。以采集视频的左上角为原点,y 坐标表示人脸左上角相对于原点的垂直位移。
    - - width + + width

    人脸在画面中的宽度 (px)。

    + 人脸在本地视频中的宽度(单位:px)。 + 采集视频中人脸的宽度(像素)。
    - - height + + height

    人脸在画面中的高度 (px)。

    + 人脸在本地视频中的高度(单位:px)。 + 采集视频中人脸的高度(像素)。
    - - distance + + distance

    人脸距设备屏幕的距离 (cm)。

    + 人脸与设备屏幕之间的距离(单位:cm)。 + 人脸与设备屏幕之间的距离(厘米)。
    diff --git a/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita b/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita index eaf26607b83..ace7e065315 100644 --- a/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita +++ b/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="AgoraRhythmPlayerConfig" /> - 虚拟节拍器配置。 + <ph keyref="AgoraRhythmPlayerConfig"/> + 节拍器配置。

    @@ -25,11 +25,10 @@ return beatsPerMinute; } } - - __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject + + @interface AgoraRhythmPlayerConfig: NSObject @property (assign, nonatomic) int beatsPerMeasure; @property (assign, nonatomic) int beatsPerMinute; - @end struct AgoraRhythmPlayerConfig { int beatsPerMeasure; @@ -42,9 +41,9 @@ struct FAgoraRhythmPlayerConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraRhythmPlayerConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraRhythmPlayerConfig") int beatsPerMeasure = 4; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraRhythmPlayerConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraRhythmPlayerConfig") int beatsPerMinute = 60; FAgoraRhythmPlayerConfig(){} FAgoraRhythmPlayerConfig(const agora::rtc::AgoraRhythmPlayerConfig & AgoraData){ @@ -93,19 +92,21 @@ public: _$AgoraRhythmPlayerConfigFromJson(json); Map<String, dynamic> toJson() => _$AgoraRhythmPlayerConfigToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - beatsPerMeasure + + beatsPerMeasure 每小节的拍数,取值范围为 [1,9]。默认值为 4,即每小节包含 1 个强拍和 3 个弱拍。 + 每小节的节拍数,范围为 1 到 9。默认值为 4,表示每小节包含一个强拍和三个弱拍。 - - beatsPerMinute + + beatsPerMinute 节拍速度(拍/分钟),取值范围为 [60,360]。默认值为 60,即 1 分钟有 60 拍。 + 节拍速度(节拍数/分钟),范围为 60 到 360。默认值为 60,表示节拍器每分钟播放 60 个节拍。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita b/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita index 85d6cdfdfdb..1ebd2451131 100644 --- a/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita +++ b/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="AudioEncodedFrameObserverConfig" /> - 编码后音频的观测器设置。 + <ph keyref="AudioEncodedFrameObserverConfig"/> + 编码音频的观察者设置。

    @@ -15,8 +15,8 @@ encodingType = Constants.AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; } } - - __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject + + @interface AgoraAudioEncodedFrameDelegateConfig: NSObject @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType; @property (assign, nonatomic) AgoraAudioEncodingType encodingType; @end @@ -32,9 +32,9 @@ struct FAudioEncodedFrameObserverConfig { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioEncodedFrameObserverConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioEncodedFrameObserverConfig") EAUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType = EAUDIO_ENCODED_FRAME_OBSERVER_POSITION::AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioEncodedFrameObserverConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioEncodedFrameObserverConfig") FENUMWRAP_AUDIO_ENCODING_TYPE encodingType = EENUMCUSTOM_AUDIO_ENCODING_TYPE::AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; }; export class AudioEncodedFrameObserverConfig { @@ -82,42 +82,44 @@ struct FAudioEncodedFrameObserverConfig

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - postionType + + postionType -

    音频编码内容。详见

    +

    音频编码内容。详见

    音频编码内容:

      -
    • (1):仅编码本地用户的音频。
    • -
    • (2):仅编码所有远端用户的音频。
    • -
    • (3):编码本地和所有远端用户混音后的音频。
    • +
    • (1):仅编码本地用户的音频。
    • +
    • (2):仅编码所有远端用户的音频。
    • +
    • (3):编码本地和所有远端用户混音后的音频。

    + 音频观察者的位置。详见
    - - encodingType + + encodingType -

    音频编码类型。详见

    +

    音频编码类型。详见

    音频编码类型:

      -
    • :AAC 编码格式,16000 Hz 采样率,低音质。音频时长为 10 分钟的文件编码后大小约为 1.2 MB。
    • -
    • :AAC 编码格式,16000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • -
    • :AAC 编码格式,32000 Hz 采样率,低音质。音频时长为 10 分钟的文件编码后大小约为 1.2 MB。
    • -
    • :AAC 编码格式,32000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • -
    • :AAC 编码格式,32000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。
    • -
    • :AAC 编码格式,48000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • -
    • :AAC 编码格式,48000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。
    • -
    • :OPUS 编码格式,16000 Hz 采样率,低音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • -
    • :OPUS 编码格式,16000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • -
    • :OPUS 编码格式,48000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • -
    • :OPUS 编码格式,48000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。
    • +
    • :AAC 编码格式,16000 Hz 采样率,低音质。音频时长为 10 分钟的文件编码后大小约为 1.2 MB。
    • +
    • :AAC 编码格式,16000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • +
    • :AAC 编码格式,32000 Hz 采样率,低音质。音频时长为 10 分钟的文件编码后大小约为 1.2 MB。
    • +
    • :AAC 编码格式,32000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • +
    • :AAC 编码格式,32000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。
    • +
    • :AAC 编码格式,48000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • +
    • :AAC 编码格式,48000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。
    • +
    • :OPUS 编码格式,16000 Hz 采样率,低音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • +
    • :OPUS 编码格式,16000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • +
    • :OPUS 编码格式,48000 Hz 采样率,中音质。音频时长为 10 分钟的文件编码后大小约为 2 MB。
    • +
    • :OPUS 编码格式,48000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。

    + 音频编码类型。详见
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audioframe.dita b/dita/RTC-NG/API/class_audioframe.dita index 263f3d57994..5fe9cb5b5be 100644 --- a/dita/RTC-NG/API/class_audioframe.dita +++ b/dita/RTC-NG/API/class_audioframe.dita @@ -1,7 +1,7 @@ - + - <ph keyref="AudioFrame" /> + <ph keyref="AudioFrame"/> 原始音频数据。
    @@ -62,23 +62,17 @@ + ", timestamp=" + timestamp + '}'; } } - - -__attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject - + + __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger samplesPerChannel; - @property(assign, nonatomic) NSInteger bytesPerSample; - @property(assign, nonatomic) NSInteger channels; - @property(assign, nonatomic) NSInteger samplesPerSec; - @property(assign, nonatomic) void* _Nullable buffer; - @property(assign, nonatomic) int64_t renderTimeMs; - +@property(assign, nonatomic) int64_t presentationMs; @property(assign, nonatomic) NSInteger avSyncType; +@property(assign, nonatomic) uint32_t rtpTimestamp; @end struct AudioFrame { AUDIO_FRAME_TYPE type; @@ -104,21 +98,21 @@ __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject struct FAudioFrame { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") EAUDIO_FRAME_TYPE type; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int samplesPerChannel; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") EBYTES_PER_SAMPLE bytesPerSample; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int channels; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int samplesPerSec; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int64 buffer; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int64 renderTimeMs; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int avsync_type; }; export class AudioFrame { @@ -187,27 +181,29 @@ struct FAudioFrame { this.buffer, this.renderTimeMs, this.avsyncType}); -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - + type -

    音频帧类型,详见

    +

    音频帧类型,详见

    - - samplesPerChannel + + samplesPerChannel 每个声道的采样点数。 + 音频帧中每个声道的采样点数。 - - bytesPerSample + + bytesPerSample 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 + 每个采样点的字节数。对于 PCM,此参数通常设置为 16 位(2 字节)。 - channelschannelNums + channelschannelNums

    声道数量(如果是立体声,数据是交叉的)。

      @@ -216,34 +212,58 @@ struct FAudioFrame {

    - - samplesPerSec + + samplesPerSec sampleRataHz 每声道每秒的采样点数。 + 音频帧中每个声道的采样率。 - - buffer - RawBuffer + + buffer + RawBuffer

    声音数据缓存区(如果是立体声,数据是交叉存储的)。

    缓存区数据大小 buffer = samples × channels × bytesPerSample

    + 音频帧的数据缓冲区。当使用立体声通道时,数据缓冲区为交错排列。缓冲区大小计算方式为:samplesPerChannel × channels × bytesPerSample
    - - renderTimeMs + + renderTimeMs

    外部音频帧的渲染时间戳。

    你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。

    + 外部音频帧的时间戳(毫秒)。可用于还原采集音频帧的顺序,并在视频场景中同步音频和视频帧,包括使用外部视频源的场景。
    - - avsyncType avSyncType avsync_type + + avsyncType avSyncType avsync_type 保留参数。 timestamp 音频帧的时间戳。 + + channels + 音频声道数(如果为立体声,数据为交错排列)。 +
      +
    • 1:单声道。
    • +
    • 2:立体声。
    • +
    +
    +
    + + presentationMs + + + + avSyncType + 预留参数,供未来使用。 + + + rtpTimestamp + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audioparams.dita b/dita/RTC-NG/API/class_audioparams.dita index 6a4e83ffbc1..a9d8a64f1bc 100644 --- a/dita/RTC-NG/API/class_audioparams.dita +++ b/dita/RTC-NG/API/class_audioparams.dita @@ -1,8 +1,8 @@ - + <ph keyref="AudioParams"/> - 音频数据格式。 + 音频数据格式设置。

    @@ -26,16 +26,11 @@ public mode: Constants.RawAudioFrameOpMode = Constants.RawAudioFrameOpMode.READ_ONLY; public samplesPerCall: number = 1024; } - __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject - + @interface AgoraAudioParams : NSObject @property (assign, nonatomic) NSInteger sampleRate; - @property (assign, nonatomic) NSInteger channel; - @property (assign, nonatomic) AgoraAudioRawFrameOperationMode mode; - @property (assign, nonatomic) NSInteger samplesPerCall; - @end struct AudioParams { int sample_rate; @@ -104,21 +99,28 @@ @JsonKey(name: 'samples_per_call') final int? samplesPerCall; - factory AudioParams.fromJson(Map<String, dynamic> json) => + factory AudioParams.fromJson(Map<String, dynamic> json) => _$AudioParamsFromJson(json); - Map<String, dynamic> toJson() => _$AudioParamsToJson(this); + Map<String, dynamic> toJson() => _$AudioParamsToJson(this); } -

    +

    -

    你可以在以下 API 中传入 对象,用于设置对应回调报告的音频数据格式: +

    你可以在以下 API 中传入 对象,以设置对应回调的音频数据格式: + 对象,用于设置对应回调报告的音频数据格式:

      -
    • :设置 回调的数据格式。
    • -
    • :设置 回调的数据格式。
    • -
    • :设置 回调的数据格式。
    • -
    • :设置 回调的数据格式。
    • -

    +
  • :设置 回调的数据格式。
  • +
  • :设置 回调的数据格式。
  • +
  • :设置 回调的数据格式。
  • +
  • :设置 回调的数据格式。
  • +
      +
    • :设置 回调的音频数据格式。
    • +
    • :设置 回调的音频数据格式。
    • +
    • :设置 回调的音频数据格式。
    • +
    • :设置 回调的音频数据格式。
    • +
    +

    SDK 会根据 设置以下回调中的音频数据格式:

    • @@ -134,9 +136,9 @@
      <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - sampleRate - sample_rate + + sampleRate + sample_rate 数据的采样率,单位为 Hz,取值如下:
        @@ -146,29 +148,46 @@
      • 44100
      • 48000
      + 音频采样率(Hz),可设置为以下值之一: +
        +
      • 8000。
      • +
      • (默认)16000。
      • +
      • 32000。
      • +
      • 44100。
      • +
      • 48000。
      • +
      +
      - - channel - channels + + channel + channels 数据的声道数,取值如下:
      • 1:单声道(默认值)
      • 2:双声道
      + 音频声道数,可设置为以下值之一: +
        +
      • 1:(默认)单声道。
      • +
      • 2:立体声。
      • +
      +
      - - mode - 数据的使用模式。详见 + + mode + 数据的使用模式。详见 数据的使用模式,取值如下:
        -
      • (0): 只读模式,用户仅从 获取原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。
      • -
      • (2): 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。
      • +
      • (0): 只读模式,用户仅从 获取原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。
      • +
      • (2): 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。
      + 音频数据的使用模式。详见
      - - samplesPerCall - samples_per_call + + samplesPerCall + samples_per_call 数据的采样点数,如旁路推流应用中通常为 1024。 + 每次回调的采样点数,例如媒体推流时设置为 1024。
      diff --git a/dita/RTC-NG/API/class_audiorecordingconfiguration.dita b/dita/RTC-NG/API/class_audiorecordingconfiguration.dita index fe0a215a4cb..d3c540e4093 100644 --- a/dita/RTC-NG/API/class_audiorecordingconfiguration.dita +++ b/dita/RTC-NG/API/class_audiorecordingconfiguration.dita @@ -1,8 +1,8 @@ - + - <ph keyref="AudioRecordingConfiguration" /> - 录音配置。 + <ph keyref="AudioRecordingConfiguration"/> + 设置音频录制相关参数。

      @@ -45,7 +45,7 @@ this.recordingChannel = 1; } } - __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject + @interface AgoraAudioRecordingConfiguration : NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSUInteger sampleRate; @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption; @@ -97,17 +97,17 @@ struct FAudioRecordingConfiguration { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") - FString filePath = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") + FString filePath = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") bool encode = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") int sampleRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") EAUDIO_FILE_RECORDING_TYPE fileRecordingType = EAUDIO_FILE_RECORDING_TYPE::AUDIO_FILE_RECORDING_MIXED; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") EAUDIO_RECORDING_QUALITY_TYPE quality = EAUDIO_RECORDING_QUALITY_TYPE::AUDIO_RECORDING_QUALITY_LOW; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") int recordingChannel = 0; FAudioRecordingConfiguration(){} FAudioRecordingConfiguration(const agora::rtc::AudioRecordingConfiguration & AgoraData){ @@ -227,34 +227,35 @@ public: @JsonKey(name: 'recordingChannel') final int? recordingChannel; - factory AudioRecordingConfiguration.fromJson(Map<String, dynamic> json) => + factory AudioRecordingConfiguration.fromJson(Map<String, dynamic> json) => _$AudioRecordingConfigurationFromJson(json); - Map<String, dynamic> toJson() => _$AudioRecordingConfigurationToJson(this); + Map<String, dynamic> toJson() => _$AudioRecordingConfigurationToJson(this); } -

      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - filePath - 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:。 + + filePath + 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:

      请确保你指定的路径存在并且可写。

      + 录音文件的绝对路径(包括文件扩展名)。例如:
      - - encode + + encode codec 设置是否编码音频数据:
        -
      • : 将音频数据用 AAC 编码。
      • -
      • :(默认)不编码音频数据,直接保存录制的音频数据。
      • +
      • : 将音频数据用 AAC 编码。
      • +
      • :(默认)不编码音频数据,直接保存录制的音频数据。
      - - sampleRate + + sampleRate 录音采样率(Hz)。
      • 16000
      • @@ -263,49 +264,60 @@ public:
      • 48000
      -

      如果把该参数设为 44100 或 48000,为保证录音效果,建议录制 WAV 文件或 quality 的 AAC 文件。

      +

      如果把该参数设为 44100 或 48000,为保证录音效果,建议录制 WAV 文件或 quality 的 AAC 文件。

      + 录音的采样率(Hz)。支持以下取值:16000、(默认)32000、44100、48000。
      - - fileRecordingType - fileRecordOption + + fileRecordingType + fileRecordOption -

      录音内容。详见

      +

      录音内容。详见

      录音内容:

        -
      • (1):仅录制本地用户的音频。
      • -
      • (2):仅录制所有远端用户的音频。
      • -
      • (3): (默认)录制本地和所有远端用户混音后的音频。
      • +
      • (1):仅录制本地用户的音频。
      • +
      • (2):仅录制所有远端用户的音频。
      • +
      • (3): (默认)录制本地和所有远端用户混音后的音频。

      + 录音内容。详见
      - - quality + + quality -

      录音音质。详见

      +

      录音音质。详见

      录音音质:

        -
      • (0):低音质。例如,采样率为 32000 Hz,录音时长为 10 分钟的 AAC 文件大小约为 1.2 MB。
      • -
      • (1):(默认)中音质。例如,采样率为 32000 Hz,录音时长为 10 分钟的 AAC 文件大小约为 2 MB。
      • -
      • (2):高音质。例如,采样率为 32000 Hz,录音时长为 10 分钟的 AAC 文件大小约为 3.75 MB。
      • -
      • (3):超高音质。例如,采样率为 32000 Hz,录制 10 分钟的文件大小约为 7.5 M 左右。
      • +
      • (0):低音质。例如,采样率为 32000 Hz,录音时长为 10 分钟的 AAC 文件大小约为 1.2 MB。
      • +
      • (1):(默认)中音质。例如,采样率为 32000 Hz,录音时长为 10 分钟的 AAC 文件大小约为 2 MB。
      • +
      • (2):高音质。例如,采样率为 32000 Hz,录音时长为 10 分钟的 AAC 文件大小约为 3.75 MB。
      • +
      • (3):超高音质。例如,采样率为 32000 Hz,录制 10 分钟的文件大小约为 7.5 M 左右。

      该参数仅适用于 AAC 文件。

      + 录音质量。详见 。该参数仅适用于 AAC 文件。
      - - recordingChannel - 录制的音频声道。目前支持如下取值: + + recordingChannel + 录制的音频声道。目前支持如下取值:
      • 1:(默认)单声道。
      • 2: 双声道。

      实际录制的音频声道与你采集的音频声道有关:

      • 如果采集的音频为单声道,recordingChannel 设为 2, 则录制的音频为经过单声道数据拷贝后的双声道数据,而不是立体声。
      • 如果采集的音频为双声道,recordingChannel 设为 1,则录制的音频为经过双声道数据混合后的单声道数据。
      - 此外,集成方案也会影响最终录制的音频声道。因此,如果你希望录制立体声,请协助。

      + 此外,集成方案也会影响最终录制的音频声道。因此,如果你希望录制立体声,请协助。

      -
      + 录音的音频声道。支持以下取值: +
        +
      • 1:(默认)单声道。
      • +
      • 2:立体声。 实际录制的音频声道与采集的音频声道有关:
      • +
      • 如果采集的是单声道,且 recordingChannel 为 2,则录制的音频是从单声道复制的双声道数据,不是立体声;
      • +
      • 如果采集的是双声道,且 recordingChannel 为 1,则录制的音频是由双声道混合而成的单声道数据。 集成方案也会影响最终录制的音频声道。如需录制立体声,请联系技术支持。
      • +
      +
      +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audiotrackconfig.dita b/dita/RTC-NG/API/class_audiotrackconfig.dita index f436dd4ee1e..231df536426 100644 --- a/dita/RTC-NG/API/class_audiotrackconfig.dita +++ b/dita/RTC-NG/API/class_audiotrackconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="AudioTrackConfig" /> - 自定义音频轨道的配置选项。 + <ph keyref="AudioTrackConfig"/> + 自定义音频轨道的配置。

      @@ -17,16 +17,16 @@ } @Override public String toString() { - return "AudioTrackConfig{" - + "enableLocalPlayback=" + enableLocalPlayback + "enableAudioProcessing" - + enableAudioProcessing + '}'; + return "AudioTrackConfig{" + + "enableLocalPlayback=" + enableLocalPlayback + "enableAudioProcessing" + + enableAudioProcessing + '}'; } } export class AudioTrackConfig { public enableLocalPlayback: boolean = true; } - NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject + @interface AgoraAudioTrackConfig : NSObject @property (assign, nonatomic) BOOL enableLocalPlayback NS_SWIFT_NAME(enableLocalPlayback); @property (assign, nonatomic) BOOL enableAudioProcessing NS_SWIFT_NAME(enableAudioProcessing); @end @@ -42,7 +42,7 @@ struct FAudioTrackConfig { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioTrackConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioTrackConfig") bool enableLocalPlayback = true; }; export class AudioTrackConfig { @@ -68,35 +68,47 @@ struct FAudioTrackConfig @JsonKey(name: 'enableAudioProcessing') final bool? enableAudioProcessing; - factory AudioTrackConfig.fromJson(Map<String, dynamic> json) => + factory AudioTrackConfig.fromJson(Map<String, dynamic> json) => _$AudioTrackConfigFromJson(json); - Map<String, dynamic> toJson() => _$AudioTrackConfigToJson(this); + Map<String, dynamic> toJson() => _$AudioTrackConfigToJson(this); } -

      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - enableLocalPlayback - 是否启用本地音频播放: + + enableLocalPlayback + 是否启用本地音频播放:
      • :(默认) 启用本地音频播放。
      • :不启用本地音频播放。
      -
      - - enableAudioProcessing - 是否启用音频处理模块: + 是否启用本地音频播放设备: +
        +
      • :(默认)启用本地音频播放设备。
      • +
      • :不启用本地音频播放设备。
      • +
      +
      +
      + + enableAudioProcessing + 是否启用音频处理模块:
      • :启用音频处理模块,应用回声消除 (AEC)、降噪 (ANS) 和自动增益控制 (AGC) 效果。
      • :(默认)不启用音频处理模块。
      该参数设置仅对 类型的自定义音频采集轨道生效。
      -
      -
      + 是否启用音频处理模块: +
        +
      • :启用音频处理模块,应用回声消除(AEC)、噪声抑制(ANS)和自动增益控制(AGC)效果。
      • +
      • :(默认)不启用音频处理模块。 该参数仅在自定义音频采集中使用 时生效。
      • +
      +
      + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audiovolumeinfo.dita b/dita/RTC-NG/API/class_audiovolumeinfo.dita index 243386bf57c..767061a0683 100644 --- a/dita/RTC-NG/API/class_audiovolumeinfo.dita +++ b/dita/RTC-NG/API/class_audiovolumeinfo.dita @@ -1,8 +1,8 @@ - + - <ph keyref="AudioVolumeInfo" /> - 用户音量信息。 + <ph keyref="AudioVolumeInfo"/> + 用户音量相关信息。

    @@ -11,7 +11,7 @@ public int volume; public int vad; public double voicePitch; - } +} export class AudioVolumeInfo { public uid:number = 0; @@ -21,7 +21,7 @@ public voicePitch:number = 0; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @@ -38,13 +38,13 @@ struct FAudioVolumeInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") int64 uid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") int64 volume = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") int64 vad = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioVolumeInfo") float voicePitch = 0; FAudioVolumeInfo(){} FAudioVolumeInfo(const agora::rtc::AudioVolumeInfo & AgoraData){ @@ -124,13 +124,13 @@ public: _$AudioVolumeInfoFromJson(json); Map<String, dynamic> toJson() => _$AudioVolumeInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - uid + + uid

    用户 ID。 @@ -140,13 +140,16 @@ public:

  • 在远端用户的回调中,uid 为瞬时音量最高的远端用户(最多 3 位)的 ID。
  • + 用户 ID。 - 在本地用户的回调中, 为 0。 - 在远端用户的回调中,
    - - volume - 用户的音量,取值范围为 [0,255]。如果用户将自己静音(将 设为 ),但开启了音频采集,volume 的值表示本地采集信号的音量。如果用户调用了 ,则 volume 为用户混音后的音量。 + + volume + 用户的音量,取值范围为 [0,255]。如果用户将自己静音(将 设为 ),但开启了音频采集,volume 的值表示本地采集信号的音量。如果用户调用了 ,则 volume 为用户混音后的音量。 + 用户的音量,取值范围为 0(最低)到 255(最高)。 - 如果本地用户开启音频采集并调用 关闭音频发送时,volume 表示本地采集音频信号的音量值。 - 如果调用了 startAudioMixing,则该值表示混音后的音量值。 + 用户的音量,取值范围为 0(最低)到 255(最高)。如果本地用户开启了音频采集并调用 设置为 以静音,则 volume 表示本地采集的音频信号的音量。如果用户调用了 startAudioMixing,则 volume 表示混音后的音量。 - - vad + + vad

    本地用户的人声状态。 @@ -158,17 +161,21 @@ public:

    • vad 无法报告远端用户的人声状态。对于远端用户,vad 的值始终为 1。
    • -
    • 如需使用此参数,请在调用 时设置 reportVad
    • +
    • 如需使用此参数,请在调用 时设置 reportVad
    + 本地用户的语音活跃状态。 - 0:本地用户未说话。 - 1:本地用户正在说话。 - vad 参数不用于报告远端用户的语音状态,在远端用户的回调中该值始终为 1。 - 使用该参数需要在调用 时将 reportVad 设置为 + 本地用户的语音活动状态。 - 0:本地用户未说话。 - 1:本地用户正在说话。 - vad 参数不会报告远端用户的语音活动状态。在远端用户的回调中,vad 的值始终为 1。 - 若要使用该参数,调用 时必须将 reportVad 设置为
    - - voicePitch + + voicePitch

    本地用户的人声音调(Hz)。取值范围为 [0.0,4000.0]。

    voicePitch 无法报告远端用户的人声音调。对于远端用户,voicePitch 的值始终为 0.0。
    + 本地用户的语音音高,取值范围为 0.0 到 4000.0。 voicePitch 参数不会返回远端用户的语音音高,在远端用户回调中该值恒为 0.0。 + 本地用户的语音音高,取值范围为 0.0 到 4000.0。 voicePitch 参数不会报告远端用户的语音音高。在远端用户的回调中,voicePitch 的值始终为 0.0。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_beautyoptions.dita b/dita/RTC-NG/API/class_beautyoptions.dita index 8ce86812549..b47362e18bc 100644 --- a/dita/RTC-NG/API/class_beautyoptions.dita +++ b/dita/RTC-NG/API/class_beautyoptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="BeautyOptions" /> - 美颜选项。 + <ph keyref="BeautyOptions"/> + 图像增强选项设置。

    @@ -10,16 +10,14 @@ public static final int LIGHTENING_CONTRAST_LOW = 0; public static final int LIGHTENING_CONTRAST_NORMAL = 1; public static final int LIGHTENING_CONTRAST_HIGH = 2; - public int lighteningContrastLevel; public float lighteningLevel; public float smoothnessLevel; public float rednessLevel; public float sharpnessLevel; } - - __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject - + + @interface AgoraBeautyOptions : NSObject @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel; @property(nonatomic, assign) float lighteningLevel; @property(nonatomic, assign) float smoothnessLevel; @@ -53,15 +51,15 @@ struct FBeautyOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") ELIGHTENING_CONTRAST_LEVEL lighteningContrastLevel = ELIGHTENING_CONTRAST_LEVEL::LIGHTENING_CONTRAST_NORMAL; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") float lighteningLevel = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") float smoothnessLevel = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") float rednessLevel = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") float sharpnessLevel = 0; FBeautyOptions(){} FBeautyOptions(const agora::rtc::BeautyOptions & AgoraData){ @@ -171,44 +169,60 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <title> <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - lighteningContrastLevel + + lighteningContrastLevel -

    对比度,常与 lighteningLevel 搭配使用。取值越大,明暗对比程度越大。详见 +

    对比度,常与 lighteningLevel 搭配使用。取值越大,明暗对比程度越大。详见

      -
    • (0):低对比度。
    • -
    • (1):正常对比度。
    • -
    • (2):高对比度。
    • +
    • (0):低对比度。
    • +
    • (1):正常对比度。
    • +
    • (2):高对比度。

    + 对比度等级,用于配合 lighteningLevel 参数使用。值越大,图像中明暗差异越明显。 +
      +
    • LIGHTENING_CONTRAST_LOW (0):低对比度等级。
    • +
    • LIGHTENING_CONTRAST_NORMAL (1):标准对比度等级。
    • +
    • LIGHTENING_CONTRAST_HIGH (2):高对比度等级。
    • +
    +
    + 对比度等级,与 lighteningLevel 参数配合使用。值越大,明暗对比越强。详见
    - - lighteningLevel + + lighteningLevel -

    美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 0.70.60.0。取值越大,美白程度越大。

    +

    美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 0.70.60.0。取值越大,美白程度越大。

    + 美白等级,取值范围为 [0.0, 1.0]。0.0 表示使用原始亮度,默认值为 0.6。值越大,美白程度越明显。 + 美白等级。取值范围为 [0.0, 1.0],其中 0.0 表示原始亮度,默认值为 0.7。值越大,美白程度越高。
    - - smoothnessLevel + + smoothnessLevel -

    磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.50.50.0。取值越大,磨皮程度越大。

    +

    磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.50.0。取值越大,磨皮程度越大。

    + 磨皮等级,取值范围为 [0.0, 1.0]。0.0 表示使用原始磨皮效果,默认值为 0.5。值越大,磨皮程度越明显。 + 磨皮等级。取值范围为 [0.0, 1.0],其中 0.0 表示原始平滑度,默认值为 0.5。值越大,磨皮效果越明显。
    - - rednessLevel + + rednessLevel -

    红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.10.10.0。取值越大,红润程度越大。

    +

    红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.10.0。取值越大,红润程度越大。

    + 红润等级,取值范围为 [0.0, 1.0]。0.0 表示使用原始红润值,默认值为 0.1。值越大,红润程度越高。 + 红润等级。取值范围为 [0.0, 1.0],其中 0.0 表示原始红润度,默认值为 0.1。值越大,红润程度越高。
    - - sharpnessLevel + + sharpnessLevel -

    锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为 0.10.30.0。取值越大,锐化程度越大。

    +

    锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为 0.10.30.0。取值越大,锐化程度越大。

    + 锐化等级,取值范围为 [0.0, 1.0]。0.0 表示使用原始锐化程度,默认值为 0.3。值越大,画面越清晰。 + 锐化等级。取值范围为 [0.0, 1.0],其中 0.0 表示原始锐度,默认值为 0.1。值越大,图像越清晰。
    -
    \ 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..39475450996 100644 --- a/dita/RTC-NG/API/class_cachestatistics.dita +++ b/dita/RTC-NG/API/class_cachestatistics.dita @@ -1,124 +1,43 @@ - + - <ph keyref="CacheStatistics" /> - 缓存文件的统计数据。 + <ph keyref="CacheStatistics"/> + 统计缓存媒体文件的信息。

    - public class CacheStatistics { - @CalledByNative - public CacheStatistics() { - fileSize = 0; - cacheSize = 0; - downloadSize = 0; - } - private long fileSize; - 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 + + + @interface AgoraMediaPlayerCacheStatistics : NSObject @property(assign, nonatomic) NSInteger fileSize; @property(assign, nonatomic) NSInteger cacheSize; @property(assign, nonatomic) NSInteger downloadSize; @end - struct CacheStatistics { - int64_t fileSize; - int64_t cacheSize; - int64_t downloadSize; -}; - USTRUCT(BlueprintType) -struct FCacheStatistics { - GENERATED_BODY() -public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") - int64 fileSize = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") - int64 cacheSize = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") - int64 downloadSize = 0; - - FCacheStatistics(){} - FCacheStatistics(const agora::media::base::CacheStatistics& cacheStatistics) { - fileSize = cacheStatistics.fileSize; - cacheSize = cacheStatistics.cacheSize; - downloadSize = cacheStatistics.downloadSize; - } - agora::media::base::CacheStatistics CreateAgoraData() const { - agora::media::base::CacheStatistics cacheStatistics; - cacheStatistics.fileSize = fileSize; - cacheStatistics.cacheSize = cacheSize; - cacheStatistics.downloadSize = downloadSize; - return cacheStatistics; - } - void FreeAgoraData(agora::media::base::CacheStatistics & AgoraData) const { - - } -}; - export class CacheStatistics { - - fileSize?: number; - - cacheSize?: number; - - downloadSize?: number; -} - public class CacheStatistics - { - public Int64 fileSize { set; get; } - public Int64 cacheSize { set; get; } - public Int64 downloadSize { set; get; } - }; - export class CacheStatistics { - - fileSize?: number; - - cacheSize?: number; - - downloadSize?: number; -} - class CacheStatistics { - const CacheStatistics({this.fileSize, this.cacheSize, this.downloadSize}); - - @JsonKey(name: 'fileSize') - final int? fileSize; - - @JsonKey(name: 'cacheSize') - final int? cacheSize; - - @JsonKey(name: 'downloadSize') - final int? downloadSize; - - factory CacheStatistics.fromJson(Map<String, dynamic> json) => - _$CacheStatisticsFromJson(json); - - Map<String, dynamic> toJson() => _$CacheStatisticsToJson(this); -} -

    + + + + + +

    + +
    +

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - fileSize - 本次播放的媒体文件的大小,单位为字节。 + + fileSize + 正在播放的媒体文件的大小,单位为字节。 - - cacheSize - 本次播放的媒体文件已缓存的数据大小,单位为字节。 + + cacheSize + 希望缓存的媒体文件的大小,单位为字节。 - - downloadSize - 本次播放已下载的媒体文件大小,单位为字节。 + + downloadSize + 已下载的媒体文件的大小,单位为字节。
    -
    -
    \ No newline at end of file + + diff --git a/dita/RTC-NG/API/class_cameracapturerconfiguration.dita b/dita/RTC-NG/API/class_cameracapturerconfiguration.dita index 73d27e5e1f7..2eefbd13ed5 100644 --- a/dita/RTC-NG/API/class_cameracapturerconfiguration.dita +++ b/dita/RTC-NG/API/class_cameracapturerconfiguration.dita @@ -1,8 +1,8 @@ - + <ph keyref="CameraCapturerConfiguration"/> - 摄像头采集配置。 + 设置摄像头采集参数。

    @@ -158,58 +158,47 @@ public cameraFormat: CaptureFormat = new CaptureFormat(); public followEncodeDimensionRatio: boolean = true; } - __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject -#if TARGET_OS_IOS + @interface AgoraCameraCapturerConfiguration: NSObject @property (assign, nonatomic) AgoraCameraDirection cameraDirection; @property(assign, nonatomic) AgoraFocalLength cameraFocalLengthType; -#elif TARGET_OS_MAC @property (copy, nonatomic) NSString * _Nullable deviceId; -#endif - @property(assign, nonatomic) CGSize dimensions; - @property(assign, nonatomic) int frameRate; - @property(assign, nonatomic) BOOL followEncodeDimensionRatio; - @end struct CameraCapturerConfiguration { -#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) - Optional<CAMERA_DIRECTION> cameraDirection; - - Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType; +#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__) + Optional<CAMERA_DIRECTION> cameraDirection; #else - Optional<const char *> deviceId; + Optional<const char *> deviceId; #endif - #if defined(__ANDROID__) - Optional<const char *> cameraId; + Optional<const char *> cameraId; #endif - Optional<bool> followEncodeDimensionRatio; + Optional<bool> followEncodeDimensionRatio; VideoFormat format; - CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {} }; USTRUCT(BlueprintType) struct FCameraCapturerConfiguration { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") ECAMERA_DIRECTION cameraDirection = ECAMERA_DIRECTION::CAMERA_FRONT; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") ECAMERA_FOCAL_LENGTH_TYPE cameraFocalLengthType = ECAMERA_FOCAL_LENGTH_TYPE::CAMERA_FOCAL_LENGTH_DEFAULT; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") bool deviceId_SetValue = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") - FString deviceId = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + FString deviceId = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") bool cameraId_SetValue = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") - FString cameraId = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") + FString cameraId = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") FVideoFormat format = FVideoFormat(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") EAgoraOptional followEncodeDimensionRatio = EAgoraOptional::AGORA_NULL_VALUE; FCameraCapturerConfiguration(){} @@ -266,11 +255,11 @@ public: } public class CameraCapturerConfiguration : IOptionalJsonParse { - public Optional<CAMERA_DIRECTION> cameraDirection = new Optional<CAMERA_DIRECTION>(); - public Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType = new Optional<CAMERA_FOCAL_LENGTH_TYPE>(); - public Optional<string> deviceId = new Optional<string>(); - public Optional<string> cameraId = new Optional<string>(); - public Optional<bool> followEncodeDimensionRatio = new Optional<bool>(); + public Optional<CAMERA_DIRECTION> cameraDirection = new Optional<CAMERA_DIRECTION>(); + public Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType = new Optional<CAMERA_FOCAL_LENGTH_TYPE>(); + public Optional<string> deviceId = new Optional<string>(); + public Optional<string> cameraId = new Optional<string>(); + public Optional<bool> followEncodeDimensionRatio = new Optional<bool>(); public VideoFormat format; public CameraCapturerConfiguration() @@ -278,7 +267,7 @@ public: this.format = new VideoFormat(0, 0, 0); } - public CameraCapturerConfiguration(Optional<CAMERA_DIRECTION> cameraDirection, Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType, Optional<string> deviceId, Optional<string> cameraId, Optional<bool> followEncodeDimensionRatio, VideoFormat format) + public CameraCapturerConfiguration(Optional<CAMERA_DIRECTION> cameraDirection, Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType, Optional<string> deviceId, Optional<string> cameraId, Optional<bool> followEncodeDimensionRatio, VideoFormat format) { this.cameraDirection = cameraDirection; this.cameraFocalLengthType = cameraFocalLengthType; @@ -331,72 +320,105 @@ class CameraCapturerConfiguration { @JsonKey(name: 'format') final VideoFormat? format; - factory CameraCapturerConfiguration.fromJson(Map<String, dynamic> json) => + factory CameraCapturerConfiguration.fromJson(Map<String, dynamic> json) => _$CameraCapturerConfigurationFromJson(json); - Map<String, dynamic> toJson() => _$CameraCapturerConfigurationToJson(this); + Map<String, dynamic> toJson() => _$CameraCapturerConfigurationToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - cameraDirection - (可选)摄像头方向。详见 。 - 该参数仅适用于 Android 和 iOS 平台。 - - - cameraId - (可选)摄像头 ID。默认为前置摄像头对应的摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见 。 + + cameraDirection + (可选)摄像头方向。详见 。 + 该参数仅适用于 Android 和 iOS 平台。 + (可选)摄像头方向。详见 + (仅适用于 iOS,可选)摄像头方向。详见 + + + cameraId + (可选)摄像头 ID。默认为前置摄像头对应的摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见
      -
    • 该参数仅适用于 Android。
    • +
    • 该参数仅适用于 Android。
    • 该参数和 cameraDirection 均用于指定摄像头,二者为互斥关系,你可以按需选用其中之一,具体区别如下:
      • 通过 cameraDirection 指定摄像头的方式更为简便。你只需指定摄像头的方向(前置或后置),无需指定具体的摄像头 ID,SDK 会通过系统 API 去检索和确定实际的摄像头 ID。
      • 通过 cameraId 则可以更精确地指定某个特定的摄像头。对于多摄像头的设备,cameraDirection 无法识别或访问全部可用摄像头,这种情况建议使用 cameraId 直接指定你想要的摄像头 ID。
    -
    - - cameraFocalLengthType - (可选)摄像头的焦距类型。详见 。 + (可选)摄像头 ID,默认值为前置摄像头的 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见 Camera.openCameraManager.getCameraIdList。该参数仅适用于 Android 平台。该参数与 cameraDirection 互斥,你可以根据需要选择其中一个: +
      +
    • 使用 cameraDirection 指定摄像头方向(前置或后置)更为简单,SDK 会通过 Android 原生系统 API 获取并确认实际的摄像头 ID。
    • +
    • 使用 cameraId 可更精确地指定某个摄像头,适用于多摄像头设备,cameraDirection 无法识别或访问所有摄像头时,建议使用 cameraId
    • +
    +
    +
    + + cameraFocalLengthType + (可选)摄像头的焦距类型。详见
      -
    • 该参数仅适用于 Android 和 iOS。
    • -
    • 如需设置摄像头的焦距类型,仅支持通过 cameraDirection 指定摄像头,不支持通过 cameraId 进行指定。
    • -
    • 部分 iOS 设备的后置摄像头为多个摄像头组成的融合镜头,如双摄(广角和超广角)或三摄(广角、超广角和长焦),对于这种具备超广角能力的融合镜头,你可以通过以下任意一种方式实现超广角的采集效果: +
    • 该参数仅适用于 Android 和 iOS。
    • +
    • 如需设置摄像头的焦距类型,仅支持通过 cameraDirection 指定摄像头,不支持通过 cameraId 进行指定。
    • +
    • 部分 iOS 设备的后置摄像头为多个摄像头组成的融合镜头,如双摄(广角和超广角)或三摄(广角、超广角和长焦),对于这种具备超广角能力的融合镜头,你可以通过以下任意一种方式实现超广角的采集效果:
      • 方式一:将该参数设置为 (2)(超广角镜头)。
      • 方式二:将该参数设置为 (0)(标准镜头),然后调用 将相机缩放比例设置为小于 1.0 的数值,最小可以设置为 0.5。
      区别为方式一的超广角大小不可调节,方式二支持自由调节相机的缩放比例。
    -
    - - format - captureFormat - (可选)视频帧格式。详见 - - - dimension - (可选)视频帧的分辨率 (px)。默认值为 960 × 540。 - - - frameRate - (可选)视频帧的帧率 (fps)。默认值为 15。 - - - deviceId - (可选)摄像头的 ID。最大长度为 - 该参数仅适用于 Windows 和 macOS。 - - - followEncodeDimensionRatio - (可选)是否跟随 中设置的视频宽高比: + (仅适用于 iOS,可选)摄像头焦距类型。详见 。对于配备多摄像头的 iOS 设备(如双摄或三摄),你可以通过以下方式之一获取超广角视角的视频: +
      +
    • 方法一:将该参数设置为 (2)(超广角镜头)。
    • +
    • 方法二:将该参数设置为 (0)(标准镜头),然后调用 将变焦因子设置为小于 1.0 的值,最小为 0.5。两种方法的区别在于,方法一的超广角尺寸不可调整,而方法二支持自由调整变焦因子。
    • +
    +
    +
    + + format + captureFormat + (可选)视频帧格式。详见 + + + dimension + (可选)视频帧的分辨率 (px)。默认值为 960 × 540。 + + + frameRate + (可选)视频帧的帧率 (fps)。默认值为 15。 + (可选)视频帧的帧率(单位:fps)。默认值为 15。 + + + deviceId + (可选)摄像头的 ID。最大长度为 + 该参数仅适用于 Windows 和 macOS。 + 摄像头 ID,最大长度为 + (仅适用于 macOS)摄像头设备的 ID。 + + + followEncodeDimensionRatio + (可选)是否跟随 中设置的视频宽高比:
      -
    • :(默认) 跟随。SDK 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、 中的视频画面
    • +
    • :(默认) 跟随。SDK 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、 中的视频画面
    • :不跟随。SDK不改变采集到的视频帧宽高比。
    -
    -
    + (可选)是否遵循 中设置的视频宽高比: +
      +
    • :(默认)遵循设置的视频宽高比。SDK 会根据设置的视频宽高比裁剪采集的视频,并同步更新本地预览画面以及 中的视频帧。
    • +
    • :不裁剪采集的视频帧,SDK 不会更改采集视频帧的宽高比。
    • +
    +
    + (可选)是否遵循通过 设置的视频宽高比: +
      +
    • :(默认)遵循设置的视频宽高比。SDK 会根据设置的视频宽高比裁剪采集的视频,并同步更新本地预览画面以及 中的视频帧。
    • +
    • :不遵循设置的视频宽高比。SDK 不会更改采集视频帧的宽高比。
    • +
    +
    + + + dimensions + (可选)视频帧的尺寸(单位:像素)。默认值为 960 × 540。 + +
    diff --git a/dita/RTC-NG/API/class_channelmediainfo.dita b/dita/RTC-NG/API/class_channelmediainfo.dita index 98388c30c7b..1e65aeac41b 100644 --- a/dita/RTC-NG/API/class_channelmediainfo.dita +++ b/dita/RTC-NG/API/class_channelmediainfo.dita @@ -1,4 +1,4 @@ - + <ph keyref="ChannelMediaInfo"/> @@ -25,12 +25,10 @@ this.uid = uid; } }
    - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject - + @interface AgoraChannelMediaRelayInfo: NSObject @property (copy, nonatomic) NSString * _Nullable token; @property (copy, nonatomic) NSString * _Nullable channelName; @property (assign, nonatomic) NSUInteger uid; -- (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token; @end struct ChannelMediaInfo { const char* channelName; @@ -41,12 +39,12 @@ struct FChannelMediaInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") int64 uid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") - FString channelName = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") - FString token = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") + FString channelName = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") + FString token = ""; FChannelMediaInfo(){} FChannelMediaInfo(const agora::rtc::ChannelMediaInfo & AgoraData){ channelName = UTF8_TO_TCHAR(AgoraData.channelName); @@ -110,22 +108,23 @@ public: _$ChannelMediaInfoFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaInfoToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - channelName - 频道名。 + + channelName + 频道名。 - - token + + token 能加入频道的 Token。 + 用于用户加入频道的临时 Token。 - - uid - 用户 ID。 + + uid + 用户 ID。
    diff --git a/dita/RTC-NG/API/class_channelmediaoptions.dita b/dita/RTC-NG/API/class_channelmediaoptions.dita index 24b8aac0170..7eca7f71ad6 100644 --- a/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -2,7 +2,7 @@ <ph keyref="ChannelMediaOptions"/> - 频道媒体设置选项。 + 设置频道的媒体选项。

    @@ -22,6 +22,7 @@ public Boolean publishMediaPlayerVideoTrack; public Boolean publishTranscodedVideoTrack; public Boolean publishMixedAudioTrack; + public Boolean publishLipSyncTrack; public Boolean autoSubscribeAudio; public Boolean autoSubscribeVideo; public Boolean enableAudioRecordingOrPlayout; @@ -30,6 +31,7 @@ public Integer audienceLatencyLevel; public Integer defaultVideoStreamType; public Integer channelProfile; + public Integer audioDelayMs; public Integer mediaPlayerAudioDelayMs; public String token; public Boolean enableBuiltInMediaEncryption; @@ -37,6 +39,8 @@ public Boolean isInteractiveAudience; public Integer customVideoTrackId; public Boolean isAudioFilterable; + public Boolean startPreview; + public String parameters; public Boolean enableMultipath; public Integer uplinkMultipathMode; public Integer downlinkMultipathMode; @@ -106,30 +110,27 @@ public constructor() { } } - __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject + @interface AgoraRtcChannelMediaOptions : NSObject @property(assign, nonatomic) BOOL publishCameraTrack; @property(assign, nonatomic) BOOL publishSecondaryCameraTrack; @property(assign, nonatomic) BOOL publishMicrophoneTrack; -#if TARGET_OS_IPHONE @property(assign, nonatomic) BOOL publishScreenCaptureVideo; @property(assign, nonatomic) BOOL publishScreenCaptureAudio; -#elif TARGET_OS_MAC @property(assign, nonatomic) BOOL publishThirdCameraTrack; @property(assign, nonatomic) BOOL publishFourthCameraTrack; @property(assign, nonatomic) BOOL publishScreenTrack; @property(assign, nonatomic) BOOL publishSecondaryScreenTrack; @property(assign, nonatomic) BOOL publishThirdScreenTrack; @property(assign, nonatomic) BOOL publishFourthScreenTrack; -#endif @property(assign, nonatomic) BOOL publishCustomAudioTrack; @property(assign, nonatomic) NSInteger publishCustomAudioTrackId; - @property(assign, nonatomic) BOOL publishCustomVideoTrack; @property(assign, nonatomic) BOOL publishEncodedVideoTrack; @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack; @property(assign, nonatomic) BOOL publishTranscodedVideoTrack; @property(assign, nonatomic) BOOL publishMixedAudioTrack; +@property(assign, nonatomic) BOOL publishLipSyncTrack; @property(assign, nonatomic) BOOL autoSubscribeAudio; @property(assign, nonatomic) BOOL autoSubscribeVideo; @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout; @@ -138,62 +139,62 @@ @property(assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; @property(assign, nonatomic) AgoraVideoStreamType defaultVideoStreamType; @property(assign, nonatomic) AgoraChannelProfile channelProfile; +@property(assign, nonatomic) NSInteger audioDelayMs; +@property(assign, nonatomic) NSInteger mediaPlayerAudioDelayMs; @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; +@property(copy, nonatomic) NSString * _Nullable parameters; @property(assign, nonatomic) BOOL enableMultipath; @property(assign, nonatomic) AgoraMultipathMode uplinkMultipathMode; @property(assign, nonatomic) AgoraMultipathMode downlinkMultipathMode; @property(assign, nonatomic) AgoraMultipathType preferMultipathType; @end struct ChannelMediaOptions { - Optional<bool> publishCameraTrack; - Optional<bool> publishSecondaryCameraTrack; - Optional<bool> publishThirdCameraTrack; - Optional<bool> publishFourthCameraTrack; - Optional<bool> publishMicrophoneTrack; -#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) &amp; TARGET_OS_IPHONE) || defined(__OHOS__) - Optional<bool> publishScreenCaptureVideo; - Optional<bool> publishScreenCaptureAudio; -#else - Optional<bool> publishScreenTrack; - Optional<bool> publishSecondaryScreenTrack; - Optional<bool> publishThirdScreenTrack; - Optional<bool> publishFourthScreenTrack; -#endif - Optional<bool> publishCustomAudioTrack; - Optional<int> publishCustomAudioTrackId; - Optional<bool> publishCustomVideoTrack; - Optional<bool> publishEncodedVideoTrack; - Optional<bool> publishMediaPlayerAudioTrack; - Optional<bool> publishMediaPlayerVideoTrack; - Optional<bool> publishTranscodedVideoTrack; - Optional<bool> publishMixedAudioTrack; - Optional<bool> publishLipSyncTrack; - Optional<bool> autoSubscribeAudio; - Optional<bool> autoSubscribeVideo; - Optional<bool> enableAudioRecordingOrPlayout; - Optional<int> publishMediaPlayerId; - Optional<CLIENT_ROLE_TYPE> clientRoleType; - Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; - Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; - Optional<CHANNEL_PROFILE_TYPE> channelProfile; - - Optional<const char*> token; - Optional<bool> enableBuiltInMediaEncryption; - Optional<bool> publishRhythmPlayerTrack; - Optional<bool> isInteractiveAudience; - Optional<video_track_id_t> customVideoTrackId; - Optional<bool> isAudioFilterable; - - Optional<bool> enableMultipath; - Optional<MultipathMode> uplinkMultipathMode; - Optional<MultipathMode> downlinkMultipathMode; - Optional<MultipathType> preferMultipathType; +Optional<bool> publishCameraTrack; +Optional<bool> publishSecondaryCameraTrack; +Optional<bool> publishThirdCameraTrack; +Optional<bool> publishFourthCameraTrack; +Optional<bool> publishMicrophoneTrack; +Optional<bool> publishScreenCaptureVideo; +Optional<bool> publishScreenCaptureAudio; +Optional<bool> publishScreenTrack; +Optional<bool> publishSecondaryScreenTrack; +Optional<bool> publishThirdScreenTrack; +Optional<bool> publishFourthScreenTrack; +Optional<bool> publishCustomAudioTrack; +Optional<int> publishCustomAudioTrackId; +Optional<bool> publishCustomVideoTrack; +Optional<bool> publishEncodedVideoTrack; +Optional<bool> publishMediaPlayerAudioTrack; +Optional<bool> publishMediaPlayerVideoTrack; +Optional<bool> publishTranscodedVideoTrack; +Optional<bool> publishMixedAudioTrack; +Optional<bool> publishLipSyncTrack; +Optional<bool> autoSubscribeAudio; +Optional<bool> autoSubscribeVideo; +Optional<bool> enableAudioRecordingOrPlayout; +Optional<int> publishMediaPlayerId; +Optional<CLIENT_ROLE_TYPE> clientRoleType; +Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel; +Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType; +Optional<CHANNEL_PROFILE_TYPE> channelProfile; +Optional<int> audioDelayMs; +Optional<int> mediaPlayerAudioDelayMs; +Optional<const char*> token; +Optional<bool> enableBuiltInMediaEncryption; +Optional<bool> publishRhythmPlayerTrack; +Optional<bool> isInteractiveAudience; +Optional<video_track_id_t> customVideoTrackId; +Optional<bool> isAudioFilterable; +Optional<const char*> parameters; +Optional<bool> enableMultipath; +Optional<MultipathMode> uplinkMultipathMode; +Optional<MultipathMode> downlinkMultipathMode; +Optional<MultipathType> preferMultipathType; }; USTRUCT(BlueprintType) struct FChannelMediaOptions @@ -714,24 +715,42 @@ class ChannelMediaOptions {

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - publishCameraTrack + + publishCameraTrack 设置是否发布摄像头采集的视频:
    • :发布摄像头采集的视频。
    • :不发布摄像头采集的视频。
    + 是否发布由摄像头采集的视频: +
      +
    • :发布摄像头采集的视频。
    • +
    • :不发布摄像头采集的视频。
    • +
    +
    + 是否发布摄像头采集的视频: +
      +
    • :发布摄像头采集的视频。
    • +
    • :不发布摄像头采集的视频。
    • +
    +
    - - publishSecondaryCameraTrack + + publishSecondaryCameraTrack 设置是否发布第二个摄像头采集的视频:
    • :发布第二个摄像头采集的视频。
    • :不发布第二个摄像头采集的视频。
    + 是否发布第二路摄像头采集的视频: +
      +
    • :发布第二路摄像头采集的视频。
    • +
    • :不发布第二路摄像头采集的视频。
    • +
    +
    - - publishMicrophoneTrack + + publishMicrophoneTrack 设置是否发布麦克风采集到的音频:
    • :发布麦克风采集到的音频。
    • @@ -745,27 +764,57 @@ class ChannelMediaOptions {
    • 如果你想要发布麦克风采集到的音频流,请确保 enableAudioRecordingOrPlayout 设为
    + 是否发布麦克风采集的音频: +
      +
    • :发布麦克风采集的音频。
    • +
    • :不发布麦克风采集的音频。
    • +
    +
    - - publishThirdCameraTrack + + publishThirdCameraTrack 设置是否发布第三个摄像头采集的视频:
    • :发布第三个摄像头采集的视频。
    • :不发布第三个摄像头采集的视频。
    该参数仅适用于 Android、Windows 和 macOS 平台。该参数仅适用于 Android 平台。
    + 是否发布由第三路摄像头采集的视频: +
      +
    • :发布第三路摄像头采集的视频。
    • +
    • :不发布第三路摄像头采集的视频。
    • +
    +
    + 是否发布第三路摄像头采集的视频: +
      +
    • :发布第三路摄像头采集的视频。
    • +
    • :不发布第三路摄像头采集的视频。
    • +
    +
    - - publishFourthCameraTrack + + publishFourthCameraTrack 设置是否发布第四个摄像头采集的视频:
    • :发布第四个摄像头采集的视频。
    • :不发布第四个摄像头采集的视频。
    该参数仅适用于 Android、Windows 和 macOS 平台。该参数仅适用于 Android 平台。
    + 是否发布由第四路摄像头采集的视频: +
      +
    • :发布第四路摄像头采集的视频。
    • +
    • :不发布第四路摄像头采集的视频。
    • +
    +
    + 是否发布第四路摄像头采集的视频: +
      +
    • :发布第四路摄像头采集的视频。
    • +
    • :不发布第四路摄像头采集的视频。
    • +
    +
    - - publishScreenTrack + + publishScreenTrack

    设置是否发布屏幕采集的视频:

      @@ -774,9 +823,15 @@ class ChannelMediaOptions {

    该参数仅适用于 Windows 和 macOS 平台。
    + 是否发布屏幕采集的视频: +
      +
    • :发布屏幕采集的视频。
    • +
    • :不发布屏幕采集的视频。
    • +
    +
    - publishScreenCaptureVideo + publishScreenCaptureVideo

    设置是否发布屏幕采集的视频:

      @@ -785,9 +840,15 @@ class ChannelMediaOptions {

    该参数仅适用于 Android 和 iOS 平台。 自 v4.0.0 起,该参数名称由 publishScreenTrack 改为 publishScreenCaptureVideo
    + 是否发布屏幕采集的视频: +
      +
    • :发布屏幕采集的视频。
    • +
    • :不发布屏幕采集的视频。
    • +
    +
    - - publishScreenCaptureAudio + + publishScreenCaptureAudio

    设置是否发布屏幕采集的音频:

      @@ -796,9 +857,15 @@ class ChannelMediaOptions {

    该参数仅适用于 Android 和 iOS 平台。
    + 是否发布屏幕采集的音频: +
      +
    • :发布屏幕采集的音频。
    • +
    • :不发布屏幕采集的音频。
    • +
    +
    - - publishSecondaryScreenTrack + + publishSecondaryScreenTrack 设置是否发布第二个屏幕采集的视频:
      @@ -806,9 +873,15 @@ class ChannelMediaOptions {
    • :不发布第二个屏幕采集到的视频。
    + 是否发布第二路屏幕采集的视频: +
      +
    • :发布第二路屏幕采集的视频。
    • +
    • :不发布第二路屏幕采集的视频。
    • +
    +
    - - publishThirdScreenTrack + + publishThirdScreenTrack 设置是否发布第三个屏幕采集的视频:
      @@ -818,9 +891,15 @@ class ChannelMediaOptions {

      该参数仅适用于 Windows 和 macOS 平台。

      + 是否发布第三路屏幕采集的视频: +
        +
      • :发布第三路屏幕采集的视频。
      • +
      • :不发布第三路屏幕采集的视频。
      • +
      +
      - - publishFourthScreenTrack + + publishFourthScreenTrack 设置是否发布第四个屏幕采集的视频:
        @@ -830,6 +909,12 @@ class ChannelMediaOptions {

        该参数仅适用于 Windows 和 macOS 平台。

        + 是否发布第四路屏幕采集的视频: +
          +
        • :发布第四路屏幕采集的视频。
        • +
        • :不发布第四路屏幕采集的视频。
        • +
        +
        publishTranscodedVideoTrack @@ -1042,8 +1127,8 @@ class ChannelMediaOptions {

        权限与系统要求: Android:Android 7.0 或更高版本(API 级别 24 或更高),需要 ACCESS_NETWORK_STATE 和 CHANGE_NETWORK_STATE 权限。 - iOS:iOS 12.0 或更高版本。 - macOS:10.14 或更高版本。 + iOS:iOS 12.0 或更高版本。 + macOS:10.14 或更高版本。 Windows:Windows Vista 或更高版本。

        diff --git a/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita b/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita index 9f9d9537df9..a833fae86eb 100644 --- a/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita +++ b/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita @@ -1,4 +1,4 @@ - + <ph keyref="ChannelMediaRelayConfiguration"/> @@ -40,11 +40,9 @@ public setSrcChannelInfo(srcInfo: ChannelMediaInfo) { this.srcInfo = srcInfo; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + @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:)); @end struct ChannelMediaRelayConfiguration { @@ -60,12 +58,12 @@ struct FChannelMediaRelayConfiguration { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") FChannelMediaInfo srcInfo = FChannelMediaInfo(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") TArray<FChannelMediaInfo> destInfos; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") int destCount = 0; FChannelMediaRelayConfiguration(){} FChannelMediaRelayConfiguration(const agora::rtc::ChannelMediaRelayConfiguration & AgoraData){ @@ -137,9 +135,9 @@ public: _$ChannelMediaRelayConfigurationFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaRelayConfigurationToJson(this); } -

        +

    -
    +
    方法 @@ -166,13 +164,13 @@ public:
    -
    +
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - srcInfo - sourceInfo - + + srcInfo + sourceInfo +

    源频道信息 ,包含如下成员:

    • channelName:源频道名。默认值为 ,表示 SDK 填充当前的频道名。
    • @@ -184,11 +182,22 @@ public:
    • uid:标识源频道中的转发媒体流的 UID。默认值为 0,请勿修改。

    + 源频道的 信息。包含以下成员: +
      +
    • channelName:源频道的名称。默认值为 ,表示 SDK 使用当前频道名称。
    • +
    • token:加入源频道的 Token,由你在 中设置的 channelName 生成。
        +
      • 如果你未启用 App 证书,请将该参数设置为默认值 ,表示 SDK 使用 App ID。
      • +
      • 如果你已启用 App 证书,必须使用由 channelName 生成的 Token,且
      • +
      +
    • +
    • :用于标识源频道中转发流的唯一用户 ID。声网建议保持默认值 0 不变。 详见
    • +
    +
    - - destInfos - destinationInfos - + + destInfos + destinationInfos +

    目标频道信息 ,包含如下成员:

    • channelName :目标频道的频道名。
    • @@ -202,6 +211,17 @@ public: uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到 (2 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。

    + 目标频道的 信息。包含以下成员: +
      +
    • channelName:目标频道的名称。
    • +
    • token:加入目标频道的 Token,由你在 destInfos 中设置的 channelName 生成。
        +
      • 如果你未启用 App 证书,请将该参数设置为默认值 ,表示 SDK 使用 App ID。
      • +
      • 如果你已启用 App 证书,必须使用由 channelName 生成的 Token。
      • +
      +
    • +
    • :用于标识目标频道中转发流的唯一用户 ID,取值范围为 0 到 (2<sup>32</sup>-1)。为避免用户 ID 冲突,该 ID 必须与目标频道中其他用户 ID 不同。默认值为 0,表示 SDK 自动生成随机 UID。 详见 。 如果任一目标频道的 Token 过期,整个跨频道媒体流转发将停止。因此,声网建议你为所有目标频道设置相同的 Token 过期时间。
    • +
    +
    destCount diff --git a/dita/RTC-NG/API/class_clientroleoptions.dita b/dita/RTC-NG/API/class_clientroleoptions.dita index 04b90c7613a..e7521ed9146 100644 --- a/dita/RTC-NG/API/class_clientroleoptions.dita +++ b/dita/RTC-NG/API/class_clientroleoptions.dita @@ -1,26 +1,20 @@ - + <ph keyref="ClientRoleOptions"/> - 用户角色属性设置。 + 设置用户角色属性。

    public class ClientRoleOptions { public int audienceLatencyLevel; - - @CalledByNative - public int getAudienceLatencyLevel() { - return audienceLatencyLevel; - } } export class ClientRoleOptions { public audienceLatencyLevel: Constants.AudienceLatencyLevel = Constants.AudienceLatencyLevel.LOW_LATENCY; } - __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject + @interface AgoraClientRoleOptions: NSObject @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; - @end struct ClientRoleOptions { @@ -33,7 +27,7 @@ struct FClientRoleOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ClientRoleOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ClientRoleOptions") EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel = EAUDIENCE_LATENCY_LEVEL_TYPE::AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY; FClientRoleOptions() {} FClientRoleOptions(const agora::rtc::ClientRoleOptions& AgoraData) { @@ -73,18 +67,25 @@ public: _$ClientRoleOptionsFromJson(json); Map<String, dynamic> toJson() => _$ClientRoleOptionsToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - audienceLatencyLevel - 观众端延时级别。详见 + + audienceLatencyLevel + 观众端延时级别。详见
    • (1): 低延时。
    • (2): (默认)超低延时。
    + 在互动直播中观众的延时级别。 +
      +
    • (1):低延时。
    • +
    • (2):(默认)超低延时。
    • +
    +
    + 互动直播中观众的延时等级。详见
    diff --git a/dita/RTC-NG/API/class_codeccapinfo.dita b/dita/RTC-NG/API/class_codeccapinfo.dita index 50b8242d953..1f6a5927d5c 100644 --- a/dita/RTC-NG/API/class_codeccapinfo.dita +++ b/dita/RTC-NG/API/class_codeccapinfo.dita @@ -1,8 +1,8 @@ - + <ph keyref="CodecCapInfo"/> - SDK 支持的编解码能力信息。 + SDK 的编解码器能力信息。

    @@ -25,8 +25,8 @@ this.codecCapMask = codecCapMask; } } - - __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject + + @interface AgoraVideoCodecCapInfo : NSObject @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) NSUInteger codecCapMask; @property(strong, nonatomic) AgoraVideoCodecCapLevels *_Nonnull codecCapLevels; @@ -40,11 +40,11 @@ struct FCodecCapInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") EVIDEO_CODEC_TYPE codecType = EVIDEO_CODEC_TYPE::VIDEO_CODEC_NONE; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") int codecCapMask = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") FCodecCapLevels codecLevels; FCodecCapInfo(){} FCodecCapInfo(const agora::rtc::CodecCapInfo & AgoraData){ @@ -94,27 +94,21 @@ class CodecCapInfo { @JsonKey(name: 'codecLevels') final CodecCapLevels? codecLevels; - factory CodecCapInfo.fromJson(Map<String, dynamic> json) => + factory CodecCapInfo.fromJson(Map<String, dynamic> json) => _$CodecCapInfoFromJson(json); - Map<String, dynamic> toJson() => _$CodecCapInfoToJson(this); + Map<String, dynamic> toJson() => _$CodecCapInfoToJson(this); }

    -
    - -
    自从
    -
    v4.2.0
    -
    -

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - codecType - 视频编解码类型。详见 + + codecType + 视频编解码类型。详见

    视频编解码类型:

      @@ -122,10 +116,11 @@ class CodecCapInfo {
    • 2:H.264。
    • 3:(默认)H.265。

    + 视频编解码器类型。详见
    - - codecCapMask - SDK 编解码类型的 bit mask。详见 + + codecCapMask + SDK 编解码类型的 bit mask。详见

    编解码类型的 bit mask:

      @@ -136,11 +131,13 @@ class CodecCapInfo {
    • 1 << 3:支持软件编码。

    + SDK 中编解码器类型的位掩码。详见
    - - codecLevels - codecCapLevels + + codecLevels + codecCapLevels SDK 支持的编解码能力等级。详见 + SDK 的编解码器能力。详见
    diff --git a/dita/RTC-NG/API/class_codeccaplevels.dita b/dita/RTC-NG/API/class_codeccaplevels.dita index 314593f05c5..4cdaba5b6c6 100644 --- a/dita/RTC-NG/API/class_codeccaplevels.dita +++ b/dita/RTC-NG/API/class_codeccaplevels.dita @@ -1,4 +1,4 @@ - + <ph keyref="CodecCapLevels"/> @@ -21,8 +21,8 @@ this.swDecodingLevel = swDecLevel; }; }; - - __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject + + @interface AgoraVideoCodecCapLevels : NSObject @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel hwDecodingLevel; @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel swDecodingLevel; @end @@ -36,9 +36,9 @@ struct FCodecCapLevels { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FCodecCapLevels") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FCodecCapLevels") FENUMWRAP_VIDEO_CODEC_CAPABILITY_LEVEL hwDecodingLevel; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FCodecCapLevels") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FCodecCapLevels") FENUMWRAP_VIDEO_CODEC_CAPABILITY_LEVEL swDecodingLevel; FCodecCapLevels() {} @@ -84,39 +84,35 @@ class CodecCapLevels { @JsonKey(name: 'swDecodingLevel') final VideoCodecCapabilityLevel? swDecodingLevel; - factory CodecCapLevels.fromJson(Map<String, dynamic> json) => + factory CodecCapLevels.fromJson(Map<String, dynamic> json) => _$CodecCapLevelsFromJson(json); - Map<String, dynamic> toJson() => _$CodecCapLevelsToJson(this); + Map<String, dynamic> toJson() => _$CodecCapLevelsToJson(this); }

    -
    - -
    自从
    -
    v4.2.2
    -
    -

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - hwDecodingLevel - 硬件解码能力等级,表示设备能够对不同品质视频进行硬件解码的能力。详见 + + hwDecodingLevel + 硬件解码能力等级,表示设备能够对不同品质视频进行硬件解码的能力。详见
    • (-1):不支持的视频类型。目前仅支持对 H.264 和 H.265 格式的视频进行查询,如果视频为其他格式,则返回该值。
    • (5):基本的编解码支持,即:对 1080p、30 fps 以下的视频进行编解码。
    • (10):最高支持对 1080p、30 fps 的视频进行编解码。
    • (20):最高支持对 1080p、60 fps 的视频进行编解码。
    • (30):最高支持对 4K、30 fps 的视频进行编解码。
    + 硬件解码能力等级,表示设备对不同质量视频进行硬件解码的能力。详见 +
    + + swDecodingLevel + 软件解码能力等级,表示设备能够对不同品质视频进行软件解码的能力。详见 + + 软件解码能力等级,表示设备对不同质量视频进行软件解码的能力。详见 - - swDecodingLevel - 软件解码能力等级,表示设备能够对不同品质视频进行软件解码的能力。详见 - -
    diff --git a/dita/RTC-NG/API/class_colorenhanceoptions.dita b/dita/RTC-NG/API/class_colorenhanceoptions.dita index 98e93255e79..6b0b404c54e 100644 --- a/dita/RTC-NG/API/class_colorenhanceoptions.dita +++ b/dita/RTC-NG/API/class_colorenhanceoptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="ColorEnhanceOptions" /> - 色彩增强选项。 + <ph keyref="ColorEnhanceOptions"/> + 颜色增强选项。

    @@ -20,12 +20,11 @@ skinProtectLevel = skinProtect; } } - + __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject @property(nonatomic, assign) float strengthLevel; @property(nonatomic, assign) float skinProtectLevel; -@end - +@end struct ColorEnhanceOptions { float strengthLevel; float skinProtectLevel; @@ -37,9 +36,9 @@ struct FColorEnhanceOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ColorEnhanceOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ColorEnhanceOptions") float strengthLevel = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ColorEnhanceOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ColorEnhanceOptions") float skinProtectLevel = 0; FColorEnhanceOptions(){} FColorEnhanceOptions(const agora::rtc::ColorEnhanceOptions & AgoraData){ @@ -90,25 +89,37 @@ public: final double? strengthLevel; @JsonKey(name: 'skinProtectLevel') final double? skinProtectLevel; - factory ColorEnhanceOptions.fromJson(Map<String, dynamic> json) => + factory ColorEnhanceOptions.fromJson(Map<String, dynamic> json) => _$ColorEnhanceOptionsFromJson(json); - Map<String, dynamic> toJson() => _$ColorEnhanceOptionsToJson(this); + Map<String, dynamic> toJson() => _$ColorEnhanceOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - strengthLevel + + strengthLevel 色彩增强程度。取值范围为 [0.0,1.0]。0.0 表示不对视频进行色彩增强。取值越大,色彩增强的程度越大。默认值为 0.5 + 颜色增强强度等级。取值范围为 [0.0, 1.0]。 +
      +
    • 0.0:表示不对视频进行颜色增强。
    • +
    • 数值越大,颜色增强效果越明显。 默认值为 0.5
    • +
    +
    - - skinProtectLevel + + skinProtectLevel

    肤色保护程度。取值范围为 [0.0,1.0]。0.0 表示不对肤色进行保护。取值越大,肤色保护的程度越大。默认值为 1.0

    • 当色彩增强程度较大时,人像肤色会明显失真,你需要设置肤色保护程度;
    • 肤色保护程度较大时,色彩增强效果会略微降低。
    因此,为获取最佳的色彩增强效果,建议你动态调节 strengthLevelskinProtectLevel 以实现最合适的效果。

    + 肤色保护等级。取值范围为 [0.0, 1.0]。 +
      +
    • 0.0:表示不启用肤色保护。
    • +
    • 数值越大,肤色保护效果越强。 默认值为 1.0。 当颜色增强等级较高时,人像肤色可能会出现明显失真,因此需要设置肤色保护等级。 当肤色保护等级较高时,颜色增强效果可能会略有降低。 为获得最佳的颜色增强效果,声网建议你根据实际情况调整 strengthLevelskinProtectLevel 的值。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_contentinspectconfig.dita b/dita/RTC-NG/API/class_contentinspectconfig.dita index d0c9e5c7e6b..53fd6164547 100644 --- a/dita/RTC-NG/API/class_contentinspectconfig.dita +++ b/dita/RTC-NG/API/class_contentinspectconfig.dita @@ -1,8 +1,8 @@ - + <ph keyref="ContentInspectConfig"/> - 本地截图上传配置。 + 视频截图上传配置。

    @@ -45,7 +45,7 @@ public moduleCount:number = 0; } - __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject + @interface AgoraContentInspectConfig: NSObject @property (nonatomic, copy) NSString* _Nullable extraInfo; @property (nonatomic, copy) NSString* _Nullable serverConfig; @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules; @@ -71,13 +71,13 @@ struct FContentInspectConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") - FString extraInfo = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") + FString extraInfo = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") FString serverConfig; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") TArray<FContentInspectModule> modules; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") int moduleCount = 0; FContentInspectConfig(){} FContentInspectConfig(const agora::media::ContentInspectConfig & AgoraData){ @@ -147,16 +147,16 @@ class ContentInspectConfig { const ContentInspectConfig( {this.extraInfo, this.serverConfig, this.modules, this.moduleCount}); - @JsonKey(name: 'extraInfo') + @JsonKey(name: 'extraInfo') final String? extraInfo; - @JsonKey(name: 'serverConfig') + @JsonKey(name: 'serverConfig') final String? serverConfig; - @JsonKey(name: 'modules') + @JsonKey(name: 'modules') final List<ContentInspectModule>? modules; - @JsonKey(name: 'moduleCount') + @JsonKey(name: 'moduleCount') final int? moduleCount; factory ContentInspectConfig.fromJson(Map<String, dynamic> json) => @@ -164,7 +164,7 @@ class ContentInspectConfig { Map<String, dynamic> toJson() => _$ContentInspectConfigToJson(this); } -

    +

    参数 @@ -185,28 +185,31 @@ class ContentInspectConfig { CONTENT_INSPECT_TYPE_IMAGE_MODERATION 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 - - extraInfo + + extraInfo

    附加信息,最大长度为 1024 字节。

    SDK 会将附加信息和截图一起上传至声网服务器;截图完成后,声网服务器会将附加信息随回调通知一起发送给你的服务器。

    SDK 会将附加信息和截图一起上传至声网内容审核服务器;审核完成后,声网内容审核服务器会将附加信息随审核结果一起发送给你的服务器。

    + 视频内容的附加信息(最大长度为 1024 字节)。SDK 会将视频截图和附加信息发送到声网服务器。视频截图和上传流程完成后,声网服务器会将附加信息和回调通知发送到你的服务器。
    - - serverConfig - (可选)云市场视频审核相关服务端配置,该参数仅在 中的 type 设置为 时生效。如需使用,请 + + serverConfig + (可选)云市场视频审核相关服务端配置,该参数仅在 中的 type 设置为 时生效。如需使用,请 + (可选)通过声网 Extensions Marketplace 上传视频截图的服务器配置。仅当 type 设置为 时该参数才生效。如需使用,请联系技术支持。 - - modules + + modules

    功能模块。详见

    最多支持配置 32 个 实例,MAX_CONTENT_INSPECT_MODULE_COUNT 的取值范围为 [1,32] 中的整数。

    一个功能模块最多只能配置一个实例。目前仅支持截图上传功能。
    + 功能模块。最多可配置 32 个 实例,MAX_CONTENT_INSPECT_MODULE_COUNT 的取值范围为 [1, 32] 的整数。详见 。每个功能模块最多只能配置一个实例。目前仅支持视频截图上传功能。
    - moduleCount + moduleCount 功能模块数,即配置的 实例的数量,必须与 modules 中配置的实例个数一致。最大值为 32。
    diff --git a/dita/RTC-NG/API/class_contentinspectmodule.dita b/dita/RTC-NG/API/class_contentinspectmodule.dita index 84c9162c0e1..b2168f1580a 100644 --- a/dita/RTC-NG/API/class_contentinspectmodule.dita +++ b/dita/RTC-NG/API/class_contentinspectmodule.dita @@ -2,120 +2,42 @@ <ph keyref="ContentInspectModule"/> - 结构体,用于配置本地截图上传的频率。 + 用于配置视频截图和上传频率的结构体。

    - public static class ContentInspectModule { - public int type; - public int interval; - public Constants.VideoModulePosition position; -} - export class ContentInspectModule { - - public type:Constants.ContentInspectType = Constants.ContentInspectType.INVALID; - - public interval:number = 0; -} - __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject + + + @interface AgoraContentInspectModule: NSObject @property (assign, nonatomic) AgoraContentInspectType type; @property (assign, nonatomic) NSInteger interval; @property (assign, nonatomic) AgoraVideoModulePosition position; @end - struct ContentInspectModule { - CONTENT_INSPECT_TYPE type; - unsigned int interval; - base::VIDEO_MODULE_POSITION position; - ContentInspectModule() { - type = CONTENT_INSPECT_INVALID; - interval = 0; - position = base::POSITION_PRE_ENCODER; - } -}; - USTRUCT(BlueprintType) -struct FContentInspectModule { - GENERATED_BODY() -public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectModule") - ECONTENT_INSPECT_TYPE type = ECONTENT_INSPECT_TYPE::CONTENT_INSPECT_INVALID; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectModule") - int64 interval = 0; - FContentInspectModule(){} - FContentInspectModule(const agora::media::ContentInspectModule & AgoraData){ - type = static_cast<ECONTENT_INSPECT_TYPE>(AgoraData.type); - interval = AgoraData.interval; - } - agora::media::ContentInspectModule CreateAgoraData() const { - agora::media::ContentInspectModule AgoraData; - AgoraData.type = static_cast<agora::media::CONTENT_INSPECT_TYPE>(type); - AgoraData.interval = interval; - return AgoraData; - } - void FreeAgoraData(agora::media::ContentInspectModule & AgoraData) const { - } -}; - export class ContentInspectModule { - - type?: ContentInspectType; - - interval?: number; -} - public class ContentInspectModule - { - public CONTENT_INSPECT_TYPE type; - public uint interval; - - public ContentInspectModule() - { - type = CONTENT_INSPECT_TYPE.CONTENT_INSPECT_INVALID; - interval = 0; - } - }; - export class ContentInspectModule { - - type?: ContentInspectType; - - interval?: number; -} - class ContentInspectModule { - - const ContentInspectModule({this.type, this.interval}); - @JsonKey(name: 'type') - final ContentInspectType? type; - @JsonKey(name: 'interval') - final int? interval; - factory ContentInspectModule.fromJson(Map<String, dynamic> json) => - _$ContentInspectModuleFromJson(json); - - Map<String, dynamic> toJson() => _$ContentInspectModuleToJson(this); -} -

    + + + + + +

    +
    +
    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - type - 功能模块的类型。详见 - -

    功能模块的类型: -

      -
    • (0):(默认)该功能模块无实际功能。请不要设为该值。
    • -
    • (1):视频鉴黄。SDK 会对视频流进行截图、鉴黄,并将截图和审核结果上传。
    • -
    • (2):使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。
    • -
    • (3):使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。
    • -

    -
    + + type + 功能模块的类型,详见 - - interval - 本地截图上传的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行截图上传。视频内容审核的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行内容审核。推荐值为 10 秒,你也可以根据业务需求自行调整。 + + interval + 视频截图和上传的频率(单位为秒)。该值必须大于 0。默认值为 0,表示 SDK 不进行截图。建议设置为 10 秒,可根据业务需求进行调整。 - - position - 视频观测的位置。详见 - 视频模块的位置。详见 + + position + 视频观察器的位置,详见
    -
    +
    diff --git a/dita/RTC-NG/API/class_datastreamconfig.dita b/dita/RTC-NG/API/class_datastreamconfig.dita index a320ec383e1..91a3b089205 100644 --- a/dita/RTC-NG/API/class_datastreamconfig.dita +++ b/dita/RTC-NG/API/class_datastreamconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="DataStreamConfig" /> - 数据流设置。 + <ph keyref="DataStreamConfig"/> + 数据流配置项。

    @@ -14,7 +14,7 @@ public syncWithAudio: boolean = false; public ordered: boolean = false; } - __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject + @interface AgoraDataStreamConfig: NSObject @property (assign, nonatomic) BOOL ordered; @property (assign, nonatomic) BOOL syncWithAudio; @end @@ -27,9 +27,9 @@ struct FDataStreamConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DataStreamConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DataStreamConfig") bool syncWithAudio = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DataStreamConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DataStreamConfig") bool ordered = false; FDataStreamConfig(){} FDataStreamConfig(const agora::rtc::DataStreamConfig & AgoraData){ @@ -73,15 +73,21 @@ public: _$DataStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$DataStreamConfigToJson(this); } -

    +

    -

    下表展示不同的参数设置下,SDK 的行为:

    +

    下表展示了在不同参数设置下 SDK 的行为: +| syncWithAudio | ordered | SDK 行为 | +|----------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| | | 接收端接收到数据包后,SDK 会立即触发 回调。| +| | | 如果数据包的延迟在音频延迟范围内,SDK 会在同步的音频包播放时触发回调;如果数据包延迟超过音频延迟,SDK 会在接收到数据包后立即触发回调。| +| | | 如果数据包延迟小于 5 秒,SDK 会对数据包进行顺序校正;如果延迟超过 5 秒,SDK 会丢弃该数据包。| +| | | 如果数据包延迟在音频延迟范围内,SDK 会对数据包进行顺序校正;如果延迟超过音频延迟,SDK 会丢弃该数据包。|

    - - - + + + syncWithAudio @@ -91,53 +97,65 @@ public: - - - 接收端接收到数据包后,SDK 立刻触发 回调。 + + + 接收端接收到数据包后,SDK 立刻触发 回调。 - - - 如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。如果数据包的延迟超出了音频延迟,SDK 会在接收到该数据包时立刻触发 回调;此情况会造成音频包和数据包的不同步。 + + + 如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。如果数据包的延迟超出了音频延迟,SDK 会在接收到该数据包时立刻触发 - - + + 如果数据包的延迟在 5 秒以内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出 5 秒,SDK 会丢弃该数据包。 - - + + 如果数据包的延迟在音频延迟的范围内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出音频延迟,SDK 会丢弃该数据包。
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - syncWithAudio + + syncWithAudio

    是否与本地发送的音频流同步。

      -
    • : 数据流与音频流同步。该设置适用于歌词同步等特殊场景。
    • -
    • : 数据流与音频流不同步。该设置适用于需要数据包立刻到达接收端的场景。
    • -
    设置数据流与音频流同步后,如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。

    +
  • : 数据流与音频流同步。该设置适用于歌词同步等特殊场景。
  • +
  • : 数据流与音频流不同步。该设置适用于需要数据包立刻到达接收端的场景。
  • + 设置数据流与音频流同步后,如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。

    + 是否将数据包与发布的音频包同步。 +
      +
    • :将数据包与音频包同步,适用于歌词同步等特殊场景。
    • +
    • :不与音频包同步,适用于需要数据包立即到达接收端的场景。
    • +
    +
    - - ordered + + ordered

    是否保证接收到的数据按发送的顺序排列。

      -
    • : 保证 SDK 按照发送方发送的顺序输出数据包。
    • -
    • : 不保证 SDK 按照发送方发送的顺序输出数据包。
    • -
    当需要数据包立刻到达接收端时,不能将该参数设置为

    +
  • : 保证 SDK 按照发送方发送的顺序输出数据包。
  • +
  • : 不保证 SDK 按照发送方发送的顺序输出数据包。
  • + 当需要数据包立刻到达接收端时,不能将该参数设置为

    + 是否保证接收端按发送顺序接收数据。 +
      +
    • :保证接收端按发送顺序接收数据。
    • +
    • :不保证接收端按发送顺序接收数据。 如果你希望接收端立即接收数据包,请不要将该参数设置为
    • +
    +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_echotestconfiguration.dita b/dita/RTC-NG/API/class_echotestconfiguration.dita index 3daf8273dec..d9a6ee1da9f 100644 --- a/dita/RTC-NG/API/class_echotestconfiguration.dita +++ b/dita/RTC-NG/API/class_echotestconfiguration.dita @@ -1,48 +1,21 @@ - + - <ph keyref="EchoTestConfiguration" /> - 音视频通话回路测试的配置。 + <ph keyref="EchoTestConfiguration"/> + 配置音视频通话回路测试。

    public class EchoTestConfiguration { - public SurfaceView view = null; - public boolean enableAudio = true; - public boolean enableVideo = true; - public String token = null; - public String channelId = null; - public int intervalInSeconds = 2; - - @CalledByNative - public EchoTestConfiguration(SurfaceView view, boolean enableAudio, boolean enableVideo, - String token, String channelId, int intervalInSeconds) { - this.view = view; - this.enableAudio = enableAudio; - this.enableVideo = enableVideo; - this.token = token; - this.channelId = channelId; - this.intervalInSeconds = intervalInSeconds; - } - - @CalledByNative - public EchoTestConfiguration( - SurfaceView view, boolean enableAudio, boolean enableVideo, String token, String channelId) { - this(view, enableAudio, enableVideo, token, channelId, 10); - } - - @CalledByNative - public EchoTestConfiguration() { - this.view = null; - this.enableAudio = true; - this.enableVideo = true; - this.token = null; - this.channelId = null; - } + public SurfaceView view = null; + public boolean enableAudio = true; + public boolean enableVideo = true; + public String token = null; + public String channelId = null; + public int intervalInSeconds = 2; } - - NS_SWIFT_NAME(AgoraEchoTestConfiguration) -__attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject + + @interface AgoraEchoTestConfiguration : NSObject @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view); @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio); @property(assign, nonatomic) BOOL enableVideo NS_SWIFT_NAME(enableVideo); @@ -70,17 +43,17 @@ struct FEchoTestConfiguration { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") UImage* view = nullptr; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") bool enableAudio = true; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") bool enableVideo = true; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") - FString token = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") - FString channelId = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") + FString token = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") + FString channelId = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") int intervalInSeconds = 2; FEchoTestConfiguration() {} @@ -170,54 +143,96 @@ class EchoTestConfiguration { @JsonKey(name: 'intervalInSeconds') final int? intervalInSeconds; - factory EchoTestConfiguration.fromJson(Map<String, dynamic> json) => + factory EchoTestConfiguration.fromJson(Map<String, dynamic> json) => _$EchoTestConfigurationFromJson(json); - Map<String, dynamic> toJson() => _$EchoTestConfigurationToJson(this); + Map<String, dynamic> toJson() => _$EchoTestConfigurationToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - view - 用于渲染本地用户视频的视图。该参数仅适用于测试视频设备的场景,请确保 enableVideo + + view + 用于渲染本地用户视频的视图。该参数仅适用于测试视频设备的场景,请确保 enableVideo + 用于渲染本地用户视频的视图。仅当测试视频设备时(即 设置为 )该参数才适用。详见 SurfaceView + 用于渲染本地用户视频的视图。该参数仅适用于测试视频设备的场景,即当 时。 - - enableAudio + + enableAudio 是否开启音频设备:
      -
    • : (默认) 开启音频设备。如需测试音频设备,请设为
    • -
    • : 关闭音频设备。
    • +
    • : (默认) 开启音频设备。如需测试音频设备,请设为
    • +
    • : 关闭音频设备。
    + 是否启用音频设备进行回路测试: +
      +
    • :(默认)启用音频设备。为了测试音频设备,请将此参数设置为
    • +
    • :不启用音频设备。
    • +
    +
    + 是否启用音频设备进行回路测试: +
      +
    • :(默认)启用音频设备。若需测试音频设备,请将该参数设置为
    • +
    • :不启用音频设备。
    • +
    +
    - - enableVideo + + enableVideo 是否开启视频设备:
      -
    • : (默认) 开启视频设备。如需测试视频设备,请设为
    • -
    • : 关闭视频设备。
    • +
    • : (默认) 开启视频设备。如需测试视频设备,请设为
    • +
    • : 关闭视频设备。
    是否开启视频设备。暂不支持视频设备检测,请将该参数设为 + 是否启用视频设备进行回路测试: +
      +
    • :(默认)启用视频设备。为了测试视频设备,请将此参数设置为
    • +
    • :不启用视频设备。
    • +
    +
    + 是否启用视频设备进行回路测试: +
      +
    • :(默认)启用视频设备。若需测试视频设备,请将该参数设置为
    • +
    • :不启用视频设备。
    • +
    +
    - - token + + token 用于保证音视频通话回路测试安全性的 Token。如果你在控制台未启用 App 证书,则不需要向该参数传值;如果你在控制台已启用 App 证书,则必须向该参数传入 Token,且在你生成 Token 时使用的 uid 必须为 0xFFFFFFFF,使用的频道名必须为标识每个音视频通话回路测试的频道名。服务端生成 Token 的方式请参考 + 用于保护音视频通话回路测试的动态密钥(Token)。如果在声网控制台未启用 App Certificate,此参数可以不填;如果启用了 App Certificate,则必须填写此参数。生成该 Token 时使用的 必须为 0xFFFFFFFF,且频道名必须为用于标识各次测试的频道名。服务端生成 Token 的方法详见文档。 + 用于保障音视频通话回路测试安全的 Token。如果你未在声网控制台启用 App Certificate,则无需传入该参数;若已启用 App Certificate,则必须传入 Token。生成 Token 时使用的 必须为 0xFFFFFFFF,频道名需为用于标识每次音视频通话回路测试的频道名。 - - channelId + + channelId 标识每个音视频通话回路测试的频道名。为保证回路测试功能正常,同一个项目(App ID) 的各终端用户在不同设备上做音视频通话回路测试时,传入的标识每个回路测试的频道名不能相同。 + 用于标识每次音视频通话回路测试的频道名。为保证回路测试的正常进行,当同一项目(App ID)的多个用户在不同设备上执行测试时,传入的频道名必须不同。 + 用于标识每次音视频通话回路的频道名。为确保回路测试功能正常,同一项目(App ID)下的用户在不同设备上进行音视频通话回路测试时,传入的频道名不能相同。 - - intervalInSeconds + + intervalInSeconds 设置返回音视频回路测试结果的时间间隔或延迟,取值范围为 [2,10],单位为秒,默认为 2 秒。
    • 对于音频回路测试,测试结果会根据你设置的时间间隔返回。
    • 对于视频回路测试,视频画面会在短时间内显示,之后延迟会逐渐增加,直至达到你设置的延迟。
    + 设置返回音视频回路测试结果的时间间隔或延迟,单位为秒,取值范围为 [2, 10],默认值为 2 秒。 +
      +
    • 对于音频回路测试,测试结果会根据你设置的时间间隔返回。
    • +
    • 对于视频回路测试,视频会在短时间内显示,随后延迟逐渐增加,直到达到你设置的延迟值。
    • +
    +
    + 设置音视频回路测试结果返回的时间间隔或延迟,单位为秒,取值范围为 [2,10],默认值为 2 秒。 +
      +
    • 对于音频回路测试,测试结果将按照设置的时间间隔返回。
    • +
    • 对于视频回路测试,视频会在短时间内显示,随后延迟逐渐增加,直到达到设置的延迟时间。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_encodedaudioframeinfo.dita b/dita/RTC-NG/API/class_encodedaudioframeinfo.dita index 113bd95ed30..5e5bc23bd11 100644 --- a/dita/RTC-NG/API/class_encodedaudioframeinfo.dita +++ b/dita/RTC-NG/API/class_encodedaudioframeinfo.dita @@ -1,18 +1,18 @@ - + - <ph keyref="EncodedAudioFrameInfo" /> - 编码后音频的信息。 + <ph keyref="EncodedAudioFrameInfo"/> + 编码后的音频信息。

    - - - __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject - @property (assign, nonatomic) NSInteger samplesPerChannel; - @property (assign, nonatomic) NSInteger channels; - @property (assign, nonatomic) NSInteger samplesPerSec; - @property (assign, nonatomic) AgoraAudioCodecType codecType; + + + @interface AgoraEncodedAudioFrameInfo: NSObject +@property (assign, nonatomic) NSInteger samplesPerChannel; +@property (assign, nonatomic) NSInteger channels; +@property (assign, nonatomic) NSInteger samplesPerSec; +@property (assign, nonatomic) AgoraAudioCodecType codecType; @end struct EncodedAudioFrameInfo { EncodedAudioFrameInfo() @@ -35,17 +35,17 @@ USTRUCT(BlueprintType) struct FEncodedAudioFrameInfo { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") EAUDIO_CODEC_TYPE codec; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") int sampleRateHz; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") int samplesPerChannel; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") int numberOfChannels; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") FEncodedAudioFrameAdvancedSettings advancedSettings; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") int64 captureTimeMs; }; export class EncodedAudioFrameInfo { @@ -136,43 +136,46 @@ struct FEncodedAudioFrameInfo { @JsonKey(name: 'captureTimeMs') final int? captureTimeMs; - factory EncodedAudioFrameInfo.fromJson(Map<String, dynamic> json) => + factory EncodedAudioFrameInfo.fromJson(Map<String, dynamic> json) => _$EncodedAudioFrameInfoFromJson(json); - Map<String, dynamic> toJson() => _$EncodedAudioFrameInfoToJson(this); + Map<String, dynamic> toJson() => _$EncodedAudioFrameInfoToJson(this); }

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - codec - codecType - 音频编码规格: + + codec + codecType + 音频编码规格: + 音频编解码器类型,详见 - - sampleRateHz - samplesPerSec + + sampleRateHz + samplesPerSec 音频采样率 (Hz)。 + 音频采样率(Hz)。 - - samplesPerChannel - 每个声道的音频采样数。 + + samplesPerChannel + 每个声道的音频采样数。 - - numberOfChannels - channels + + numberOfChannels + channels 声道数。 + 音频声道数。 - + advancedSettings 该功能暂不支持。 - - captureTimeMs - 采集外部编码视频帧的 Unix 时间戳 (ms)。 + + captureTimeMs + 采集外部编码视频帧的 Unix 时间戳 (ms)。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_encodedvideoframeinfo.dita b/dita/RTC-NG/API/class_encodedvideoframeinfo.dita index f166f907959..d0d1d7b6690 100644 --- a/dita/RTC-NG/API/class_encodedvideoframeinfo.dita +++ b/dita/RTC-NG/API/class_encodedvideoframeinfo.dita @@ -1,7 +1,7 @@ - + - <ph keyref="EncodedVideoFrameInfo" /> + <ph keyref="EncodedVideoFrameInfo"/> 外部编码视频帧的信息。
    @@ -106,9 +106,9 @@ } } - - __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject - + + @interface AgoraEncodedVideoFrameInfo: NSObject +@property (assign, nonatomic) NSInteger uid; @property (assign, nonatomic) AgoraVideoCodecType codecType; @property (assign, nonatomic) NSInteger width; @property (assign, nonatomic) NSInteger height; @@ -117,10 +117,9 @@ @property (assign, nonatomic) NSInteger rotation; @property (assign, nonatomic) NSInteger trackId; @property (assign, nonatomic) NSInteger captureTimeMs; -@property (assign, nonatomic) NSInteger uid; +@property (assign, nonatomic) NSInteger decodeTimeMs; @property (assign, nonatomic) AgoraVideoStreamType streamType; -@end - +@end struct EncodedVideoFrameInfo { EncodedVideoFrameInfo() : codecType(VIDEO_CODEC_H264), @@ -167,27 +166,27 @@ struct FEncodedVideoFrameInfo { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") EVIDEO_CODEC_TYPE codecType; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int width; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int height; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int framesPerSecond; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") EVIDEO_FRAME_TYPE frameType; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") FENUMWRAP_VIDEO_ORIENTATION rotation; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int trackId; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int64 captureTimeMs; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int64 decodeTimeMs; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") int64 uid; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") EVIDEO_STREAM_TYPE streamType; }; export class EncodedVideoFrameInfo { @@ -327,19 +326,19 @@ struct FEncodedVideoFrameInfo { @JsonKey(name: 'streamType') final VideoStreamType? streamType; - factory EncodedVideoFrameInfo.fromJson(Map<String, dynamic> json) => + factory EncodedVideoFrameInfo.fromJson(Map<String, dynamic> json) => _$EncodedVideoFrameInfoFromJson(json); - Map<String, dynamic> toJson() => _$EncodedVideoFrameInfoToJson(this); + Map<String, dynamic> toJson() => _$EncodedVideoFrameInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - codecType - 视频编码类型,详见 。默认值为 (2) + + codecType + 视频编码类型,详见 。默认值为 (2)

    视频编解码类型:

    • (1):VP8。
    • @@ -347,38 +346,43 @@ struct FEncodedVideoFrameInfo {
    • (3):(默认)H.265。
    在某些场景(如采集到的视频流分辨率过低、设备性能有限)下,SDK 会自动调整为 H.264 编码格式。

    + 本地视频流的编解码器类型,详见 。默认值为 AgoraVideoCodecTypeH264 (2)
    - - width + + width 视频帧的宽度 (px)。 + 视频帧的宽度(像素)。 - - height + + height 视频帧的高度 (px)。 + 视频帧的高度(像素)。 - - framesPerSecond + + framesPerSecond

    每秒的视频帧数。

    当该参数不为 0 时,你可以用它计算外部编码视频帧的 Unix 时间戳。

    + 当该参数不为 0 时,可用于计算外部编码视频帧的 Unix 时间戳。
    - - frameType - 视频帧的类型,详见 + + frameType + 视频帧的类型,详见 视频帧的类型:
      -
    • 0:(默认),空白帧。
    • -
    • 3:,关键帧。
    • -
    • 4:,Delta 帧。
    • -
    • 5:,B 帧。
    • -
    • 6:,未知。
    • +
    • 0:(默认),空白帧。
    • +
    • 3:,关键帧。
    • +
    • 4:,Delta 帧。
    • +
    • 5:,B 帧。
    • +
    • 6:,未知。
    + 视频帧类型,详见
    - - rotation - 视频帧的旋转信息,详见 + + rotation + 视频帧的旋转信息,详见 视频帧的旋转信息,取值如下:
      @@ -387,32 +391,36 @@ struct FEncodedVideoFrameInfo {
    • 180:顺时针旋转 180 度。
    • 270:顺时针旋转 270 度。
    -
    - - trackId - 预留参数。 + + + trackId + 预留参数。 轨道 ID。适用于频道中有多个视频轨道的场景。 - - captureTimeMs + + captureTimeMs 采集外部编码视频帧的 Unix 时间戳 (ms)。 + 采集外部编码视频帧时的 Unix 时间戳(毫秒)。 - - decodeTimeMs - 将外部编码视频帧进行解码的时间戳 (ms)。 + + decodeTimeMs + 将外部编码视频帧进行解码的时间戳 (ms)。 + - - uid + + uid 推送外部编码视频帧的用户 ID。 + 用于推送外部编码视频帧的用户 ID。 - - streamType - 视频流类型。详见 + + streamType + 视频流类型。详见
      -
    • (0):视频大流,即高分辨率、高码率视频流。
    • -
    • (1):视频小流,即低分辨率、低码率视频流。
    • +
    • (0):视频大流,即高分辨率、高码率视频流。
    • +
    • (1):视频小流,即低分辨率、低码率视频流。
    + 视频流的类型,详见
    diff --git a/dita/RTC-NG/API/class_encryptionconfig.dita b/dita/RTC-NG/API/class_encryptionconfig.dita index a789b307b24..5ff01f578d6 100644 --- a/dita/RTC-NG/API/class_encryptionconfig.dita +++ b/dita/RTC-NG/API/class_encryptionconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="EncryptionConfig" /> - 配置内置加密模式和密钥。 + <ph keyref="EncryptionConfig"/> + 内置加密配置。

    @@ -21,18 +21,17 @@ } export class EncryptionConfig { encryptionMode : EncryptionMode = EncryptionMode.AES_128_GCM2; - encryptionKey : string = ""; + encryptionKey : string = ""; encryptionKdfSalt : ArrayBuffer = new ArrayBuffer(32); public EncryptionConfig() { } } - __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject - - @property (assign, nonatomic) AgoraEncryptionMode encryptionMode; - @property (copy, nonatomic) NSString * _Nullable encryptionKey; - @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt; - @property (assign, nonatomic) BOOL datastreamEncryptionEnabled; - @end + @interface AgoraEncryptionConfig: NSObject +@property (assign, nonatomic) AgoraEncryptionMode encryptionMode; +@property (copy, nonatomic) NSString * _Nullable encryptionKey; +@property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt; +@property (assign, nonatomic) BOOL datastreamEncryptionEnabled; +@end struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; @@ -52,13 +51,13 @@ struct FEncryptionConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") EENCRYPTION_MODE encryptionMode = EENCRYPTION_MODE::AES_128_GCM; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") - FString encryptionKey = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") - FString encryptionKdfSalt = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") + FString encryptionKey = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") + FString encryptionKdfSalt = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") bool datastreamEncryptionEnabled = false; FEncryptionConfig(){} FEncryptionConfig(const agora::rtc::EncryptionConfig & AgoraData){ @@ -139,45 +138,54 @@ class EncryptionConfig { @JsonKey(name: 'datastreamEncryptionEnabled') final bool? datastreamEncryptionEnabled; - factory EncryptionConfig.fromJson(Map<String, dynamic> json) => + factory EncryptionConfig.fromJson(Map<String, dynamic> json) => _$EncryptionConfigFromJson(json); - Map<String, dynamic> toJson() => _$EncryptionConfigToJson(this); + Map<String, dynamic> toJson() => _$EncryptionConfigToJson(this); }

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - encryptionMode - -

    内置加密模式。详见 。建议使用 加密模式。这两种模式支持使用盐,安全性更高。

    + + encryptionMode + +

    内置加密模式。详见 。建议使用 加密模式。这两种模式支持使用盐,安全性更高。

    -
    - - encryptionKey - + 内置加密模式。详见 。声网建议使用 加密模式。这两种模式支持使用加密盐值以提升安全性。 + + + encryptionKey +

    内置加密密钥,字符串类型,长度无限制。建议使用 32 字节的密钥。

    - 如果未指定该参数或将该参数设置为 ,则无法启用内置加密,且 SDK 会返回错误码 -2
    -
    - - encryptionKdfSalt - + 如果未指定该参数或将该参数设置为 ,则无法启用内置加密,且 SDK 会返回错误码 -2 + 字符串类型的加密密钥,长度不受限制。声网建议使用 32 字节的密钥。 + + + encryptionKdfSalt +

    盐,长度为 32 字节。建议你在服务端使用 OpenSSL 生成盐。

    如需在 App 中添加声网内置媒体流加密,详见

    - 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0 + 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0
    -
    - - datastreamEncryptionEnabled - 是否开启数据流加密: + 用于加密的盐值,长度为 32 字节。声网建议你在服务器端使用 OpenSSL 生成该盐值。详见 Media Stream Encryption。详见 NSData + + + datastreamEncryptionEnabled + 是否开启数据流加密:
    • :开启数据流加密。
    • :(默认)关闭数据流加密。
    -
    -
    + 是否启用数据流加密: +
      +
    • :启用数据流加密。
    • +
    • :(默认)不启用数据流加密。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_externalvideoframe.dita b/dita/RTC-NG/API/class_externalvideoframe.dita index 9568acb89c3..90599608ca5 100644 --- a/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/dita/RTC-NG/API/class_externalvideoframe.dita @@ -1,4 +1,4 @@ - + <ph keyref="ExternalVideoFrame"/> @@ -56,40 +56,32 @@ 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 + + @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(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; - -- (void)fillAlphaData; @end struct ExternalVideoFrame { @@ -250,67 +242,67 @@ class ExternalVideoFrame { this.textureSliceIndex, this.colorSpace}); - @JsonKey(name: 'type') + @JsonKey(name: 'type') final VideoBufferType? type; - @JsonKey(name: 'format') + @JsonKey(name: 'format') final VideoPixelFormat? format; - @JsonKey(name: 'buffer', ignore: true) + @JsonKey(name: 'buffer', ignore: true) final Uint8List? buffer; - @JsonKey(name: 'stride') + @JsonKey(name: 'stride') final int? stride; - @JsonKey(name: 'height') + @JsonKey(name: 'height') final int? height; - @JsonKey(name: 'cropLeft') + @JsonKey(name: 'cropLeft') final int? cropLeft; - @JsonKey(name: 'cropTop') + @JsonKey(name: 'cropTop') final int? cropTop; - @JsonKey(name: 'cropRight') + @JsonKey(name: 'cropRight') final int? cropRight; - @JsonKey(name: 'cropBottom') + @JsonKey(name: 'cropBottom') final int? cropBottom; - @JsonKey(name: 'rotation') + @JsonKey(name: 'rotation') final int? rotation; - @JsonKey(name: 'timestamp') + @JsonKey(name: 'timestamp') final int? timestamp; - @JsonKey(name: 'eglType') + @JsonKey(name: 'eglType') final EglContextType? eglType; - @JsonKey(name: 'textureId') + @JsonKey(name: 'textureId') final int? textureId; - @JsonKey(name: 'matrix') + @JsonKey(name: 'matrix') final List<double>? matrix; - @JsonKey(name: 'metadataBuffer', ignore: true) + @JsonKey(name: 'metadataBuffer', ignore: true) final Uint8List? metadataBuffer; - @JsonKey(name: 'metadataSize') + @JsonKey(name: 'metadataSize') final int? metadataSize; - @JsonKey(name: 'alphaBuffer', ignore: true) + @JsonKey(name: 'alphaBuffer', ignore: true) final Uint8List? alphaBuffer; - @JsonKey(name: 'fillAlphaBuffer') + @JsonKey(name: 'fillAlphaBuffer') final bool? fillAlphaBuffer; - @JsonKey(name: 'alphaStitchMode') + @JsonKey(name: 'alphaStitchMode') final AlphaStitchMode? alphaStitchMode; - @JsonKey(name: 'd3d11Texture2d', readValue: readIntPtr) + @JsonKey(name: 'd3d11Texture2d', readValue: readIntPtr) final int? d3d11Texture2d; - @JsonKey(name: 'textureSliceIndex') + @JsonKey(name: 'textureSliceIndex') final int? textureSliceIndex; @JsonKey(name: 'colorSpace') @@ -326,22 +318,18 @@ class ExternalVideoFrame {
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - + type

    视频类型。详见

    - - format - 像素格式。详见 - 传入的视频帧的格式,必须指定为下面的某一个值: + + format + 像素格式。详见 + 传入的视频帧的格式,必须指定为下面的某一个值:
    • 1: I420。
    • @@ -364,24 +352,27 @@ class ExternalVideoFrame {
    • 4:RGBA。
    • 16:I422。
    + 输入视频帧的格式。该参数必须指定为以下值之一:1:I420;2:BGRA;3:NV21;4:RGBA;5:IMC2;7:ARGB;8:NV12;12:iOS 纹理(CVPixelBufferRef);16:I422。
    - - buffer + + buffer buf - dataBuf - 视频缓冲区。 + dataBuf + 视频缓冲区。 该参数仅适用于非 Texture 格式的视频数据。 - 原始数据缓冲区,该参数不用于 iOS 纹理。 + 原始数据缓冲区,该参数不用于 iOS 纹理。 + 原始数据缓冲区。该参数不适用于 iOS 纹理。 - - textureBuf + + textureBuf iOS 纹理的 Buffer。 + iOS 纹理的缓冲区。 - - stride + + stride 传入视频帧的行间距,单位为像素而不是字节。对于 Texture,该值指的是 Texture 的宽度。 -

    +

    弃用:
    @@ -391,9 +382,10 @@ class ExternalVideoFrame { 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。

    + 帧的行跨度,即相邻两行视频帧之间的像素数。此参数的单位为像素,而非字节。如果视频为纹理格式,请将此参数设置为纹理的宽度。如果视频帧格式为 12,请勿使用此字段。处理视频数据时,需要根据此参数处理每行像素数据之间的偏移,否则可能导致图像失真。 - - strideInPixels + + strideInPixels 该帧的行跨度,即相邻两行视频帧之间的像素点数。 @@ -403,10 +395,12 @@ class ExternalVideoFrame {
  • 如果视频帧格式设为 12,则不使用该字段。
  • 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。
  • + 输入视频帧的行跨度,单位为像素。对于纹理格式,该值为纹理的宽度。
    - - height + + height 传入视频帧的高度。 + 输入视频帧的高度。 textureID @@ -432,48 +426,49 @@ class ExternalVideoFrame { eglContext14 EGLContext14。该参数仅适用于 Texture 格式的视频数据。 - + eglContext 该参数仅适用于 Texture 格式的视频数据。 -
      +
      • 当使用 Khronos 定义的 OpenGL 接口 (javax.microedition.khronos.egl.*) 时,需要将 eglContext 设置给这个字段。
      • 当使用 Android 定义的 OpenGL 接口 (android.opengl.*) 时,需要将 eglContext 设置给这个字段。
      - + eglType 该参数仅适用于 Texture 格式的视频数据。指该视频帧的 Texture ID。 - + textureId 该参数仅适用于 Texture 格式的视频数据。为一个输入的 4x4 变换矩阵,典型值为一个单位矩阵。 - + matrix 该参数仅适用于 Texture 格式的视频数据。为一个输入的 4x4 变换矩阵,典型值为一个单位矩阵。 - + metadataBuffer 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的数据缓冲区,默认值为 NULL - + metadataSize 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的大小,默认值为 0 - + d3d11Texture2d 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D 类型对象的指针,该类型对象被视频帧所使用。 - - + + alphaBuffer - alphaBuf + alphaBuf

      采用人像分割算法输出的 Alpha 通道数据。该数据跟视频帧的尺寸一致,每个像素点的取值范围为 [0,255],其中 0 代表背景;255 代表前景(人像)。

      你可以通过设置该参数,实现将视频背景自渲染为各种效果,例如:透明、纯色、图片、视频等。

      在自定义视频渲染场景下,需确保传入的视频帧和 alphaBuffer 均为 Full Range 类型;其他类型可能导致 Alpha 数据渲染不正常。
      -
      - + 当前帧的 Alpha 通道数据,尺寸与视频帧一致。每个像素的取值范围为 [0, 255],其中 0 表示背景,255 表示前景。默认值为 + + fillAlphaBuffer fillAlphaData 该参数仅适用于 BGRA 或 RGBA 格式的视频数据。设置是否提取视频帧中的 Alpha 通道数据并自动填入到 alphaBuffer 中: @@ -486,53 +481,71 @@ class ExternalVideoFrame {
    • 通过将该参数设置为 自动填写。
    • 通过 alphaBuffer 参数设置。
    -
    - + + - + textureSliceIndex 该参数仅适用于 Windows Texture 格式的视频数据。表示在 ID3D11Texture2D 数组中,被视频帧使用的某一个 ID3D11Texture2D 纹理对象的索引。 - - cropLeft + + cropLeft 原始数据相关字段。指定左边裁剪掉的像素数量。默认为 0。 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 + 该参数仅适用于原始视频数据。 + 从左侧裁剪的像素数。默认值为 0。 - - cropTop + + cropTop 原始数据相关字段。指定顶边裁剪掉的像素数量。默认为 0。 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 + 该参数仅适用于原始视频数据。 + 从顶部裁剪的像素数。默认值为 0。 - - cropRight + + cropRight 原始数据相关字段。指定右边裁剪掉的像素数量。默认为 0。 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 + 该参数仅适用于原始视频数据。 + 从右侧裁剪的像素数。默认值为 0。 - - cropBottom + + cropBottom 原始数据相关字段。指定底边裁剪掉的像素数量。默认为 0。 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 + 该参数仅适用于原始视频数据。 + 从底部裁剪的像素数。默认值为 0。 - - rotation + + rotation 原始数据相关字段。指定是否对传入的视频组做顺时针旋转操作,可选值为 0, 90, 180, 270。默认为 0。 + 视频帧的顺时针旋转角度。可设置为 0、90、180 或 270。默认值为 0。 - - timestamp - time + + timestamp + time timeStamp 传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。 + 输入视频帧的时间戳(单位为毫秒)。时间戳设置不正确会导致帧丢失或音视频不同步。 - + + + image + + + + alphaStitchMode + 当视频帧包含 Alpha 通道数据时,表示 alphaBuf 与视频帧的相对位置。详见 + + + colorSpace + 视频帧的色彩空间属性,默认采用全范围和 BT.709 标准配置。详见 AgoraColorSpace +
    diff --git a/dita/RTC-NG/API/class_filtereffectoptions.dita b/dita/RTC-NG/API/class_filtereffectoptions.dita index c83bb8de808..31785723fd7 100644 --- a/dita/RTC-NG/API/class_filtereffectoptions.dita +++ b/dita/RTC-NG/API/class_filtereffectoptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="FilterEffectOptions" /> - 滤镜效果选项。 + <ph keyref="FilterEffectOptions"/> + 滤镜特效的参数选项。

    @@ -10,12 +10,11 @@ public String path = null; public float strength; } - - __attribute__((visibility("default"))) @interface AgoraFilterEffectOptions: NSObject + + @interface AgoraFilterEffectOptions: NSObject @property(nonatomic, copy) NSString* _Nullable path NS_SWIFT_NAME(path); @property(nonatomic, assign) float strength; -@end - +@end struct FilterEffectOptions { const char * path; float strength; @@ -40,20 +39,20 @@ public: path?: string; strength?: number; } - + export class FilterEffectOptions { path?: string; strength?: number; } - +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <title> <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - path + + path

    3D 立方体贴图文件的本地绝对路径,该文件用于实现自定义滤镜效果。引用的 .cube 文件必须严格遵循立方体查找表(Cube LUT)规范,否则滤镜效果无法生效。以下为 .cube 文件的示例: @@ -71,10 +70,18 @@ LUT_3D_SIZE 32

    + 本地 cube 贴图纹理文件的绝对路径,用于自定义滤镜特效。指定的 .cube 文件必须严格遵循 Cube LUT 格式规范,否则滤镜选项将不生效。以下是 .cube 文件的示例: +__MULTILINE_CODE_BLOCK_0__ +
      +
    • cube 文件第一行的标识符 LUT_3D_SIZE 表示三维查找表的大小。滤镜特效的 LUT 大小只能设置为 32。
    • +
    • SDK 提供了内置的 built_in_whiten_filter.cube 文件。你可以传入该文件的绝对路径以实现美白滤镜效果。
    • +
    +
    - - strength + + strength 滤镜效果强度,取值范围为 [0.0,1.0],其中 0.0 表示无滤镜效果,默认值为 0.5。取值越大,滤镜效果越强。 + 滤镜特效的强度。取值范围为 [0.0, 1.0],其中 0.0 表示无滤镜效果。默认值为 0.5。数值越大,滤镜效果越强。
    diff --git a/dita/RTC-NG/API/class_focallengthinfo.dita b/dita/RTC-NG/API/class_focallengthinfo.dita index 1e6187b7eba..ea4f9da0414 100644 --- a/dita/RTC-NG/API/class_focallengthinfo.dita +++ b/dita/RTC-NG/API/class_focallengthinfo.dita @@ -1,8 +1,8 @@ - + <ph keyref="FocalLengthInfo"/> - 摄像头支持的焦距信息,包含摄像头的方向以及焦距类型。 + 摄像头支持的焦距信息。

    @@ -26,8 +26,8 @@ '}'; } } - - __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject + + @interface AgoraFocalLengthInfo : NSObject @property(assign, nonatomic) int cameraDirection; @property(assign, nonatomic) AgoraFocalLength focalLengthType; @end @@ -39,9 +39,9 @@ struct FFocalLengthInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FFocalLengthInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FFocalLengthInfo") int cameraDirection = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FFocalLengthInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FFocalLengthInfo") ECAMERA_FOCAL_LENGTH_TYPE focalLengthType = ECAMERA_FOCAL_LENGTH_TYPE::CAMERA_FOCAL_LENGTH_DEFAULT; FFocalLengthInfo(){} FFocalLengthInfo(const agora::rtc::FocalLengthInfo & AgoraData){ @@ -89,32 +89,28 @@ class FocalLengthInfo { @JsonKey(name: 'focalLengthType') final CameraFocalLengthType? focalLengthType; - factory FocalLengthInfo.fromJson(Map<String, dynamic> json) => + factory FocalLengthInfo.fromJson(Map<String, dynamic> json) => _$FocalLengthInfoFromJson(json); - Map<String, dynamic> toJson() => _$FocalLengthInfoToJson(this); + Map<String, dynamic> toJson() => _$FocalLengthInfoToJson(this); }

    -
    - -
    自从
    -
    v4.3.1
    -
    -
    - 仅适用于 Android 和 iOS。 + 仅适用于 Android 和 iOS。

    参数 - - cameraDirection + + cameraDirection 摄像头方向。详见 + 摄像头方向,详见 - - focalLengthType + + focalLengthType 焦距类型。详见 + 焦距类型,详见
    diff --git a/dita/RTC-NG/API/class_imagetrackoptions.dita b/dita/RTC-NG/API/class_imagetrackoptions.dita index 7b9778e9700..bb465a9fe62 100644 --- a/dita/RTC-NG/API/class_imagetrackoptions.dita +++ b/dita/RTC-NG/API/class_imagetrackoptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="ImageTrackOptions" /> - 垫片图片的设置选项。 + <ph keyref="ImageTrackOptions"/> + 用于配置图像相关的参数。

    @@ -18,23 +18,25 @@ this.fps = fps; } } - + __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject @property(copy, nonatomic) NSString *_Nullable imageUrl; -@property(assign, nonatomic) int fps; +@property(assign, nonatomic) int fps; +@property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode; +@end struct ImageTrackOptions { const char* imageUrl; int fps; - ImageTrackOptions() : imageUrl(NULL), fps(1) {} + VIDEO_MIRROR_MODE_TYPE mirrorMode; }; USTRUCT(BlueprintType) struct FImageTrackOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ImageTrackOptions") - FString imageUrl = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ImageTrackOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ImageTrackOptions") + FString imageUrl = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ImageTrackOptions") int fps = 1; FImageTrackOptions(){} FImageTrackOptions(const agora::rtc::ImageTrackOptions & AgoraData){ @@ -83,26 +85,34 @@ public: @JsonKey(name: 'fps') final int? fps; - factory ImageTrackOptions.fromJson(Map<String, dynamic> json) => + factory ImageTrackOptions.fromJson(Map<String, dynamic> json) => _$ImageTrackOptionsFromJson(json); - Map<String, dynamic> toJson() => _$ImageTrackOptionsToJson(this); + Map<String, dynamic> toJson() => _$ImageTrackOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - imageUrl + + imageUrl 垫片图片的 URL,目前支持 JPEG、JPG、PNG、GIF 格式的图片。支持从本地绝对路径或相对路径添加垫片图片。 - 在 Android 平台上,不支持从 /assets/ 中添加垫片图片。 + 在 Android 平台上,不支持从 /assets/ 中添加垫片图片。 + 图像的 URL。支持的图像格式包括 JPEG、JPG、PNG 和 GIF。支持从本地的绝对路径或相对路径添加图像。在 Android 平台上,不支持从 /assets/ 添加图像。 + 图像的 URL。支持的图像格式包括 JPEG、JPG、PNG 和 GIF。支持通过本地的绝对路径或相对路径添加图像。 + + + fps + 视频帧率,取值范围为 [1,30]。默认值为 1。 + 发布的视频流的帧率,取值范围为 [1, 30],默认值为 1。 + 发布的视频流的帧率。取值范围为 [1, 30],默认值为 1。 + + + mirrorMode + 视频镜像模式。 - - fps - 视频帧率,取值范围为 [1,30]。默认值为 1。 -
    diff --git a/dita/RTC-NG/API/class_lastmileprobeconfig.dita b/dita/RTC-NG/API/class_lastmileprobeconfig.dita index 23a2d461217..333bb86015f 100644 --- a/dita/RTC-NG/API/class_lastmileprobeconfig.dita +++ b/dita/RTC-NG/API/class_lastmileprobeconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="LastmileProbeConfig" /> - Last mile 网络探测配置。 + <ph keyref="LastmileProbeConfig"/> + 配置最后一公里网络测试。

    @@ -26,7 +26,7 @@ constructor() { } } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject + @interface AgoraLastmileProbeConfig : NSObject @property (assign, nonatomic) BOOL probeUplink; @property (assign, nonatomic) BOOL probeDownlink; @property (assign, nonatomic) NSUInteger expectedUplinkBitrate; @@ -43,13 +43,13 @@ struct FLastmileProbeConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") bool probeUplink = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") bool probeDownlink = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") int expectedUplinkBitrate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") int expectedDownlinkBitrate = 0; FLastmileProbeConfig(){} FLastmileProbeConfig(const agora::rtc::LastmileProbeConfig & AgoraData){ @@ -127,39 +127,53 @@ public: _$LastmileProbeConfigFromJson(json); Map<String, dynamic> toJson() => _$LastmileProbeConfigToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - probeUplink + + probeUplink

    是否探测上行网络。有些用户,如直播频道中的普通观众,不需要进行网络探测:

      -
    • : 探测上行网络。
    • -
    • : 不探测上行网络。
    • +
    • : 探测上行网络。
    • +
    • : 不探测上行网络。

    + 是否测试上行网络。例如,在频道场景为 LIVE_BROADCASTING 时,观众角色的用户无需进行此测试: +
      +
    • :测试上行网络。
    • +
    • :不测试上行网络。
    • +
    +
    - - probeDownlink + + probeDownlink

    是否探测下行网络:

      -
    • : 探测下行网络。
    • -
    • : 不探测下行网络。
    • +
    • : 探测下行网络。
    • +
    • : 不探测下行网络。

    + 是否测试下行网络: +
      +
    • :测试下行网络。
    • +
    • :不测试下行网络。
    • +
    +
    - - expectedUplinkBitrate - 用户期望的最高发送码率,单位为 bps,范围为 [100000,5000000]。建议参考 中的码率值设置该参数的值。 + + expectedUplinkBitrate + 用户期望的最高发送码率,单位为 bps,范围为 [100000,5000000]。建议参考 中的码率值设置该参数的值。 + 本地用户期望的最大上行码率(bps)。取值范围为 [100000, 5000000]。建议参考 设置该值。 - - expectedDownlinkBitrate + + expectedDownlinkBitrate 用户期望的最高接收码率,单位为 bps,范围为 [100000,5000000]。 + 本地用户期望的最大下行码率(bps)。取值范围为 [100000, 5000000]。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita b/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita index 334e83564a3..d0cce3f620c 100644 --- a/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita +++ b/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita @@ -1,8 +1,8 @@ - + - <ph keyref="LastmileProbeOneWayResult" /> - 上行或下行 Last mile 网络质量探测结果。 + <ph keyref="LastmileProbeOneWayResult"/> + 上行或下行方向的 Last mile 网络探测结果。

    @@ -19,11 +19,11 @@ struct FLastmileProbeOneWayResult { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeOneWayResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeOneWayResult") int64 packetLossRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeOneWayResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeOneWayResult") int64 jitter = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeOneWayResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeOneWayResult") int64 availableBandwidth = 0; FLastmileProbeOneWayResult(){} FLastmileProbeOneWayResult(const agora::rtc::LastmileProbeOneWayResult & AgoraData){ @@ -42,10 +42,10 @@ public: } }; public static class LastmileProbeOneWayResult { - public int packetLossRate; - public int jitter; - public int availableBandwidth; - } + public int packetLossRate; + public int jitter; + public int availableBandwidth; +} export class LastmileProbeOneWayResult { public packetLossRate:number = 0; @@ -54,7 +54,7 @@ public: public availableBandwidth:number = 0; } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject + @interface AgoraLastmileProbeOneWayResult : NSObject @property (assign, nonatomic) NSUInteger packetLossRate; @property (assign, nonatomic) NSUInteger jitter; @property (assign, nonatomic) NSUInteger availableBandwidth; @@ -110,20 +110,22 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - packetLossRate - 丢包率。 + + packetLossRate + 丢包率。 - - jitter + + jitter 网络抖动 (ms)。 + 网络抖动。 - - availableBandwidth + + availableBandwidth 可用网络带宽预估 (bps)。 + 可用带宽,单位为 Kbps。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_lastmileproberesult.dita b/dita/RTC-NG/API/class_lastmileproberesult.dita index 6859df0f4b3..716bd24fdde 100644 --- a/dita/RTC-NG/API/class_lastmileproberesult.dita +++ b/dita/RTC-NG/API/class_lastmileproberesult.dita @@ -1,8 +1,8 @@ - + - <ph keyref="LastmileProbeResult" /> - 上下行 Last mile 网络质量探测结果。 + <ph keyref="LastmileProbeResult"/> + 提供上行和下行 Last-mile 网络测试的结果。

    @@ -19,13 +19,13 @@ struct FLastmileProbeResult { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") ELASTMILE_PROBE_RESULT_STATE state = ELASTMILE_PROBE_RESULT_STATE::LASTMILE_PROBE_RESULT_UNAVAILABLE; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") FLastmileProbeOneWayResult uplinkReport = FLastmileProbeOneWayResult(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") FLastmileProbeOneWayResult downlinkReport = FLastmileProbeOneWayResult(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeResult") int64 rtt = 0; FLastmileProbeResult(){} FLastmileProbeResult(const agora::rtc::LastmileProbeResult & AgoraData){ @@ -48,18 +48,16 @@ public: } }; public static class LastmileProbeResult { - public static class LastmileProbeOneWayResult { - public int packetLossRate; - public int jitter; - public int availableBandwidth; + public int packetLossRate; + public int jitter; + public int availableBandwidth; } - public short state; public int rtt; public LastmileProbeOneWayResult uplinkReport = new LastmileProbeOneWayResult(); public LastmileProbeOneWayResult downlinkReport = new LastmileProbeOneWayResult(); - } +} export class LastmileProbeResult { public state:number = 0; @@ -70,8 +68,7 @@ public: public downlinkReport:LastmileProbeOneWayResult = new LastmileProbeOneWayResult(); } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject - + @interface AgoraLastmileProbeResult : NSObject @property (assign, nonatomic) AgoraLastmileProbeResultState state; @property (assign, nonatomic) NSUInteger rtt; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport; @@ -138,34 +135,48 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - state + + 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 质量探测。一个可能的原因是网络连接中断。

    + Last-mile 网络测试的状态,包括: +
      +
    • (1):Last-mile 网络探测测试已完成。
    • +
    • (2):Last-mile 网络探测测试未完成,且未进行带宽预测。可能原因是测试资源暂时受限。
    • +
    • (3):未进行 Last-mile 网络探测测试,可能因为网络状况较差。
    • +
    +
    + 最后一公里网络测试的状态。详见
    - - uplinkReport - 上行网络质量报告。详见 + + uplinkReport + 上行网络质量报告。详见 + 上行 Last-mile 网络测试结果。详见 + 上行最后一公里网络测试结果。详见 - - downlinkReport - 下行网络质量报告。详见 + + downlinkReport + 下行网络质量报告。详见 + 下行 Last-mile 网络测试结果。详见 + 下行最后一公里网络测试结果。详见 - - rtt + + rtt 往返时延 (ms)。 + 往返时延,单位为毫秒。 + 往返时延(毫秒)。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_leavechanneloptions.dita b/dita/RTC-NG/API/class_leavechanneloptions.dita index a45bc8e2e37..eed15454a7b 100644 --- a/dita/RTC-NG/API/class_leavechanneloptions.dita +++ b/dita/RTC-NG/API/class_leavechanneloptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="LeaveChannelOptions" /> - 离开频道的选项。 + <ph keyref="LeaveChannelOptions"/> + 设置离开频道时的操作选项。

    @@ -24,29 +24,26 @@ this.stopMicrophoneRecording = true; } } - __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject + @interface AgoraLeaveChannelOptions : NSObject @property(nonatomic, assign) BOOL stopAudioMixing; @property(nonatomic, assign) BOOL stopAllEffect; @property(nonatomic, assign) BOOL stopMicrophoneRecording; - @end struct LeaveChannelOptions { bool stopAudioMixing; bool stopAllEffect; bool stopMicrophoneRecording; - LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {} -}; - +}; USTRUCT(BlueprintType) struct FLeaveChannelOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") bool stopAudioMixing = true; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") bool stopAllEffect = true; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") bool stopMicrophoneRecording = true; FLeaveChannelOptions() {} @@ -108,35 +105,74 @@ public: _$LeaveChannelOptionsFromJson(json); Map<String, dynamic> toJson() => _$LeaveChannelOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - stopAudioMixing + + stopAudioMixing 离开频道时,是否停止播放音乐文件及混音:
      -
    • :(默认)停止播放音乐文件及混音。
    • -
    • : 不停止播放音乐文件及混音。
    • +
    • :(默认)停止播放音乐文件及混音。
    • +
    • : 不停止播放音乐文件及混音。
    + 是否在用户离开频道时停止播放和混音音乐文件。 +
      +
    • :(默认)停止播放和混音音乐文件。
    • +
    • :不停止播放和混音音乐文件。
    • +
    +
    + 用户离开频道时是否停止播放和混音音乐文件。 +
      +
    • :(默认)停止播放和混音音乐文件。
    • +
    • :不停止播放和混音音乐文件。
    • +
    +
    + 用户离开频道时是否停止播放和混音音乐文件。
    - - stopAllEffect + + stopAllEffect 离开频道时,是否停止播放音效:
      -
    • :(默认)停止播放音效。
    • -
    • : 不停止播放音效。
    • +
    • :(默认)停止播放音效。
    • +
    • : 不停止播放音效。
    + 是否在用户离开频道时停止播放所有音效。 +
      +
    • :(默认)停止播放所有音效。
    • +
    • :不停止播放任何音效。
    • +
    +
    + 用户离开频道时是否停止播放所有音效。 +
      +
    • :(默认)停止播放所有音效。
    • +
    • :不停止播放任何音效。
    • +
    +
    + 用户离开频道时是否停止播放所有音效。
    - - stopMicrophoneRecording + + stopMicrophoneRecording 离开频道时,是否停止麦克风采集:
      -
    • :(默认)停止麦克风采集。
    • -
    • : 不停止麦克风采集。
    • +
    • :(默认)停止麦克风采集。
    • +
    • : 不停止麦克风采集。
    + 是否在用户离开频道时停止麦克风录制。 +
      +
    • :(默认)停止麦克风录制。
    • +
    • :不停止麦克风录制。
    • +
    +
    + 用户离开频道时是否停止麦克风录制。 +
      +
    • :(默认)停止麦克风录制。
    • +
    • :不停止麦克风录制。
    • +
    +
    + 用户离开频道时是否停止麦克风录制。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_livestreamadvancedfeature.dita b/dita/RTC-NG/API/class_livestreamadvancedfeature.dita index 9891652f2fd..deba26652ad 100644 --- a/dita/RTC-NG/API/class_livestreamadvancedfeature.dita +++ b/dita/RTC-NG/API/class_livestreamadvancedfeature.dita @@ -1,15 +1,14 @@ - + - <ph keyref="LiveStreamAdvancedFeature" /> - 转码推流的高级功能配置。 + <ph keyref="LiveStreamAdvancedFeature"/> + 配置带转码的 RTMP 或 RTMPS 推流高级功能。

    - - - __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject - + + + @interface AgoraLiveStreamAdvancedFeature : NSObject @property(copy, nonatomic) NSString* _Nullable featureName; @property(assign, nonatomic) BOOL opened; @end @@ -24,9 +23,9 @@ struct FLiveStreamAdvancedFeature { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveStreamAdvancedFeature") - FString featureName = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveStreamAdvancedFeature") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveStreamAdvancedFeature") + FString featureName = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveStreamAdvancedFeature") bool opened = false; FLiveStreamAdvancedFeature(){} FLiveStreamAdvancedFeature(const agora::rtc::LiveStreamAdvancedFeature & AgoraData){ @@ -82,28 +81,35 @@ public: _$LiveStreamAdvancedFeatureFromJson(json); Map<String, dynamic> toJson() => _$LiveStreamAdvancedFeatureToJson(this); } -

    +

    -

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

    -
    +

    如果你希望启用带转码的推流高级功能,请联系 support@agora.io。

    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - featureName + + featureName 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能) 和 VEO(优化的视频编码器功能)。 + 高级功能名称,包括 LBHQ(低码率高画质)和 VEO(优化的视频编码器)。 - - opened + + opened 是否启用转码推流的高级功能:
      -
    • :开启转码推流的高级功能。
    • -
    • :(默认)关闭转码推流的高级功能。
    • +
    • :开启转码推流的高级功能。
    • +
    • :(默认)关闭转码推流的高级功能。
    + 是否启用带转码的推流高级功能: +
      +
    • :启用高级功能。
    • +
    • :(默认)不启用高级功能。
    • +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita b/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita index 5952ff288e4..5ebc5eb27b5 100644 --- a/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita +++ b/dita/RTC-NG/API/class_localaudiomixerconfiguration.dita @@ -1,16 +1,16 @@ - + <ph keyref="LocalAudioMixerConfiguration"/> - 本地音频合流配置。 + 本地音频混音配置。

    public class LocalAudioMixerConfiguration { - public ArrayList<MixedAudioStream> audioInputStreams; + public ArrayList<MixedAudioStream> audioInputStreams; public boolean syncWithLocalMic; public LocalAudioMixerConfiguration() { - audioInputStreams = new ArrayList<MixedAudioStream>(); + audioInputStreams = new ArrayList<MixedAudioStream>(); syncWithLocalMic = true; } public static class MixedAudioStream { @@ -27,8 +27,8 @@ }; } - __attribute__((visibility("default"))) @interface AgoraLocalAudioMixerConfiguration: NSObject -@property(copy, nonatomic) NSArray<AgoraMixedAudioStream *> *_Nullable audioInputStreams; + @interface AgoraLocalAudioMixerConfiguration: NSObject +@property(copy, nonatomic) NSArray<AgoraMixedAudioStream *> *_Nullable audioInputStreams; @property(assign, nonatomic) BOOL syncWithLocalMic; @end struct LocalAudioMixerConfiguration { @@ -45,7 +45,7 @@ struct FUABT_LocalAudioMixerConfiguration { public: UPROPERTY(VisibleAnywhere, BlueprintReadWrite) - TArray<FUABT_MixedAudioStream> sourceStreams; + TArray<FUABT_MixedAudioStream> sourceStreams; UPROPERTY(VisibleAnywhere, BlueprintReadWrite) bool syncWithLocalMic; @@ -74,45 +74,46 @@ public: final int? streamCount; @JsonKey(name: 'audioInputStreams') - final List<MixedAudioStream>? audioInputStreams; + final List<MixedAudioStream>? audioInputStreams; @JsonKey(name: 'syncWithLocalMic') final bool? syncWithLocalMic; - factory LocalAudioMixerConfiguration.fromJson(Map<String, dynamic> json) => + factory LocalAudioMixerConfiguration.fromJson(Map<String, dynamic> json) => _$LocalAudioMixerConfigurationFromJson(json); - Map<String, dynamic> toJson() => _$LocalAudioMixerConfigurationToJson(this); + Map<String, dynamic> toJson() => _$LocalAudioMixerConfigurationToJson(this); }

    -
    - -
    自从
    -
    v4.5.0
    -
    -

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - streamCount - 在本地进行合流的音频流数量。 - - - audioInputStreams - 在本地进行合流的音频源。详见 - - - syncWithLocalMic - 合流后的音频流是否使用本地麦克风采集的音频帧时间戳: + + streamCount + 在本地进行合流的音频流数量。 + + + audioInputStreams + 在本地进行合流的音频源。详见 + 本地混音的音频流来源。详见 + + + syncWithLocalMic + 合流后的音频流是否使用本地麦克风采集的音频帧时间戳:
    • :(默认)使用本地麦克风采集的音频帧时间戳。如果要所有本地采集的音频流保持同步,你可以将参数设置为该值。
    • :不使用本地麦克风采集的音频帧时间戳,SDK 会采用合流的音频帧被构建时的时间戳。
    -
    + 混音音频流是否使用本地麦克风采集的音频帧的时间戳。 +
      +
    • :(默认)使用本地麦克风采集的音频帧时间戳。适用于希望本地采集的所有音频流保持同步的场景。
    • +
    • :使用音频帧混音时的时间戳。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/class_localaudiostats.dita b/dita/RTC-NG/API/class_localaudiostats.dita index 30aa2d76759..85839bdea98 100644 --- a/dita/RTC-NG/API/class_localaudiostats.dita +++ b/dita/RTC-NG/API/class_localaudiostats.dita @@ -1,21 +1,22 @@ - + - <ph keyref="LocalAudioStats" /> - 本地音频统计数据。 + <ph keyref="LocalAudioStats"/> + 本地音频统计信息。

    public static class LocalAudioStats { - public int numChannels; - public int sentSampleRate; - public int sentBitrate; - public int internalCodec; - public int txPacketLossRate; - public int audioDeviceDelay; - public int earMonitorDelay; - public int aecEstimatedDelay; -}; + public int numChannels; + public int sentSampleRate; + public int sentBitrate; + public int internalCodec; + public int txPacketLossRate; + public int audioDeviceDelay; + public int audioPlayoutDelay; + public int earMonitorDelay; + public int aecEstimatedDelay; +} export class LocalAudioStats { public numChannels:number = 0; @@ -36,16 +37,16 @@ public aecEstimatedDelay:number = 0; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger internalCodec; @property(assign, nonatomic) NSUInteger txPacketLossRate; @property(assign, nonatomic) NSUInteger audioDeviceDelay; +@property(assign, nonatomic) NSUInteger audioPlayoutDelay; @property(assign, nonatomic) NSUInteger earMonitorDelay; @property(assign, nonatomic) NSUInteger aecEstimatedDelay; - @end struct LocalAudioStats { @@ -63,22 +64,22 @@ struct FLocalAudioStats { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int numChannels = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int sentSampleRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int sentBitrate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int internalCodec = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") - int txPacketLossRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + int txPacketLossRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int audioDeviceDelay = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int audioPlayoutDelay = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int earMonitorDelay = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int aecEstimatedDelay = 0; FLocalAudioStats(){} FLocalAudioStats(const agora::rtc::LocalAudioStats & AgoraData){ @@ -170,31 +171,31 @@ class LocalAudioStats { this.earMonitorDelay, this.aecEstimatedDelay}); - @JsonKey(name: 'numChannels') + @JsonKey(name: 'numChannels') final int? numChannels; - @JsonKey(name: 'sentSampleRate') + @JsonKey(name: 'sentSampleRate') final int? sentSampleRate; - @JsonKey(name: 'sentBitrate') + @JsonKey(name: 'sentBitrate') final int? sentBitrate; - @JsonKey(name: 'internalCodec') + @JsonKey(name: 'internalCodec') final int? internalCodec; - @JsonKey(name: 'txPacketLossRate') + @JsonKey(name: 'txPacketLossRate') final int? txPacketLossRate; - @JsonKey(name: 'audioDeviceDelay') + @JsonKey(name: 'audioDeviceDelay') final int? audioDeviceDelay; - @JsonKey(name: 'audioPlayoutDelay') + @JsonKey(name: 'audioPlayoutDelay') final int? audioPlayoutDelay; - @JsonKey(name: 'earMonitorDelay') + @JsonKey(name: 'earMonitorDelay') final int? earMonitorDelay; - @JsonKey(name: 'aecEstimatedDelay') + @JsonKey(name: 'aecEstimatedDelay') final int? aecEstimatedDelay; factory LocalAudioStats.fromJson(Map<String, dynamic> json) => @@ -206,40 +207,58 @@ class LocalAudioStats {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - numChannels + + numChannels 声道数。 + 音频通道数。 - - sentSampleRate + + sentSampleRate 发送本地音频的采样率,单位为 Hz。 + 本地用户发送音频流的采样率(Hz)。 + 本地用户音频流的发送采样率(Hz)。 - - sentBitrate + + sentBitrate 发送本地音频的码率平均值,单位为 Kbps。 + 本地用户发送音频流的平均码率(Kbps)。 + 本地用户音频流的平均发送码率(Kbps)。 - - txPacketLossRate + + txPacketLossRate 弱网对抗前本端到声网边缘服务器的丢包率 (%)。 + 在应用抗丢包策略前,从本地客户端到声网服务器的音频丢包率(%)。 + 从本地客户端到声网服务器在未启用抗丢包策略前的音频丢包率(%)。 - - internalCodec + + internalCodec 内部的 payload 类型。 + 内部使用的音频编码格式。 + 内部使用的音频编解码器。 - - audioDeviceDelay + + audioDeviceDelay 播放或录制音频时,音频设备模块的延迟 (ms)。 + 播放或采集音频时的音频设备模块延迟(毫秒)。 + 播放或录制音频时,音频设备模块的延迟(毫秒)。 - - earMonitorDelay + + earMonitorDelay 耳返延迟 (ms),即声音从麦克风输入到耳机输出的延迟。 + 耳返延迟(毫秒),即从麦克风输入到耳机输出的延迟。 - - aecEstimatedDelay + + aecEstimatedDelay 回声消除延迟 (ms),即回声消除 (Acoustic Echo Cancellation, AEC) 模块测算出音频在本地播放前与被本地采集后的信号延迟。 + 声学回声消除(AEC)模块评估的延迟(毫秒),指本地播放音频到本地采集之间的信号延迟。 + 声学回声消除(AEC)模块估算的延迟(毫秒),即本地播放音频到被本地采集之间的信号延迟。 + + + audioPlayoutDelay + 音频播放延迟(毫秒)。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_localtranscoderconfiguration.dita b/dita/RTC-NG/API/class_localtranscoderconfiguration.dita index 743d83703e6..0b313b3deef 100644 --- a/dita/RTC-NG/API/class_localtranscoderconfiguration.dita +++ b/dita/RTC-NG/API/class_localtranscoderconfiguration.dita @@ -1,18 +1,18 @@ - + <ph keyref="LocalTranscoderConfiguration"/> - 本地合图的配置。 + 本地客户端的视频合图配置。

    public class LocalTranscoderConfiguration { - public ArrayList<TranscodingVideoStream> transcodingVideoStreams; + public ArrayList<TranscodingVideoStream> transcodingVideoStreams; public VideoEncoderConfiguration videoOutputConfiguration; public LocalTranscoderConfiguration() { - transcodingVideoStreams = new ArrayList<TranscodingVideoStream>(); + transcodingVideoStreams = new ArrayList<TranscodingVideoStream>(); videoOutputConfiguration = new VideoEncoderConfiguration(); } } @@ -24,12 +24,10 @@ this.videoOutputConfiguration = new VideoEncoderConfiguration(); } } - __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject - -@property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams; - + @interface AgoraLocalTranscoderConfiguration: NSObject +@property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams; @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration; - +@property(assign, nonatomic) BOOL syncWithPrimaryCamera; @end struct LocalTranscoderConfiguration { unsigned int streamCount; @@ -46,13 +44,13 @@ struct FLocalTranscoderConfiguration { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") int64 streamCount = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") TArray<FTranscodingVideoStream> videoInputStreams; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") FVideoEncoderConfiguration videoOutputConfiguration = FVideoEncoderConfiguration(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") bool syncWithPrimaryCamera = true; FLocalTranscoderConfiguration(){} FLocalTranscoderConfiguration(const agora::rtc::LocalTranscoderConfiguration & AgoraData){ @@ -111,32 +109,34 @@ class LocalTranscoderConfiguration { final int? streamCount; @JsonKey(name: 'videoInputStreams') - final List<TranscodingVideoStream>? videoInputStreams; + final List<TranscodingVideoStream>? videoInputStreams; @JsonKey(name: 'videoOutputConfiguration') final VideoEncoderConfiguration? videoOutputConfiguration; - factory LocalTranscoderConfiguration.fromJson(Map<String, dynamic> json) => + factory LocalTranscoderConfiguration.fromJson(Map<String, dynamic> json) => _$LocalTranscoderConfigurationFromJson(json); - Map<String, dynamic> toJson() => _$LocalTranscoderConfigurationToJson(this); + Map<String, dynamic> toJson() => _$LocalTranscoderConfigurationToJson(this); }

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - + streamCount 参与本地合图的视频流的数量。 - - videoInputStreams + + videoInputStreams transcodingVideoStreams 参与本地合图的视频流。详见 + 用于本地视频合图的视频流。详见 - - videoOutputConfiguration + + videoOutputConfiguration 本地合图后,合图视频的编码配置。详见 + 本地视频合图后混合视频流的编码配置。详见
    diff --git a/dita/RTC-NG/API/class_logconfig.dita b/dita/RTC-NG/API/class_logconfig.dita index 10af04ff797..89827ed4ac0 100644 --- a/dita/RTC-NG/API/class_logconfig.dita +++ b/dita/RTC-NG/API/class_logconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="LogConfig" /> - SDK 日志文件的配置。 + <ph keyref="LogConfig"/> + 配置声网 SDK 的日志文件。

    @@ -13,13 +13,13 @@ } export class LogConfig { - public filePath:string = ''; + public filePath:string = ''; public fileSizeInKB:number = 2048; public level: Constants.LogLevel = Constants.LogLevel.INFO; } - __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject + @interface AgoraLogConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSInteger fileSizeInKB; @property (assign, nonatomic) AgoraLogLevel level; @@ -36,11 +36,11 @@ struct FLogConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") - FString filePath = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") + FString filePath = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") int64 fileSizeInKB = 2048; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") ELOG_LEVEL level = ELOG_LEVEL::LOG_LEVEL_INFO; FLogConfig() {} FLogConfig(const agora::commons::LogConfig& AgoraData) { @@ -110,25 +110,25 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - filePath + + filePath

    日志文件的完整路径。声网建议你使用默认的日志路径。如果你需要修改默认的日志路径,请确保你指定的路径存在且可写。

    -

    默认路径为: +

    默认路径为:

      -
    • Android:/storage/emulated/0/Android/data/<packagename>/files/agorasdk.log
    • +
    • Android:/storage/emulated/0/Android/data/<packagename>/files/agorasdk.log
    • HarmonyOS:{context}.filesDir,其中 {context} 是你在 mContext 字段中设置的值。
    • -
    • iOS:App Sandbox/Library/caches/agorasdk.log
    • -
    • macOS: +
    • iOS:App Sandbox/Library/caches/agorasdk.log
    • +
    • macOS:
      • 开启沙盒: App Sandbox/Library/Logs/agorasdk.log,例如 /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log
      • 关闭沙盒: ~/Library/Logs/agorasdk.log
    • -
    • Windows:C:\Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log
    • +
    • 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

    默认路径为: @@ -139,21 +139,33 @@ public:

    + 日志文件的完整路径。声网建议使用默认的日志目录。如果你需要修改默认目录,请确保你指定的目录已存在且可写。默认日志目录如下: +
      +
    • iOS:AppSandbox/Library/Logs/agorasdk.log。
    • +
    • macOS:
        +
      • 启用 Sandbox 时:AppSandbox/Library/Logs/agorasdk.log。
      • +
      • 未启用 Sandbox 时:~/Library/Logs/agorasdk.log。
      • +
      +
    • +
    +
    - - fileSizeInKB + + fileSizeInKB 单个 agorasdk.log 日志文件的大小,单位为 KB,取值范围为 [128,20480],默认值为 2,048 KB。如果你将 fileSizeInKByte 设为小于 128 KB,SDK 会自动调整到 128 KB;如果你将 fileSizeInKByte 设为大于 20,480 KB,SDK 会自动调整到 20,480 KB。

    该方法仅用于设置 agorasdk.log 文件的大小,对 agoraapi.log 不生效。

    + agorasdk.log 文件的大小(KB)。取值范围为 [128, 20480]。默认值为 2048 KB。如果设置小于 128 KB,SDK 会自动调整为 128 KB;如果设置大于 20480 KB,SDK 会自动调整为 20480 KB。
    - - level + + level -

    SDK 的日志输出等级,详见

    +

    SDK 的日志输出等级,详见

    例如,如果你选择 WARN 级别,就可以看到在 FATAL、ERROR 和 WARN 级别上的所有日志信息。

    + SDK 日志文件的输出级别,详见 。例如,如果将日志级别设置为 WARN,SDK 会输出 FATALWARN 级别的日志。
    diff --git a/dita/RTC-NG/API/class_lowlightenhanceoptions.dita b/dita/RTC-NG/API/class_lowlightenhanceoptions.dita index ae816847527..dbdbe3c6bd8 100644 --- a/dita/RTC-NG/API/class_lowlightenhanceoptions.dita +++ b/dita/RTC-NG/API/class_lowlightenhanceoptions.dita @@ -1,8 +1,8 @@ - + - <ph keyref="LowlightEnhanceOptions" /> - 暗光增强选项。 + <ph keyref="LowlightEnhanceOptions"/> + 低光增强选项。

    @@ -24,8 +24,8 @@ lowlightEnhanceLevel = level; } } - - __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject + + @interface AgoraLowlightEnhanceOptions : NSObject @property(nonatomic, assign) AgoraLowlightEnhanceMode mode; @property(nonatomic, assign) AgoraLowlightEnhanceLevel level; @end @@ -99,35 +99,37 @@ public: @JsonKey(name: 'level') final LowLightEnhanceLevel? level; - factory LowlightEnhanceOptions.fromJson(Map<String, dynamic> json) => + factory LowlightEnhanceOptions.fromJson(Map<String, dynamic> json) => _$LowlightEnhanceOptionsFromJson(json); - Map<String, dynamic> toJson() => _$LowlightEnhanceOptionsToJson(this); + Map<String, dynamic> toJson() => _$LowlightEnhanceOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <title> <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - level - lowlightEnhanceLevel - 暗光增强等级。详见 + + level + lowlightEnhanceLevel + 暗光增强等级。详见
    • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
    • (1):优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。
    -
    - - mode - lowlightEnhanceMode - 暗光增强模式。详见 + 低光增强等级。详见 + + + mode + lowlightEnhanceMode + 暗光增强模式。详见
    • (0):(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。
    • (1):手动模式。用户需手动开启或关闭暗光增强功能。
    -
    -
    + 低光增强模式。详见 + +
    diff --git a/dita/RTC-NG/API/class_mediasource.dita b/dita/RTC-NG/API/class_mediasource.dita index 4ef17912603..d1c6d88d9d0 100644 --- a/dita/RTC-NG/API/class_mediasource.dita +++ b/dita/RTC-NG/API/class_mediasource.dita @@ -1,8 +1,8 @@ - + <ph keyref="MediaSource"/> - 需播放的媒体文件的相关信息及播放设置。 + 包含待播放媒体文件及播放场景配置的相关信息。

    @@ -20,9 +20,9 @@ export class MediaPlayerSource { - public url:string = "" + public url:string = "" - public uri:string = "" + public uri:string = "" public startPos:number = 0 @@ -36,18 +36,17 @@ public isLiveSource?:Boolean } - __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject + @interface AgoraMediaSource : NSObject @property(copy, nonatomic) NSString *_Nullable url; @property(copy, nonatomic) NSString *_Nullable uri; @property(assign, nonatomic) NSUInteger startPos; +@property(assign, nonatomic) BOOL autoPlay; @property(assign, nonatomic) BOOL enableCache; @property(assign, nonatomic) BOOL enableMultiAudioTrack; -@property(assign, nonatomic) BOOL autoPlay; @property(assign, nonatomic) BOOL isAgoraSource; @property(assign, nonatomic) BOOL isLiveSource; @property(copy, nonatomic) AgoraRtcMediaPlayerCustomSourceOnReadCallback _Nonnull playerOnReadCallback; @property(copy, nonatomic) AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback; -@end @end struct MediaSource { const char* url; @@ -69,21 +68,21 @@ struct FAgoraMediaSource { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") - FString url = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") - FString uri = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + FString url = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + FString uri = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") int64 startPos = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") bool autoPlay = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") bool enableCache = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") bool enableMultiAudioTrack = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") EAgoraOptional isAgoraSource = EAgoraOptional::AGORA_NULL_VALUE; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") EAgoraOptional isLiveSource = EAgoraOptional::AGORA_NULL_VALUE; FAgoraMediaSource(){} @@ -199,118 +198,153 @@ public: @JsonKey(name: 'isLiveSource') final bool? isLiveSource; - factory MediaSource.fromJson(Map<String, dynamic> json) => + factory MediaSource.fromJson(Map<String, dynamic> json) => _$MediaSourceFromJson(json); - Map<String, dynamic> toJson() => _$MediaSourceToJson(this); + Map<String, dynamic> toJson() => _$MediaSourceToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - url + + url

    需要播放的媒体资源的 URL。

    - +

    如果你打开的为普通媒体资源,请向 url 传值;如果你打开媒体资源为自定义媒体资源,请向 playerOnReadCallbackplayerOnSeekCallback 传值,同时传值会导致方法调用失败。

    -

    如果你打开的为普通媒体资源,请向 url 传值;如果你打开媒体资源为自定义媒体资源,请向 provider 传值,同时传值会导致方法调用失败。

    +

    如果你打开的为普通媒体资源,请向 url 传值;如果你打开媒体资源为自定义媒体资源,请向 provider 传值,同时传值会导致方法调用失败。

    + 待播放媒体文件的 URL。
    - - uri + + uri 媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 + 媒体文件的 URI(统一资源标识符)。 - - startPos + + startPos 设置起始播放位置 (毫秒),默认值为 0。 + 播放的起始位置(单位为毫秒)。默认值为 0。 - - autoPlay + + autoPlay 打开媒体文件后,是否开启自动播放:
      -
    • :(默认)开启自动播放。
    • -
    • :关闭自动播放。
    • +
    • :(默认)开启自动播放。
    • +
    • :关闭自动播放。
    -

    如果你设置关闭自动播放,打开媒体文件后,请调用 方法来播放媒体文件。

    +

    如果你设置关闭自动播放,打开媒体文件后,请调用 方法来播放媒体文件。

    + 是否在打开媒体文件后自动播放: +
      +
    • :(默认)是。
    • +
    • :否。
    • +
    +
    - - enableCache + + enableCache 此次播放是否开启实时缓存功能:
      -
    • :开启实时缓存。
    • -
    • :(默认)关闭实时缓存。
    • +
    • :开启实时缓存。
    • +
    • :(默认)关闭实时缓存。
    • SDK 目前仅支持缓存点播流,但不支持缓存通过 HLS 协议传输的点播流。
    • 缓存前,请向 uri 传值,否则播放器会以媒体文件的 url 作为缓存索引。
    • -
    • 开启实时缓存后,播放器会预先缓存当前正在播放的媒体文件的部分数据到本地,当你下次播放该文件时播放器会直接从缓存中加载数据,可节省网络流量。当前缓存的媒体文件的相关统计数据会在媒体文件开始播放后每秒更新一次,详见
    • +
    • 开启实时缓存后,播放器会预先缓存当前正在播放的媒体文件的部分数据到本地,当你下次播放该文件时播放器会直接从缓存中加载数据,可节省网络流量。当前缓存的媒体文件的相关统计数据会在媒体文件开始播放后每秒更新一次,详见
    + 是否在播放媒体文件时启用缓存: +
      +
    • :启用缓存。
    • +
    • :(默认)不启用缓存。
    • +
    +
    - - enableMultiAudioTrack + + enableMultiAudioTrack 此次播放是否允许选择不同音轨:
      -
    • :允许选择不同音轨。
    • -
    • :(默认)不允许选择不同音轨。
    • +
    • :允许选择不同音轨。
    • +
    • :(默认)不允许选择不同音轨。
    -

    如果你在本地播放和发布音频至远端时,需要设置不同的音轨,你需要将该参数设为 ,然后再调用 方法来设置音轨。

    +

    如果你在本地播放和发布音频至远端时,需要设置不同的音轨,你需要将该参数设为 ,然后再调用 方法来设置音轨。

    + 是否允许在播放该媒体文件时选择不同的音轨: +
      +
    • :允许选择不同音轨。
    • +
    • :(默认)不允许选择不同音轨。
    • +
    +
    - - isAgoraSource + + isAgoraSource 打开的媒体资源是否为通过声网融合 CDN 分发的直播或点播流:
      -
    • :打开的媒体资源是声网融合 CDN 分发的直播或点播流。
    • -
    • :(默认)打开的媒体资源不是声网融合 CDN 分发的直播或点播流。
    • +
    • :打开的媒体资源是声网融合 CDN 分发的直播或点播流。
    • +
    • :(默认)打开的媒体资源不是声网融合 CDN 分发的直播或点播流。
    -

    如果你需要打开的媒体资源为声网融合 CDN 分发的直播流或点播流,请向 url 传入直播或点播流的 URL 并将 isAgoraSource 设置为 ,否则无需设置 isAgoraSource

    +

    如果你需要打开的媒体资源为声网融合 CDN 分发的直播流或点播流,请向 url 传入直播或点播流的 URL 并将 isAgoraSource 设置为 ,否则无需设置 isAgoraSource

    + 待打开的媒体资源是否为通过媒体广播服务分发的直播或点播视频: +
      +
    • :是。
    • +
    • :(默认)否。
    • +
    +
    - - isLiveSource + + isLiveSource 打开的媒体资源是否为直播流:
      -
    • :直播流。
    • -
    • :(默认)非直播流。
    • +
    • :直播流。
    • +
    • :(默认)非直播流。
    -

    如果你打开的媒体资源为直播流,建议你将该参数设置为 ,可加快打开直播流的速度。

    +

    如果你打开的媒体资源为直播流,建议你将该参数设置为 ,可加快打开直播流的速度。

    -

    仅当打开的媒体资源为直播流时,将 isLiveSource 设置为 后才可加快媒体资源的打开速度。

    +

    仅当打开的媒体资源为直播流时,将 isLiveSource 设置为 后才可加快媒体资源的打开速度。

    + 待打开的媒体资源是否为直播流: +
      +
    • :是。
    • +
    • :(默认)否。
    • +
    +
    - - provider - + + provider +

    自定义媒体资源文件的回调。详见

    如果你打开媒体资源为自定义媒体资源,请仅向 provider 传值,如果你打开的为普通媒体资源,请向 url 传值。同时向 urlprovider 传值会导致方法调用会失败。

    -
    - - playerOnReadCallback + + + playerOnReadCallback

    读取媒体资源数据回调。详见

    + 当 SDK 读取媒体资源数据时触发。详见 - - playerOnSeekCallback + + playerOnSeekCallback

    定位媒体资源数据回调。详见

    -

    +

    + 当 SDK 定位媒体资源数据时触发。详见

    diff --git a/dita/RTC-NG/API/class_metadata.dita b/dita/RTC-NG/API/class_metadata.dita index 00f81d9970c..d343117aa85 100644 --- a/dita/RTC-NG/API/class_metadata.dita +++ b/dita/RTC-NG/API/class_metadata.dita @@ -1,12 +1,12 @@ - + - <ph keyref="Metadata" /> - 媒体附属信息。 + <ph keyref="Metadata"/> + 媒体元数据。

    - public class AgoraMetadata { + public class AgoraMetadata { public String channelId; public int uid; public byte[] data; @@ -27,8 +27,8 @@ this.timeStampMs = timeStampMs; } } - - NS_SWIFT_NAME(AgoraMetadata) __attribute__((visibility("default"))) @interface AgoraMetadata : NSObject + + @interface AgoraMetadata : NSObject @property (copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId); @property (assign, nonatomic) NSInteger uid NS_SWIFT_NAME(uid); @property (strong, nonatomic) NSData* _Nonnull data NS_SWIFT_NAME(data); @@ -46,13 +46,13 @@ struct FAgoraMetadata { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") int64 uid; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") int64 size; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") TArray<int64> buffer; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") int64 timeStampMs; }; public class Metadata @@ -120,43 +120,51 @@ class Metadata { Map<String, dynamic> toJson() => _$MetadataToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - channelId + + channelId 频道名称。 + 频道名。 - - uid + + uid

    用户 ID。

      -
    • 对于接收者:发送该 的远端用户的 ID。
    • +
    • 对于接收者:发送该 的远端用户的 ID。
    • 对于发送者:请忽略。

    + 用户 ID。 +
      +
    • 对于接收方:发送该 的远端用户 ID。
    • +
    • 对于发送方:可忽略。
    • +
    +
    size - 接收到的或发送的 的缓存大小。 + 接收到的或发送的 的缓存大小。 - + buffer data - 接收到的 的缓存地址。 + 接收到的 的缓存地址。 data 接收的数据。 - - timeStampMs - timestamp + + timeStampMs + timestamp 发送 的时间戳,单位为毫秒。 + 发送该 时的时间戳(毫秒)。
    diff --git a/dita/RTC-NG/API/class_mixedaudiostream.dita b/dita/RTC-NG/API/class_mixedaudiostream.dita index 86e51d272c2..3bf2626ace7 100644 --- a/dita/RTC-NG/API/class_mixedaudiostream.dita +++ b/dita/RTC-NG/API/class_mixedaudiostream.dita @@ -1,8 +1,8 @@ - + <ph keyref="MixedAudioStream"/> - 在本地进行合流的音频源。 + 本地混音音频流的来源。

    @@ -19,7 +19,7 @@ } }; - __attribute__((visibility("default"))) @interface AgoraMixedAudioStream: NSObject + @interface AgoraMixedAudioStream: NSObject @property (assign, nonatomic) AgoraAudioSourceType sourceType; @property (assign, nonatomic) NSUInteger remoteUserUid; @property (copy, nonatomic) NSString * _Nullable channelId; @@ -103,47 +103,51 @@ public: @JsonKey(name: 'trackId') final int? trackId; - factory MixedAudioStream.fromJson(Map<String, dynamic> json) => + factory MixedAudioStream.fromJson(Map<String, dynamic> json) => _$MixedAudioStreamFromJson(json); - Map<String, dynamic> toJson() => _$MixedAudioStreamToJson(this); + Map<String, dynamic> toJson() => _$MixedAudioStreamToJson(this); }

    -
    - -
    自从
    -
    v4.5.0
    -
    -

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - sourceType - 音频源的类型。详见 - - - remoteUserUid - + + sourceType + 音频源的类型。详见 + + + remoteUserUid +

    远端用户 ID。

    - 当参与本地音频合流的音频源类型为 时,需要设置该参数。
    -
    - - channelId - -

    - 当参与本地音频合流的音频源类型为 时,需要设置该参数。 - - - trackId - + 当参与本地音频合流的音频源类型为 时,需要设置该参数。 + 远端用户 ID。当本地混音音频流的源类型为 时设置该参数。 + + + channelId + +

    + 当参与本地音频合流的音频源类型为 时,需要设置该参数。 + 频道名。在相同 App ID 的前提下,填写相同频道名的用户会进入同一个频道进行音视频互动。字符串长度必须小于 64 字节。支持的字符(共 89 个): +

      +
    • 所有小写英文字母:a 到 z。
    • +
    • 所有大写英文字母:A 到 Z。
    • +
    • 所有数字字符:0 到 9。
    • +
    • 特殊字符:"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","。当本地混音音频流的源类型为 时设置该参数。
    • +
    +
    +
    + + trackId +

    音频轨道 ID。将该参数设置为调用 方法返回的自定义音频轨道 ID。

    当参与本地本地音频合流的音频源类型为 时,需要设置该参数。
    -
    -
    + 音频轨道 ID。当本地混音音频流的源类型为 时设置该参数。设置为 返回的自定义音频轨道 ID。 + +
    diff --git a/dita/RTC-NG/API/class_multipathstats.dita b/dita/RTC-NG/API/class_multipathstats.dita index 74babcdbf47..9e2419ba2b6 100644 --- a/dita/RTC-NG/API/class_multipathstats.dita +++ b/dita/RTC-NG/API/class_multipathstats.dita @@ -2,7 +2,7 @@ <ph keyref="MultipathStats"/> - 汇总多路径传输中各网络路径的统计信息。 + 汇总多路径传输中各网络路径的统计数据。

    @@ -15,9 +15,9 @@ public int mobileRxBytes; public int activePathNum; public PathStats[] pathStats; - } +} - __attribute__((visibility("default"))) @interface AgoraMultipathStats : NSObject + @interface AgoraMultipathStats : NSObject @property (assign, nonatomic) NSUInteger lanRxBytes; @property (assign, nonatomic) NSUInteger lanTxBytes; @property (assign, nonatomic) NSUInteger wifiRxBytes; @@ -64,47 +64,56 @@

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - lanTxBytes + + lanTxBytes 通过 LAN 发送的总字节数。 通过 LAN 路径发送的字节数。 + 通过 LAN 发送的字节总数。 + 通过 LAN 路径发送的总字节数。 - - lanRxBytes + + lanRxBytes 通过 LAN 接收的总字节数。 - 通过 LAN 路径接收的总字节数。 + 通过 LAN 路径接收的总字节数。 + 通过 LAN 接收的字节总数。 - - wifiTxBytes + + wifiTxBytes 通过 Wi-Fi 发送的总字节数。 - 通过 Wi-Fi 路径发送的总字节数。 + 通过 Wi-Fi 路径发送的总字节数。 + 通过 Wi-Fi 发送的字节总数。 - - wifiRxBytes + + wifiRxBytes 通过 Wi-Fi 接收的总字节数。 - 通过 Wi-Fi 路径接收的总字节数。 + 通过 Wi-Fi 路径接收的总字节数。 + 通过 Wi-Fi 接收的字节总数。 - - mobileTxBytes + + mobileTxBytes 通过移动网络发送的总字节数。 - 通过移动网络路径发送的总字节数。 + 通过移动网络路径发送的总字节数。 + 通过移动网络发送的字节总数。 - - mobileRxBytes + + mobileRxBytes 通过移动网络接收的总字节数。 - 通过移动网络路径接收的总字节数。 + 通过移动网络路径接收的总字节数。 + 通过移动网络接收的字节总数。 - - activePathNum - 当前活跃的传输路径数量。 + + activePathNum + 当前活跃的传输路径数量。 当前活跃的传输路径的数量。 活跃的传输路径数量。 - - pathStats + + pathStats 每一个活跃的传输路径的统计信息数组。详见 每一条活跃的传输路径统计信息。详见 每个活跃传输路径的统计信息数组。详见 + 每条活跃传输路径的统计信息数组。详见 + 每条活跃传输路径的统计信息,详见
    diff --git a/dita/RTC-NG/API/class_pathstats.dita b/dita/RTC-NG/API/class_pathstats.dita index a51eb2c4602..5d0af83b8c6 100644 --- a/dita/RTC-NG/API/class_pathstats.dita +++ b/dita/RTC-NG/API/class_pathstats.dita @@ -2,7 +2,7 @@ <ph keyref="PathStats"/> - 用于描述多路径传输中某一特定网络路径的统计信息。 + 特定网络路径的统计信息。

    @@ -12,7 +12,7 @@ public int rxKBitRate; } - __attribute__((visibility("default"))) @interface AgoraPathStats : NSObject + @interface AgoraPathStats : NSObject @property (assign, nonatomic) AgoraMultipathType pathType; @property (assign, nonatomic) NSUInteger txKBitRate; @property (assign, nonatomic) NSUInteger rxKBitRate; @@ -34,7 +34,7 @@

    自从:
    -
    自 v4.6.0 版本新增。
    +
    自 v4.6.0 版本新增。

    @@ -42,9 +42,8 @@
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - pathType - pathType + + pathType type 路径类型,例如:
      @@ -55,15 +54,24 @@ 路径类型。详见 路径的类型。详见 + 网络路径的类型: +
        +
      • LAN:局域网。
      • +
      • WiFi:无线局域网。
      • +
      • Mobile:移动网络。
      • +
      +
      + 网络路径的类型。详见 - - txKBitRate + + txKBitRate 该路径的发送码率,单位为 Kbps。 路径的传输码率,单位为 Kbps。 + 该路径的传输码率,单位为 Kbps。 - - rxKBitRate - 该路径的接收码率,单位为 Kbps。 + + rxKBitRate + 该路径的接收码率,单位为 Kbps。 路径的接收码率,单位为 Kbps。
    diff --git a/dita/RTC-NG/API/class_playerplaybackstats.dita b/dita/RTC-NG/API/class_playerplaybackstats.dita index 162502b875b..ada4e6cb94d 100644 --- a/dita/RTC-NG/API/class_playerplaybackstats.dita +++ b/dita/RTC-NG/API/class_playerplaybackstats.dita @@ -1,8 +1,8 @@ - + <ph keyref="PlayerPlaybackStats"/> - 当前播放的媒体资源的相关信息。 + 正在播放的媒体文件的统计信息。

    @@ -23,7 +23,7 @@ public totalBitrateInKbps:number = 0 } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject + @interface AgoraMediaPlayerPlaybackStats : NSObject @property(assign, nonatomic) NSInteger videoFps; @property(assign, nonatomic) NSInteger videoBitrateInKbps; @property(assign, nonatomic) NSInteger audioBitrateInKbps; @@ -40,13 +40,13 @@ struct FPlayerPlaybackStats { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") int videoFps = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") int videoBitrateInKbps =0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") int audioBitrateInKbps =0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FPlayerPlaybackStats") int totalBitrateInKbps =0; FPlayerPlaybackStats(){} FPlayerPlaybackStats(const agora::media::base::PlayerPlaybackStats& AgoraData) { @@ -94,16 +94,16 @@ class PlayerPlaybackStats { this.audioBitrateInKbps, this.totalBitrateInKbps}); - @JsonKey(name: 'videoFps') + @JsonKey(name: 'videoFps') final int? videoFps; - @JsonKey(name: 'videoBitrateInKbps') + @JsonKey(name: 'videoBitrateInKbps') final int? videoBitrateInKbps; - @JsonKey(name: 'audioBitrateInKbps') + @JsonKey(name: 'audioBitrateInKbps') final int? audioBitrateInKbps; - @JsonKey(name: 'totalBitrateInKbps') + @JsonKey(name: 'totalBitrateInKbps') final int? totalBitrateInKbps; factory PlayerPlaybackStats.fromJson(Map<String, dynamic> json) => @@ -113,31 +113,29 @@ class PlayerPlaybackStats { }

    -
    - -
    自从
    -
    v4.3.0
    -
    -
    -
    +
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - videoFps + + videoFps 视频帧率,单位为 fps。 + 视频帧率(fps)。 - - videoBitrateInKbps + + videoBitrateInKbps 视频码率,单位为 kbps。 + 视频码率(kbps)。 - - audioBitrateInKbps + + audioBitrateInKbps 音频码率,单位为 kbps。 + 音频码率(kbps)。 - - totalBitrateInKbps + + totalBitrateInKbps 媒体流的总码率,单位为 kbps。 + 媒体流的总码率(kbps)。
    diff --git a/dita/RTC-NG/API/class_playerstreaminfo.dita b/dita/RTC-NG/API/class_playerstreaminfo.dita index b8e9c8ccd19..3d766f92133 100644 --- a/dita/RTC-NG/API/class_playerstreaminfo.dita +++ b/dita/RTC-NG/API/class_playerstreaminfo.dita @@ -1,8 +1,8 @@ - + - <ph keyref="PlayerStreamInfo" /> - 播放器媒体流的所有信息。 + <ph keyref="PlayerStreamInfo"/> + 媒体流的详细信息。

    @@ -27,8 +27,8 @@ { public streamIndex:number = 0 public mediaStreamType:number = 0 - public codecName:string = "" - public language:string = "" + public codecName:string = "" + public language:string = "" public videoFrameRate:number = 0 public videoBitRate:number = 0 public videoWidth:number = 0 @@ -39,8 +39,7 @@ public audioBytesPerSample:number = 0 public duration:bigint = BigInt(0) } - __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject - + @interface AgoraRtcMediaStreamInfo : NSObject @property(nonatomic, assign) NSInteger streamIndex; @property(nonatomic, assign) AgoraMediaStreamType streamType; @property(nonatomic, copy) NSString *_Nonnull codecName; @@ -53,7 +52,6 @@ @property(nonatomic, assign) NSInteger audioChannels; @property(nonatomic, assign) NSInteger duration; @property(nonatomic, assign) NSInteger rotation; - @end struct PlayerStreamInfo { int streamIndex; @@ -87,31 +85,31 @@ struct FPlayerStreamInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int streamIndex = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") EMEDIA_STREAM_TYPE streamType = EMEDIA_STREAM_TYPE::STREAM_TYPE_UNKNOWN; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") - FString codecName = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") - FString language = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + FString codecName = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + FString language = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int videoFrameRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int videoBitRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int videoWidth = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int videoHeight = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int videoRotation = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int audioSampleRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int audioChannels = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int audioBitsPerSample = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int duration = 0; FPlayerStreamInfo(){} FPlayerStreamInfo(const agora::media::base::PlayerStreamInfo & AgoraData){ @@ -287,69 +285,81 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - streamIndex + + streamIndex 媒体流的索引值。 + 媒体流的索引。 - - streamType + + streamType mediaStreamType - 此条媒体流的类型。详见 + 此条媒体流的类型。详见
      -
    • (0): 未知类型。
    • -
    • (1): 视频流。
    • -
    • (2): 音频流。
    • -
    • (3): 字幕流。
    • +
    • (0): 未知类型。
    • +
    • (1): 视频流。
    • +
    • (2): 音频流。
    • +
    • (3): 字幕流。
    + 媒体流的类型。详见
    - - codecName + + codecName 此条媒体流的编码规格。 + 媒体流使用的编解码器名称。 - - language + + language 此条媒体流的语言。 + 媒体流的语言信息。 - - videoFrameRate + + videoFrameRate 该参数仅对视频流生效,表示视频帧率 (fps)。 + 仅对视频流生效,表示视频的帧率(fps)。 - - videoBitRate + + videoBitRate 该参数仅对视频流生效,表示视频码率 (bps)。 + 仅对视频流生效,表示视频的码率(bps)。 - - videoWidth + + videoWidth 该参数仅对视频流生效,表示视频宽度 (px)。 + 仅对视频流生效,表示视频的宽度(像素)。 - - videoHeight + + videoHeight 该参数仅对视频流生效,表示视频高度 (px)。 + 仅对视频流生效,表示视频的高度(像素)。 - - videoRotation - rotation + + videoRotation + rotation 该参数仅对视频流生效,表示旋转角度。 + 仅对视频流生效,表示视频的旋转角度。 - - audioSampleRate + + audioSampleRate 该参数仅对音频流生效,表示音频采样率 (Hz)。 + 仅对音频流生效,表示音频的采样率(Hz)。 - - audioChannels + + audioChannels 该参数仅对音频流生效,表示声道数。 + 仅对音频流生效,表示音频的声道数。 - - audioBitsPerSample + + audioBitsPerSample audioBytesPerSample 该参数仅对音频流生效,表示每个音频采样点的位数 (bit)。 - - duration + + duration 媒体流的时长(毫秒)。 + 媒体流的总时长(毫秒)。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_playerupdatedinfo.dita b/dita/RTC-NG/API/class_playerupdatedinfo.dita index 5d9d6d8e57a..b2d9c6a8133 100644 --- a/dita/RTC-NG/API/class_playerupdatedinfo.dita +++ b/dita/RTC-NG/API/class_playerupdatedinfo.dita @@ -1,8 +1,8 @@ - + - <ph keyref="PlayerUpdatedInfo" /> - 媒体播放器相关信息。 + <ph keyref="PlayerUpdatedInfo"/> + 媒体播放器的信息。

    @@ -17,9 +17,9 @@ export class PlayerUpdatedInfo { - public internalPlayerUuid:string = "" + public internalPlayerUuid:string = "" - public deviceId:string = "" + public deviceId:string = "" public videoHeight:number = 0 @@ -31,7 +31,8 @@ public audioBitsPerSample:number = 0 } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject + @interface AgoraMediaPlayerUpdatedInfo : NSObject +@property(copy, nonatomic) NSString *_Nullable internalPlayerUuid; @property(copy, nonatomic) NSString *_Nullable deviceId; @property(assign, nonatomic) NSInteger videoHeight; @property(assign, nonatomic) NSInteger videoWidth; @@ -52,19 +53,19 @@ struct FPlayerUpdatedInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") - FString internalPlayerUuid = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") - FString deviceId = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + FString internalPlayerUuid = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + FString deviceId = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") int videoHeight = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") int videoWidth = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") int audioSampleRate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") int audioChannels = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") int audioBitsPerSample = 0; FPlayerUpdatedInfo(){} @@ -129,35 +130,41 @@ public: _$PlayerUpdatedInfoFromJson(json); Map<String, dynamic> toJson() => _$PlayerUpdatedInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - deviceId + + deviceId 设备 ID,标识一个设备。 + 设备的 ID。 - - videoHeight + + videoHeight 视频高度 (pixel)。 + 视频的高度(单位为像素)。 - - videoWidth + + videoWidth 视频宽度 (pixel)。 + 视频的宽度(单位为像素)。 + + + audioSampleRate + 音频采样率 (Hz)。 + 音频采样率(单位为 Hz)。 + + + audioChannels + 声道数。 + 音频的声道数。 + + + audioBitsPerSample + 每个音频采样点的位数 (bit)。 + 每个音频采样点的位数。 - - audioSampleRate - 音频采样率 (Hz)。 - - - audioChannels - 声道数。 - - - audioBitsPerSample - 每个音频采样点的位数 (bit)。 -
    diff --git a/dita/RTC-NG/API/class_rtcconnection.dita b/dita/RTC-NG/API/class_rtcconnection.dita index c247a9e7bbd..ca80ab929ee 100644 --- a/dita/RTC-NG/API/class_rtcconnection.dita +++ b/dita/RTC-NG/API/class_rtcconnection.dita @@ -1,8 +1,8 @@ - + - <ph keyref="RtcConnection" /> - 包含连接信息的类。 + <ph keyref="RtcConnection"/> + 包含连接信息。

    @@ -42,16 +42,15 @@ } export class RtcConnection { public localUid:number = 0; - public channelId:string = ""; + public channelId:string = ""; constructor(channelId:string,uid:number) { this.channelId = channelId; this.localUid = uid; } } - __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> + @interface AgoraRtcConnection: NSObject <NSCopying> @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, assign) NSUInteger localUid; - @end struct RtcConnection { const char* channelId; @@ -66,9 +65,9 @@ struct FRtcConnection { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcConnection") - FString channelId = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcConnection") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcConnection") + FString channelId = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcConnection") int64 localUid = 0; FRtcConnection(){} FRtcConnection(const agora::rtc::RtcConnection & AgoraData){ @@ -128,16 +127,16 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - channelId - 频道名。 - - - localUid - 本地用户 ID。 - -
    + + channelId + 频道名。 + + + localUid + 本地用户 ID。 + +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_rtcimage.dita b/dita/RTC-NG/API/class_rtcimage.dita index fb03befc63b..9339c73e8c9 100644 --- a/dita/RTC-NG/API/class_rtcimage.dita +++ b/dita/RTC-NG/API/class_rtcimage.dita @@ -1,8 +1,8 @@ - + - <ph keyref="RtcImage" /> - 图像属性。 + <ph keyref="RtcImage"/> + 用于设置直播视频中水印和背景图像属性的类。

    @@ -60,12 +60,12 @@ this.alpha = 1.0; } } - __attribute__((visibility("default"))) @interface AgoraImage : NSObject - @property(strong, nonatomic) NSURL *_Nonnull url; - @property(assign, nonatomic) CGRect rect; - @property (assign, nonatomic) NSInteger zOrder; - @property(assign, nonatomic) double alpha; - @end + @interface AgoraImage : NSObject +@property(strong, nonatomic) NSURL *_Nonnull url; +@property(assign, nonatomic) CGRect rect; +@property (assign, nonatomic) NSInteger zOrder; +@property(assign, nonatomic) double alpha; +@end typedef struct RtcImage { const char* url; int x; @@ -80,19 +80,19 @@ struct FRtcImage { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") - FString url = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + FString url = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") int x = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") int y = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") int width = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") int height = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") int zOrder = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") float alpha = 0; FRtcImage() {} FRtcImage(const agora::rtc::RtcImage& AgoraData) { @@ -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; @@ -217,50 +217,65 @@ struct FRtcImage _$RtcImageFromJson(json); Map<String, dynamic> toJson() => _$RtcImageToJson(this); } -

    +

    -

    用于设置直播视频的水印和背景图片的属性。

    -
    +

    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - url + + url 直播视频上图片的 HTTP/HTTPS 地址。字符长度不得超过 1024 字节。 + 直播视频中图像的 HTTP 或 HTTPS URL 地址。该参数的最大长度为 1024 字节。详见 NSURL - + x 图片在视频画面上的 x 坐标 (px),以输出视频画面的左上角为原点。 - + y 图片在视频画面上的 y 坐标 (px),以输出视频画面的左上角为原点。 - + width 图片在视频画面上的宽度 (px)。 - + height 图片在视频画面上的高度 (px)。 - - rect + + rect 图片在视频画面上的位置和大小,类型为 CGRect。 + 图像在视频帧中的位置和尺寸。数据类型为 CGRect - - zOrder + + zOrder 水印或背景图的图层编号。使用水印数组添加单张或多张水印时,必须向 zOrder 传值,取值范围为 [1,255],否则 SDK 会报错。其余情况,zOrder 可选传值,取值范围为 [0,255],0 为默认值。0 代表图层的最下层,255 代表图层的最上层。 + 水印或背景图像的图层索引。 +
      +
    • 当使用水印数组添加一个或多个水印时,必须传入范围为 [1, 255] 的 zOrder 值,否则 SDK 会报错。
    • +
    • 在其他情况下,zOrder 为可选参数,取值范围为 [0, 255],默认值为 0。
    • +
    • 0 表示底层,255 表示顶层。
    • +
    +
    - - alpha + + alpha 水印或背景图片的透明度。取值范围为 [0.0,1.0]:
    • 0.0: 完全透明。
    • 1.0:(默认)完全不透明。
    + 水印或背景图像的透明度。取值范围为 [0.0, 1.0]: +
      +
    • 0.0:完全透明。
    • +
    • 1.0:(默认)不透明。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_screenaudioparameters.dita b/dita/RTC-NG/API/class_screenaudioparameters.dita index f7830d5ef71..ce9af447f0e 100644 --- a/dita/RTC-NG/API/class_screenaudioparameters.dita +++ b/dita/RTC-NG/API/class_screenaudioparameters.dita @@ -1,8 +1,8 @@ - + - <ph keyref="ScreenAudioParameters" /> - 共享屏幕流的音频配置。 + <ph keyref="ScreenAudioParameters"/> + 共享屏幕音频的配置参数。

    @@ -49,11 +49,11 @@ struct FScreenAudioParameters { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenAudioParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenAudioParameters") int sampleRate = 16000; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenAudioParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenAudioParameters") int channels = 2; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenAudioParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenAudioParameters") int captureSignalVolume = 100; #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) FScreenAudioParameters(){} @@ -115,40 +115,41 @@ public: @JsonKey(name: 'captureSignalVolume') final int? captureSignalVolume; - factory ScreenAudioParameters.fromJson(Map<String, dynamic> json) => + factory ScreenAudioParameters.fromJson(Map<String, dynamic> json) => _$ScreenAudioParametersFromJson(json); - Map<String, dynamic> toJson() => _$ScreenAudioParametersToJson(this); + Map<String, dynamic> toJson() => _$ScreenAudioParametersToJson(this); } -

    +

    -

    仅适用于 captureAudio 的场景。

    -
    +

    仅当 captureAudio 时有效。captureAudio 的场景。

    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - sampleRate - 音频采样率 (Hz)。默认值为 16000。 - - - channels - 声道数。默认值为 2,表示双声道。 - - - captureSignalVolume + + sampleRate + 音频采样率 (Hz)。默认值为 16000。 + + + channels + 声道数。默认值为 2,表示双声道。 + + + captureSignalVolume 采集的系统音量。取值范围为 [0,100]。默认值为 100。 + 采集的系统音频音量。取值范围为 [0, 100]。 - - allowCaptureCurrentApp - 是否采集当前 App 中的音频: + + allowCaptureCurrentApp + 是否采集当前 App 中的音频:
    • :(默认)采集当前 App 中的音频。
    • :不采集当前 App 中的音频。
    该成员仅能设置是否采集当前 App 中的音频,并不能控制是否将采集到的 App 音频发布到频道中。你需要在调用 或者 时通过 options 参数进行设置。
    -
    +
    diff --git a/dita/RTC-NG/API/class_screencaptureconfiguration.dita b/dita/RTC-NG/API/class_screencaptureconfiguration.dita index 9d6975fa4cf..f532ea7d352 100644 --- a/dita/RTC-NG/API/class_screencaptureconfiguration.dita +++ b/dita/RTC-NG/API/class_screencaptureconfiguration.dita @@ -1,13 +1,13 @@ - + - <ph keyref="ScreenCaptureConfiguration" /> - 屏幕采集配置。 + <ph keyref="ScreenCaptureConfiguration"/> + 用于配置屏幕采集参数。

    - - + + #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC)) __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguration: NSObject @@ -31,25 +31,23 @@ __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguratio int64_t windowId; ScreenCaptureParameters params; Rectangle regionRect; - - ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {} }; USTRUCT(BlueprintType) struct FScreenCaptureConfiguration { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") bool isCaptureWindow = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") int displayId = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") FRectangle screenRect = FRectangle(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") int64 windowId = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") FScreenCaptureParameters params = FScreenCaptureParameters(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") FRectangle regionRect = FRectangle(); FScreenCaptureConfiguration(){} FScreenCaptureConfiguration(const agora::rtc::ScreenCaptureConfiguration & AgoraData){ @@ -154,10 +152,10 @@ public: _$ScreenCaptureConfigurationFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureConfigurationToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> isCaptureWindow @@ -165,40 +163,50 @@ public:
      -
    • :采集窗口。
    • -
    • :(默认)采集屏幕,不采集窗口。
    • +
    • :采集窗口。
    • +
    • :(默认)采集屏幕,不采集窗口。
    - - displayId - (仅适用于 macOS 平台)屏幕的 display ID。 + + displayId + (仅适用于 macOS 平台)屏幕的 display ID。 请仅在 Mac 设备上采集屏幕时使用该参数。 屏幕的 display ID。你无需设置该参数。 + 屏幕的显示 ID。仅在 macOS 平台采集屏幕时生效。 - + screenRect - (仅适用于 Windows 平台)待共享的屏幕相对于虚拟屏的位置。 + (仅适用于 Windows 平台)待共享的屏幕相对于虚拟屏的位置。 请仅在 Windows 设备上采集屏幕时使用该参数。 - - windowId - (仅适用于 Windows 和 macOS 平台)窗口 ID。 + + windowId + (仅适用于 Windows 和 macOS 平台)窗口 ID。 请仅在采集窗口时使用该参数。 + 窗口 ID。仅在采集窗口时生效。 - - params - parameters - (仅适用于 Windows 和 macOS 平台)屏幕共享流的编码参数配置。详见 + + params + parameters + (仅适用于 Windows 和 macOS 平台)屏幕共享流的编码参数配置。详见 + 屏幕采集配置。详见 - - regionRect - (仅适用于 Windows 和 macOS 平台)待共享区域相对于整个屏幕的位置。详见 。如不填,则表示共享整个屏幕。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。 如果将 中的 width 或 height 设为 0 ,则共享整个屏幕。 + + regionRect + (仅适用于 Windows 和 macOS 平台)待共享区域相对于整个屏幕的位置。详见 。如不填,则表示共享整个屏幕。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。 如果将 中的 width 或 height 设为 0 ,则共享整个屏幕。 待共享区域相对于整个屏幕的位置。类型为 CGRect。 + 共享区域相对于整个屏幕的位置。详见 。 +
      +
    • 如果未设置该参数,SDK 会共享整个屏幕。
    • +
    • 如果设置的区域超出屏幕边界,仅共享屏幕内的部分。
    • +
    • 如果在 中设置的宽度或高度为 0,则共享整个屏幕。
    • +
    +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_screencaptureparameters.dita b/dita/RTC-NG/API/class_screencaptureparameters.dita index d9995e1e23a..2e0f53189c5 100644 --- a/dita/RTC-NG/API/class_screencaptureparameters.dita +++ b/dita/RTC-NG/API/class_screencaptureparameters.dita @@ -1,13 +1,13 @@ - + <ph keyref="ScreenCaptureParameters"/> - 屏幕共享的参数配置。 + 屏幕共享配置参数。

    - + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject @property (assign, nonatomic) CGSize dimensions; @property (assign, nonatomic) NSInteger frameRate; @@ -51,25 +51,25 @@ struct FScreenCaptureParameters { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") FVideoDimensions dimensions = FVideoDimensions(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") int frameRate = 5; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") int bitrate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") bool captureMouseCursor = true; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") bool windowFocus = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") int64 excludeWindowList = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") int excludeWindowCount = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") int highLightWidth = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") int highLightColor = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") bool enableHighLight = false; FScreenCaptureParameters(){} FScreenCaptureParameters(const agora::rtc::ScreenCaptureParameters & AgoraData){ @@ -258,7 +258,7 @@ public: final bool? windowFocus; @JsonKey(name: 'excludeWindowList') - final List<int>? excludeWindowList; + final List<int>? excludeWindowList; @JsonKey(name: 'excludeWindowCount') final int? excludeWindowCount; @@ -272,20 +272,20 @@ public: @JsonKey(name: 'enableHighLight') final bool? enableHighLight; - factory ScreenCaptureParameters.fromJson(Map<String, dynamic> json) => + factory ScreenCaptureParameters.fromJson(Map<String, dynamic> json) => _$ScreenCaptureParametersFromJson(json); - Map<String, dynamic> toJson() => _$ScreenCaptureParametersToJson(this); + Map<String, dynamic> toJson() => _$ScreenCaptureParametersToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - dimensions + + dimensions -

    屏幕共享流的视频编码分辨率。详见 。默认值为 1920 × 1080,即 2073600 像素。该像素值为计费标准。

    +

    屏幕共享流的视频编码分辨率。详见 。默认值为 1920 × 1080,即 2073600 像素。该像素值为计费标准。

    当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 dimensions 设为 1920 × 1080:

    • 如果屏幕分辨率小于 dimensions,如 1000 × 1000,SDK 直接按 1000 × 1000 进行编码。
    • @@ -302,63 +302,92 @@ public:

    + 屏幕共享视频流的编码分辨率。如果屏幕尺寸与该参数值不同,声网会采用以下编码策略。假设 dimensions 设置为 1920 × 1080: +
      +
    • 如果屏幕尺寸小于 dimensions,例如 1000 × 1000 像素,SDK 使用屏幕尺寸(即 1000 × 1000 像素)进行编码。
    • +
    • 如果屏幕尺寸大于 dimensions,例如 2000 × 1500 像素,SDK 会在保持屏幕宽高比(4:3)的前提下,使用不超过 dimensions 的最大值进行编码,即 1440 × 1080。
    • +
    +
    - - frameRate - 共享视频的帧率。屏幕共享流的视频编码帧率。在 Windows 和 macOS 平台上,表示屏幕共享流的视频编码帧率。单位为 fps;默认值为 5,建议不要超过 15。 + + frameRate + 共享视频的帧率。屏幕共享流的视频编码帧率。在 Windows 和 macOS 平台上,表示屏幕共享流的视频编码帧率。单位为 fps;默认值为 5,建议不要超过 15。 + 共享区域的视频帧率(fps)。默认值为 5。声网不建议设置超过 15 的值。 - - bitrate - 共享视频的码率。屏幕共享流的视频编码码率。在 Windows 和 macOS 平台上,表示屏幕共享流的视频编码码率。单位为 Kbps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值。 + + bitrate + 共享视频的码率。屏幕共享流的视频编码码率。在 Windows 和 macOS 平台上,表示屏幕共享流的视频编码码率。单位为 Kbps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值。 + 共享区域的视频码率(Kbps)。默认值为 0,表示 SDK 会根据当前屏幕的分辨率自动计算码率。 - - captureMouseCursor + + captureMouseCursor

    是否采集鼠标用于屏幕共享:

    • :(默认)采集鼠标。
    • : 不采集鼠标。

    - 受 macOS 系统限制,在共享屏幕时将该参数设置为 无效(共享窗口时无影响)。 + 受 macOS 系统限制,在共享屏幕时将该参数设置为 无效(共享窗口时无影响)。
    + 是否在屏幕共享中捕获鼠标: +
      +
    • :(默认)捕获鼠标。
    • +
    • :不捕获鼠标。
    • +
    +
    - - windowFocus + + windowFocus

    调用 方法共享窗口时,是否将该窗口前置:

    • : 前置窗口。
    • :(默认)不前置窗口。

    - 由于 macOS 系统限制,设置该成员将窗口前置时,如果当前的应用存在多个窗口,只会将主窗口前置。 + 由于 macOS 系统限制,设置该成员将窗口前置时,如果当前的应用存在多个窗口,只会将主窗口前置。
    + 调用 方法共享窗口时,是否将该窗口置于前台: +
      +
    • :将窗口置于前台。
    • +
    • :(默认)不将窗口置于前台。
    • +
    +
    - - excludeWindowList + + excludeWindowList 待屏蔽窗口的 ID 列表。调用 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。 + 要排除的窗口 ID 列表。调用 开始屏幕共享时,可使用该参数排除指定窗口。调用 更新屏幕共享配置时,也可动态排除指定窗口。 - - highLighted - enableHighLight - (仅适用于 macOS 和 Windows)是否对共享的窗口或屏幕进行描边: + + highLighted + enableHighLight + (仅适用于 macOS 和 Windows)是否对共享的窗口或屏幕进行描边:
    • : 描边。
    • : (默认)不描边。
    当你在共享窗口或屏幕的部分区域时,如果将该参数设置为 ,SDK 会对整个窗口或屏幕进行描边。
    + 是否在共享的窗口或屏幕周围显示边框: +
      +
    • :显示边框。
    • +
    • :(默认)不显示边框。
    • +
    +
    - - highLightColor - (仅适用于 macOS 和 Windows)
      -
    • 在 Windows 平台上,指描边的 ARGB 颜色。默认值为 0xFF8CBF26。
    • -
    • 在 macOS 平台上,COLOR_CLASSNSColor
    + + highLightColor + (仅适用于 macOS 和 Windows)
      +
    • 在 Windows 平台上,指描边的 ARGB 颜色。默认值为 0xFF8CBF26。
    • +
    • 在 macOS 平台上,COLOR_CLASSNSColor
    + 在 macOS 上,COLOR_CLASS 表示 NSColor。详见 COLOR_CLASS
    - - highLightWidth - (仅适用于 macOS 和 Windows)描边的宽度 (px)。默认值为 5,取值范围为 (0,50]。 + + highLightWidth + (仅适用于 macOS 和 Windows)描边的宽度 (px)。默认值为 5,取值范围为 (0,50]。 该参数仅在 highLighted 设置为 时生效。 + 边框的宽度(像素)。默认值为 5,取值范围为 (0, 50]。 - + excludeWindowCount 待屏蔽窗口的数量。 在 Windows 平台上,该参数最大值不超过 24,如果超过该值,则屏蔽窗口功能失效。 diff --git a/dita/RTC-NG/API/class_screencaptureparameters2.dita b/dita/RTC-NG/API/class_screencaptureparameters2.dita index 9b4e45c8b98..bfbd846907f 100644 --- a/dita/RTC-NG/API/class_screencaptureparameters2.dita +++ b/dita/RTC-NG/API/class_screencaptureparameters2.dita @@ -1,8 +1,8 @@ - + <ph keyref="ScreenCaptureParameters2"/> - 屏幕共享的参数配置。 + 屏幕共享配置。

    @@ -119,13 +119,13 @@ struct FScreenCaptureParameters2 { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") bool captureAudio = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") FScreenAudioParameters audioParams = FScreenAudioParameters(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") bool captureVideo = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") FScreenVideoParameters videoParams = FScreenVideoParameters(); #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) FScreenCaptureParameters2(){} @@ -197,50 +197,64 @@ public: @JsonKey(name: 'videoParams') final ScreenVideoParameters? videoParams; - factory ScreenCaptureParameters2.fromJson(Map<String, dynamic> json) => + factory ScreenCaptureParameters2.fromJson(Map<String, dynamic> json) => _$ScreenCaptureParameters2FromJson(json); - Map<String, dynamic> toJson() => _$ScreenCaptureParameters2ToJson(this); + Map<String, dynamic> toJson() => _$ScreenCaptureParameters2ToJson(this); } -

    +

    -

    -

    +

    +
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - captureAudio - 屏幕共享时是否采集系统音频: + + captureAudio + 屏幕共享时是否采集系统音频:
    • : 采集系统音频。
    • : (默认)不采集系统音频。
      -
    • 受系统限制,采集系统音频仅适用于 Android API 级别为 29 及以上,即 Android 10 及以上。
    • -
    • 为提高屏幕共享时采集系统音频的成功率,请确保你已调用 方法并设置音频场景为
    -
    - - audioParams - 共享屏幕流的音频配置。详见 。 +
  • 受系统限制,采集系统音频仅适用于 Android API 级别为 29 及以上,即 Android 10 及以上。
  • +
  • 为提高屏幕共享时采集系统音频的成功率,请确保你已调用 方法并设置音频场景为
  • + 是否在屏幕共享时采集系统音频: +
      +
    • :采集系统音频。
    • +
    • :(默认)不采集系统音频。
    • +
    +
    +
    + + audioParams + 共享屏幕流的音频配置。详见 该参数仅在 captureAudio 时生效。 - - - captureVideo - 屏幕共享时是否采集屏幕: + 共享屏幕音频流的音频配置。详见 + + + captureVideo + 屏幕共享时是否采集屏幕:
    • :(默认)采集屏幕。
    • : 不采集屏幕。
    - 受系统限制,采集屏幕仅适用于 Android API 级别为 21 及以上,即 Android 5 及以上。
    -
    - - videoParams - 共享屏幕流的视频编码配置。详见 。 + 受系统限制,采集屏幕仅适用于 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..895bc30b808 100644 --- a/dita/RTC-NG/API/class_screencapturesourceinfo.dita +++ b/dita/RTC-NG/API/class_screencapturesourceinfo.dita @@ -1,13 +1,13 @@ - + <ph keyref="ScreenCaptureSourceInfo"/> - 可共享窗口或屏幕的信息。 中返回。 + 提供可共享的窗口或屏幕的信息。

    - + __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject @property(assign, nonatomic) AgoraScreenCaptureSourceType type; @property(assign, nonatomic) CGWindowID sourceId; @@ -22,53 +22,50 @@ @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; +int64_t sourceId; +const char* sourceName; +ThumbImageBuffer thumbImage; +ThumbImageBuffer iconImage; +const char* processPath; +const char* sourceTitle; +bool primaryMonitor; +bool isOccluded; +Rectangle position; #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) {} +bool minimizeWindow; +int64_t sourceDisplayId; #else - ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {} #endif }; USTRUCT(BlueprintType) struct FScreenCaptureSourceInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") FENUMWRAP_ScreenCaptureSourceType type = FENUMWRAP_ScreenCaptureSourceType(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") int64 sourceId = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") - FString sourceName = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + FString sourceName = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") FThumbImageBuffer thumbImage = FThumbImageBuffer(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") FThumbImageBuffer iconImage = FThumbImageBuffer(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") - FString processPath = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") - FString sourceTitle = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + FString processPath = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + FString sourceTitle = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") bool primaryMonitor = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") bool isOccluded = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") FRectangle position = FRectangle(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") bool minimizeWindow = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") int64 sourceDisplayId = 0; #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) FScreenCaptureSourceInfo(){} @@ -153,7 +150,7 @@ public: public Rectangle position; public long sourceDisplayId; }; - + class ScreenCaptureSourceInfo { const ScreenCaptureSourceInfo( {this.type, @@ -201,69 +198,94 @@ public: @JsonKey(name: 'sourceDisplayId') final int? sourceDisplayId; - factory ScreenCaptureSourceInfo.fromJson(Map<String, dynamic> json) => + factory ScreenCaptureSourceInfo.fromJson(Map<String, dynamic> json) => _$ScreenCaptureSourceInfoFromJson(json); - Map<String, dynamic> toJson() => _$ScreenCaptureSourceInfoToJson(this); + Map<String, dynamic> toJson() => _$ScreenCaptureSourceInfoToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - type + + type 共享目标的类型。详见 + 共享目标的类型,详见 - - sourceId + + sourceId 对于窗口,表示窗口 ID(Window ID);对于屏幕,表示屏幕 ID(Display ID)。 + 共享目标的唯一标识符。 - - sourceName + + sourceName 窗口或屏幕的名称。UTF-8 编码。 + 共享目标的名称。 - - thumbImage - 缩略图的图像内容。详见 + + thumbImage + 缩略图的图像内容。详见 + 缩略图的图像内容,详见 - - iconImage - 图标的图像内容。详见 + + iconImage + 图标的图像内容。详见 + 图标的图像内容,详见 - - processPath + + processPath 窗口所属的进程。UTF-8 编码。 + 共享窗口所属进程的路径。 - - sourceTitle + + sourceTitle 窗口标题。UTF-8 编码。 + 共享窗口的标题。 - - primaryMonitor + + primaryMonitor 屏幕是否为主显示屏:
    • : 屏幕为主显示屏。
    • : 屏幕不是主显示屏。
    + 是否为主显示器: +
      +
    • :该屏幕是主显示器。
    • +
    • :该屏幕不是主显示器。
    • +
    +
    - - position - 窗口相对于整个屏幕空间(包含所有可共享屏幕)的位置。详见 详见 + + position + 窗口相对于整个屏幕空间(包含所有可共享屏幕)的位置。详见 详见 + 窗口相对于整个屏幕空间(包括所有可共享屏幕)的位置信息,详见 - - minimizeWindow + + minimizeWindow (仅适用于 Windows) 窗口是否已最小化:
    • : 窗口已最小化。
    • : 窗口未最小化。
    + (仅适用于 Windows)窗口是否最小化: +
      +
    • :窗口已最小化。
    • +
    • :窗口未最小化。
    • +
    +
    - - sourceDisplayId + + sourceDisplayId (仅适用于 Windows) 窗口所在的屏幕 ID。如果窗口为跨屏幕显示,则表示与该窗口相交面积最大的屏幕 ID。如果窗口位于可见屏幕之外,则该成员的值为 -2。 + (仅适用于 Windows)窗口所在的屏幕 ID。如果窗口跨多个屏幕显示,该参数表示窗口与其交集面积最大的屏幕的 ID。如果窗口位于不可见屏幕区域,则该值为 -2。 + + + isOccluded + 共享窗口是否被遮挡。
    diff --git a/dita/RTC-NG/API/class_screenvideoparameters.dita b/dita/RTC-NG/API/class_screenvideoparameters.dita index c283a7a95c8..d6ade5072e8 100644 --- a/dita/RTC-NG/API/class_screenvideoparameters.dita +++ b/dita/RTC-NG/API/class_screenvideoparameters.dita @@ -1,8 +1,8 @@ - + <ph keyref="ScreenVideoParameters"/> - 共享屏幕流的视频编码配置。 + 共享屏幕视频流的配置参数。

    @@ -73,13 +73,13 @@ struct FScreenVideoParameters { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") FVideoDimensions dimensions = FVideoDimensions(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") int frameRate = 15; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") int bitrate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters") EVIDEO_CONTENT_HINT contentHint = EVIDEO_CONTENT_HINT::CONTENT_HINT_MOTION; #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) FScreenVideoParameters(){} @@ -150,21 +150,21 @@ public: final int? bitrate; @JsonKey(name: 'contentHint') final VideoContentHint? contentHint; - factory ScreenVideoParameters.fromJson(Map<String, dynamic> json) => + factory ScreenVideoParameters.fromJson(Map<String, dynamic> json) => _$ScreenVideoParametersFromJson(json); - Map<String, dynamic> toJson() => _$ScreenVideoParametersToJson(this); + Map<String, dynamic> toJson() => _$ScreenVideoParametersToJson(this); } -

    +

    -

    仅适用于 captureVideo 的场景。

    -
    +

    captureVideo 的场景。

    +
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - dimensions - 视频编码的分辨率。默认值为 1280 × 720。 + + dimensions + 视频编码的分辨率。默认值为 1280 × 720。 如果 dimensions 宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 dimensions 是 1280 × 720 为例:
    • 当屏幕宽和高的像素值均小于 dimensions 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
    • @@ -176,7 +176,7 @@ public:
    • 该值不代表最终视频输出的方向。详见 了解设置视频方向。
    • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
    - 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。 + 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。
    • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
    • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则: @@ -235,23 +235,26 @@ public:
    - + framerate - frameRate + frameRate 视频编码帧率 (fps)。默认值为 15。 + 视频编码的帧率(fps)。默认值为 15。详见 - - bitrate + + bitrate 视频编码码率 (Kbps)。 + 视频编码的码率(Kbps)。 - - contentHint - 屏幕共享视频的内容类型。详见 + + contentHint + 屏幕共享视频的内容类型。详见
    • (0):(默认)无指定的内容类型。
    • (1):内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。
    • (2):内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。
    + 屏幕共享的内容提示。详见
    diff --git a/dita/RTC-NG/API/class_segmentationproperty.dita b/dita/RTC-NG/API/class_segmentationproperty.dita index ad9a08c21cf..d6a613f6fcc 100644 --- a/dita/RTC-NG/API/class_segmentationproperty.dita +++ b/dita/RTC-NG/API/class_segmentationproperty.dita @@ -1,8 +1,8 @@ - <ph keyref="SegmentationProperty" /> - 背景图像的处理属性。 + <ph keyref="SegmentationProperty"/> + 背景图像处理属性。

    @@ -115,13 +115,14 @@ public:

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - modelType + + modelType 进行背景处理的算法。详见
    • (1): (默认) 适用于所有场景下的背景处理算法。
    • (2): 仅适用于绿幕背景下的背景处理算法。
    + 用于背景处理的算法类型。详见
    preferVelocity @@ -132,14 +133,15 @@ public: 该参数仅在 modelType 设置为 时生效。 - - greenCapacity + + greenCapacity

    对画面中背景颜色识别的精度范围。取值范围为 [0,1],默认值为 0.5。取值越大,代表可识别的纯色范围越大。当该参数取值过大时,人像边缘和人像范围内的纯色也会被识别。建议你根据实际效果动态调整该参数的值。

    该参数仅在 modelType 设置为 时生效。
    + 图像中背景颜色识别的精度范围。取值范围为 [0,1],默认值为 0.5。值越大,可识别的纯色范围越广。当该值过大时,人物边缘及人物区域中的纯色也可能被识别为背景。声网建议根据实际效果动态调整该参数的值。仅当 modelType 设置为 时,该参数才生效。
    - - screenColorType + + screenColorType 屏幕颜色类型。详见 屏幕颜色类型,详见 屏幕颜色类型: @@ -149,6 +151,7 @@ public:
  • (2): 蓝色。
  • + 屏幕颜色。详见
    diff --git a/dita/RTC-NG/API/class_simulcastconfig.dita b/dita/RTC-NG/API/class_simulcastconfig.dita index 7f8c1ba78b4..bb147c11ec3 100644 --- a/dita/RTC-NG/API/class_simulcastconfig.dita +++ b/dita/RTC-NG/API/class_simulcastconfig.dita @@ -2,7 +2,7 @@ <ph keyref="SimulcastConfig"/> - 配置多质量层级的视频流。 + 配置不同质量层级的视频流。

    @@ -11,7 +11,7 @@ public boolean publishFallbackEnable; } - __attribute__((visibility("default"))) @interface AgoraSimulcastConfig: NSObject + @interface AgoraSimulcastConfig: NSObject @property (copy, nonatomic, readonly) NSArray<AgoraStreamLayerConfig*>* _Nonnull configs; @property (assign, nonatomic) BOOL publishFallbackEnable; @end @@ -44,12 +44,13 @@

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - configs + + configs 分层推流配置项,详见 + 多质量层级视频流的配置。详见 AgoraStreamLayerConfig - - publishFallbackEnable + + publishFallbackEnable publish_fallback_enable 是否开启分层推流回退。
      @@ -69,6 +70,12 @@
    • :(默认)禁用分层推流回退。
    + 是否启用分层推流回退: +
      +
    • :启用分层推流回退。当发布端设备性能或网络较差时,SDK 会动态关闭多个不同质量层级的视频流,从 layer1 到 layer6。系统会保留最高质量和最低质量的视频流,以维持基本的视频连贯性。
    • +
    • :(默认)关闭分层推流回退。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_simulcaststreamconfig.dita b/dita/RTC-NG/API/class_simulcaststreamconfig.dita index dec86f8b6a8..f788c9a0020 100644 --- a/dita/RTC-NG/API/class_simulcaststreamconfig.dita +++ b/dita/RTC-NG/API/class_simulcaststreamconfig.dita @@ -1,8 +1,8 @@ - + - <ph keyref="SimulcastStreamConfig" /> - 视频小流的配置。 + <ph keyref="SimulcastStreamConfig"/> + 低质量视频流配置。

    @@ -34,11 +34,11 @@ this.dimensions = new VideoDimensions(-1, -1); } } - __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject - @property (assign, nonatomic) int kBitrate; - @property (assign, nonatomic) int framerate; - @property (assign, nonatomic) CGSize dimensions; - @end + @interface AgoraSimulcastStreamConfig: NSObject +@property (assign, nonatomic) int kBitrate; +@property (assign, nonatomic) int framerate; +@property (assign, nonatomic) CGSize dimensions; +@end struct SimulcastStreamConfig { VideoDimensions dimensions; @@ -56,11 +56,11 @@ struct FSimulcastStreamConfig { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") FVideoDimensions dimensions = FVideoDimensions(); - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") int kBitrate = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") int framerate = 0; FSimulcastStreamConfig(){} FSimulcastStreamConfig(const agora::rtc::SimulcastStreamConfig & AgoraData){ @@ -111,21 +111,24 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - dimensions - 视频尺寸。详见 默认值为视频大流的 50%。 + + dimensions + 视频尺寸。详见 默认值为视频大流的 50%。 + 视频分辨率。默认值为高质量视频流分辨率的 50%。 - + bitrate - kBitrate + kBitrate 视频码率 (Kbps),默认值为 -1。该参数无需设置,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。 + 视频码率(Kbps)。默认值为 -1。无需设置该参数,SDK 会根据设置的视频分辨率和帧率自动匹配最合适的码率。 - - framerate + + framerate 视频帧率 (fps)。默认值为 5。 + 本地视频的帧率(fps)。默认值为 5。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_snapshotconfig.dita b/dita/RTC-NG/API/class_snapshotconfig.dita index 3b5139befca..6241852773c 100644 --- a/dita/RTC-NG/API/class_snapshotconfig.dita +++ b/dita/RTC-NG/API/class_snapshotconfig.dita @@ -1,22 +1,21 @@ - + - <ph keyref="SnapshotConfig" /> - 视频截图设置。 + <ph keyref="SnapshotConfig"/> + 配置快照参数。

    - public class SnapshotConfig { + public class SnapshotConfig { public String filePath = null; - public Constants.VideoModulePosition position = - Constants.VideoModulePosition.VIDEO_MODULE_POSITION_PRE_ENCODER; + public Constants.VideoModulePosition position = Constants.VideoModulePosition.VIDEO_MODULE_POSITION_PRE_ENCODER; } - - __attribute__((visibility("default"))) @interface AgoraSnapshotConfig: NSObject + + __attribute__((visibility("default"))) @interface AgoraSnapshotConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property(assign, nonatomic) AgoraVideoModulePosition position; @end - struct SnapshotConfig { + struct SnapshotConfig { const char* filePath; media::base::VIDEO_MODULE_POSITION position; @@ -58,23 +57,30 @@ public: @JsonKey(name: 'position') final VideoModulePosition? position; - factory SnapshotConfig.fromJson(Map<String, dynamic> json) => + factory SnapshotConfig.fromJson(Map<String, dynamic> json) => _$SnapshotConfigFromJson(json); - Map<String, dynamic> toJson() => _$SnapshotConfigToJson(this); + Map<String, dynamic> toJson() => _$SnapshotConfigToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - position + + position 截图的视频帧在视频链路中的位置。详见 + 快照视频帧在视频管线中的位置,详见 + 截图视频帧在视频处理流程中的位置,详见 + + + filePath + 截图保存的本地路径(包括文件扩展名)。例如:Android:/storage/emulated/0/Android/data/<package name>/files/example.jpg。请确保指定的路径存在且具有可写权限。 + 截图的本地路径(包含文件扩展名)。例如:iOS 平台为 /App Sandbox/Library/Caches/example.jpg。请确保指定的路径存在且可写。
    diff --git a/dita/RTC-NG/API/class_srcinfo.dita b/dita/RTC-NG/API/class_srcinfo.dita index a894159f1c8..3d339d762ee 100644 --- a/dita/RTC-NG/API/class_srcinfo.dita +++ b/dita/RTC-NG/API/class_srcinfo.dita @@ -1,8 +1,8 @@ - + - <ph keyref="SrcInfo" /> - 媒体资源播放时的视频码率相关信息。 + <ph keyref="SrcInfo"/> + 正在播放的媒体资源的视频码率信息。

    @@ -17,9 +17,9 @@ public bitrateInKbps:number = 0 - public name:string = "" + public name:string = "" } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject + @interface AgoraMediaPlayerSrcInfo : NSObject @property(assign, nonatomic) int bitrateInKbps; @property(copy, nonatomic) NSString *_Nullable name; @end @@ -31,10 +31,10 @@ struct FSrcInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SrcInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SrcInfo") int bitrateInKbps = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SrcInfo") - FString name = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SrcInfo") + FString name = ""; FSrcInfo(){} FSrcInfo(const agora::media::base::SrcInfo& srcInfo) { bitrateInKbps = srcInfo.bitrateInKbps; @@ -78,19 +78,21 @@ public: _$SrcInfoFromJson(json); Map<String, dynamic> toJson() => _$SrcInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - bitrateInKbps + + bitrateInKbps 媒体资源播放时的视频码率(Kbps)。 + 正在播放的媒体资源的视频码率,单位为 Kbps。 - - name + + name 媒体资源的名字。 + 媒体资源的名称。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_streamlayerconfig.dita b/dita/RTC-NG/API/class_streamlayerconfig.dita index 14468eca0c1..f9af7548dfd 100644 --- a/dita/RTC-NG/API/class_streamlayerconfig.dita +++ b/dita/RTC-NG/API/class_streamlayerconfig.dita @@ -12,7 +12,7 @@ public boolean enable; } - __attribute__((visibility("default"))) @interface AgoraStreamLayerConfig: NSObject + @interface AgoraStreamLayerConfig: NSObject @property (assign, nonatomic) CGSize dimensions; @property (assign, nonatomic) int framerate; @property (assign, nonatomic) BOOL enable; @@ -36,23 +36,25 @@
    自 v4.6.0 版本新增。
    -

    用于配置多质量层级视频流中某一层的分辨率、帧率和启用状态。

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - dimensions + + dimensions 视频帧尺寸。详见 视频帧的尺寸。默认值为 0。 视频帧尺寸。默认值为 0。详见 + 视频帧尺寸。默认值为 0。 - - framerate + + framerate 本地视频的采集帧率(fps)。默认值为 0。 + 本地视频采集的帧率(fps)。默认值为 0。 - - enable + + enable 是否启用对应层级的视频流。默认值为
    • :启用对应层级的视频流。
    • @@ -71,6 +73,12 @@
    • :(默认)不启用对应层级的视频流。
    + 是否启用对应层的视频流。 +
      +
    • :启用对应层的视频流。
    • +
    • :(默认)不启用对应层的视频流。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_thumbimagebuffer.dita b/dita/RTC-NG/API/class_thumbimagebuffer.dita index 80d1d8e860d..6922a28bb03 100644 --- a/dita/RTC-NG/API/class_thumbimagebuffer.dita +++ b/dita/RTC-NG/API/class_thumbimagebuffer.dita @@ -1,34 +1,33 @@ - + - <ph keyref="ThumbImageBuffer" /> - 缩略图或图标的图像内容。在 中设置。 + <ph keyref="ThumbImageBuffer"/> + 缩略图或图标的图像内容,可设置在 中。

    - - - + + + struct ThumbImageBuffer { const char* buffer; unsigned int length; unsigned int width; unsigned int height; - ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {} }; USTRUCT(BlueprintType) struct FThumbImageBuffer { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") UImage* Image = nullptr; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") TArray<uint8> buffer; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") int64 length = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") int64 width = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") int64 height = 0; #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) FThumbImageBuffer(){} @@ -136,11 +135,12 @@ public:

    图像默认为 ARGB 格式。如果你需要使用其他格式,请自行转换格式。
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - buffer + + buffer 缩略图或图标的 buffer。 + 缩略图或图标的缓冲区。 length @@ -156,4 +156,4 @@ public:
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_transcodinguser.dita b/dita/RTC-NG/API/class_transcodinguser.dita index a3b58b42732..32464de421c 100644 --- a/dita/RTC-NG/API/class_transcodinguser.dita +++ b/dita/RTC-NG/API/class_transcodinguser.dita @@ -1,8 +1,8 @@ - + - <ph keyref="TranscodingUser" /> - 参与转码合流的每个主播的设置。 + <ph keyref="TranscodingUser"/> + 每位主播的转码配置。

    @@ -41,8 +41,7 @@ public audioChannel: number = 0; } - __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject - + @interface AgoraLiveTranscodingUser : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) CGRect rect; @property(assign, nonatomic) NSInteger zOrder; @@ -72,21 +71,21 @@ struct FTranscodingUser { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int64 uid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int x = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int y = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int width = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int height = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int zOrder = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") float alpha = 1.0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingUser") int audioChannel = 0; FTranscodingUser(){} FTranscodingUser(const agora::rtc::TranscodingUser & AgoraData){ @@ -201,43 +200,45 @@ public: _$TranscodingUserFromJson(json); Map<String, dynamic> toJson() => _$TranscodingUserToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - uid + + uid

    主播的用户 ID。

    + 主播的用户 ID。
    - + x -

    主播视频画面在输出视频画面的 x 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

    +

    主播视频画面在输出视频画面的 x 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

    - + y - 主播视频画面在输出视频画面的 y 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height + 主播视频画面在输出视频画面的 y 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height - + width 主播视频画面的宽 (px)。 - + height

    主播视频画面的高 (px)。

    - - rect + + rect 主播视频画面在输出视频画面的位置和大小,类型为 CGRect。 + 主播视频在输出画面中的位置和大小。 - - zOrder + + zOrder

    主播视频画面的图层编号。取值范围为 [0,100]。 @@ -252,12 +253,20 @@ public:

      -
    • 如果取值小于 0 或大于 100,会返回错误
    • +
    • 如果取值小于 0 或大于 100,会返回错误
    • 支持将 zOrder 设置为 0。
    + 主播视频的图层索引号。取值范围为 [0, 100]。 +
      +
    • 0:(默认)主播视频处于底层。
    • +
    • 100:主播视频处于顶层。
    • +
    • 如果取值小于 0 或大于 100,会返回 错误码。
    • +
    • 支持将 zOrder 设置为 0。
    • +
    +
    - - alpha + + alpha

    主播视频画面的透明度。取值范围为 [0.0,1.0]。 @@ -271,9 +280,15 @@ public:

  • 1.0:(默认)完全不透明。
  • + 主播视频的透明度。取值范围为 [0.0, 1.0]。 +
      +
    • 0.0:完全透明。
    • +
    • 1.0:(默认)不透明。
    • +
    +
    - - audioChannel + + audioChannel

    主播音频在输出音频中占用的声道。默认值为 0,取值范围为 [0,5]: @@ -293,6 +308,18 @@ public: 取值不为 0 时,需要使用特殊的播放器。

    + 主播音频在输出音频中使用的音频声道。默认值为 0,取值范围为 [0, 5]。 +
      +
    • 0:(推荐)默认设置,最多支持双声道,具体取决于主播的上行音频。
    • +
    • 1:主播音频使用 FL 声道。如果主播上行使用多声道,声网服务器会先混合为单声道。
    • +
    • 2:主播音频使用 FC 声道。如果主播上行使用多声道,声网服务器会先混合为单声道。
    • +
    • 3:主播音频使用 FR 声道。如果主播上行使用多声道,声网服务器会先混合为单声道。
    • +
    • 4:主播音频使用 BL 声道。如果主播上行使用多声道,声网服务器会先混合为单声道。
    • +
    • 5:主播音频使用 BR 声道。如果主播上行使用多声道,声网服务器会先混合为单声道。
    • +
    • 0xFF 或大于 5 的值:主播音频会被静音,声网服务器会移除主播音频。
    • +
    • 如果该值不为 0,需要使用特殊播放器。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_transcodingvideostream.dita b/dita/RTC-NG/API/class_transcodingvideostream.dita index d08c2ccd219..4d1450b3980 100644 --- a/dita/RTC-NG/API/class_transcodingvideostream.dita +++ b/dita/RTC-NG/API/class_transcodingvideostream.dita @@ -1,8 +1,8 @@ - + <ph keyref="TranscodingVideoStream"/> - 参与本地合图的视频流。 + 用于本地合图的视频流配置。

    @@ -57,7 +57,7 @@ public constructor() { this.remoteUserUid = 0; this.sourceType = Constants.VideoSourceType.CAMERA_PRIMARY; - this.imageUrl = ""; + this.imageUrl = ""; this.mediaPlayerId = -1; this.x = 0; this.y = 0; @@ -68,9 +68,9 @@ this.mirror = false; } } - __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject -@property (assign, nonatomic) AgoraVideoSourceType sourceType; + @interface AgoraTranscodingVideoStream: NSObject @property (assign, nonatomic) NSUInteger remoteUserUid; +@property (assign, nonatomic) AgoraVideoSourceType sourceType; @property (copy, nonatomic) NSString * _Nullable imageUrl; @property(assign, nonatomic) NSUInteger mediaPlayerId; @property (assign, nonatomic) CGRect rect; @@ -106,27 +106,27 @@ struct FTranscodingVideoStream { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") EVIDEO_SOURCE_TYPE sourceType = EVIDEO_SOURCE_TYPE::VIDEO_SOURCE_CAMERA_PRIMARY; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int64 remoteUserUid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") - FString imageUrl = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + FString imageUrl = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int mediaPlayerId = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int x = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int y = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int width = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int height = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") int zOrder = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") float alpha = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") bool mirror = false; FTranscodingVideoStream(){} FTranscodingVideoStream(const agora::rtc::TranscodingVideoStream & AgoraData){ @@ -273,83 +273,111 @@ class TranscodingVideoStream { @JsonKey(name: 'mirror') final bool? mirror; - factory TranscodingVideoStream.fromJson(Map<String, dynamic> json) => + factory TranscodingVideoStream.fromJson(Map<String, dynamic> json) => _$TranscodingVideoStreamFromJson(json); - Map<String, dynamic> toJson() => _$TranscodingVideoStreamToJson(this); + Map<String, dynamic> toJson() => _$TranscodingVideoStreamToJson(this); }

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - sourceType + + sourceType 参与本地合图的视频源类型。详见 + 用于本地合图的视频源类型。详见 - - remoteUserUid + + remoteUserUid

    远端用户 ID。

    - 请仅在参与本地合图的视频源类型为 时,使用该参数。
    + 请仅在参与本地合图的视频源类型为 时,使用该参数。 + 远端用户的用户 ID。仅当视频源类型为 且用于本地合图时使用该参数。
    - - imageUrl + + imageUrl

    本地图片的路径。

    请仅在参与本地合图的视频源类型为图片时,使用该参数。 -

    示例路径: +

    示例路径:

      -
    • Android: /storage/emulated/0/Pictures/image.png
    • -
    • iOS: /var/mobile/Containers/Data/Application/<APP-UUID>/Documents/image.png
    • -
    • macOS: ~/Pictures/image.png
    • -
    • Windows: C:\\Users\\{username}\\Pictures\\image.png
    • +
    • Android: /storage/emulated/0/Pictures/image.png
    • +
    • iOS: /var/mobile/Containers/Data/Application/<APP-UUID>/Documents/image.png
    • +
    • macOS: ~/Pictures/image.png
    • +
    • Windows: C:\\Users\\{username}\\Pictures\\image.png

    + 本地图像的文件路径。 +
      +
    • iOS 示例:/var/mobile/Containers/Data/Application/<APP-UUID>/Documents/image.png
    • +
    • macOS 示例:~/Pictures/image.png 仅当视频源类型为图像且用于本地合图时使用该参数。
    • +
    +
    - - mediaPlayerId + + mediaPlayerId (可选)媒体播放器 ID。当你将 sourceType 设置为 时,需要设置该参数。 + 媒体播放器 ID。仅当你将 sourceType 设置为 时使用该参数。 - + x 参与本地合图的视频的左上角相对于合图画布左上角(原点)的横向位移。 - + y 参与本地合图的视频的左上角相对于合图画布左上角(原点)的纵向位移。 - + width 参与本地合图的视频的宽度 (px)。 - + height 参与本地合图的视频的高度 (px)。 - - rect + + rect 参与本地合图的视频的左上角相对于合图画布左上角(原点)的位置和视频大小,类型为 CGRect。 + 用于本地合图的视频相对于画布左上角的相对位置和尺寸。 - - zOrder + + zOrder 参与本地合图的视频所属的图层的编号。取值范围为 [0,100]。
    • 0:(默认值)图层在最下层。
    • 100: 图层在最上层。
    + 本地合图中视频所属图层的编号,取值范围为 [0, 100]。 +
      +
    • 0:(默认)图层位于最底层。
    • +
    • 100:图层位于最顶层。
    • +
    +
    - - alpha + + alpha 参与本地合图的视频的透明度。取值范围为 [0.0,1.0]。 0.0 表示透明度为完全透明,1.0 表示透明度为完全不透明。 + 本地合图中视频的透明度。取值范围为 [0.0, 1.0]。 +
      +
    • 0.0 表示完全透明。
    • +
    • 1.0 表示完全不透明。
    • +
    +
    - - mirror + + mirror 是否对参与本地合图的的视频进行镜像:
      -
    • : 将参与本地合图的视频进行镜像。
    • -
    • : (默认值)不将参与本地合图的视频进行镜像。
    • +
    • : 将参与本地合图的视频进行镜像。
    • +
    • : (默认值)不将参与本地合图的视频进行镜像。
    该参数仅对视频源类型为摄像头的视频生效。
    + 是否对本地合图中的视频进行镜像处理。 +
      +
    • :镜像视频。
    • +
    • :(默认)不镜像视频。 该参数仅对视频源类型为摄像头时生效。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_uplinknetworkinfo.dita b/dita/RTC-NG/API/class_uplinknetworkinfo.dita index af3c15198de..85090702bc0 100644 --- a/dita/RTC-NG/API/class_uplinknetworkinfo.dita +++ b/dita/RTC-NG/API/class_uplinknetworkinfo.dita @@ -1,16 +1,16 @@ - + - <ph keyref="UplinkNetworkInfo" /> + <ph keyref="UplinkNetworkInfo"/> 上行网络信息。

    public static class UplinkNetworkInfo { public int video_encoder_target_bitrate_bps; - }; - - __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject +}; + + @interface AgoraUplinkNetworkInfo : NSObject @property(nonatomic, assign) int videoEncoderTargetBitrateBps; @end struct UplinkNetworkInfo { @@ -26,7 +26,7 @@ struct FUplinkNetworkInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UplinkNetworkInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UplinkNetworkInfo") int video_encoder_target_bitrate_bps = 0; FUplinkNetworkInfo(){} FUplinkNetworkInfo(const agora::rtc::UplinkNetworkInfo & AgoraData){ @@ -70,16 +70,17 @@ public: _$UplinkNetworkInfoFromJson(json); Map<String, dynamic> toJson() => _$UplinkNetworkInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - video_encoder_target_bitrate_bps - videoEncoderTargetBitrateBps + + video_encoder_target_bitrate_bps + videoEncoderTargetBitrateBps 目标视频编码器的码率 (bps)。 + 目标视频编码器码率,单位为 bps。
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_useraudiospectruminfo.dita b/dita/RTC-NG/API/class_useraudiospectruminfo.dita index d2318438266..6ffc015ca4a 100644 --- a/dita/RTC-NG/API/class_useraudiospectruminfo.dita +++ b/dita/RTC-NG/API/class_useraudiospectruminfo.dita @@ -1,7 +1,7 @@ - + - <ph keyref="UserAudioSpectrumInfo" /> + <ph keyref="UserAudioSpectrumInfo"/> 远端用户的音频频谱信息。
    @@ -12,11 +12,9 @@ } - __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject - + @interface AgoraAudioSpectrumInfo : NSObject @property(nonatomic, assign) NSInteger uid; @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData; - @end struct UserAudioSpectrumInfo { agora::rtc::uid_t uid; @@ -30,9 +28,9 @@ struct FUserAudioSpectrumInfo { GENERATED_BODY() - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserAudioSpectrumInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserAudioSpectrumInfo") int64 uid; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserAudioSpectrumInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserAudioSpectrumInfo") FAudioSpectrumData spectrumData; }; export class UserAudioSpectrumInfo { @@ -63,22 +61,23 @@ struct FUserAudioSpectrumInfo { _$UserAudioSpectrumInfoFromJson(json); Map<String, dynamic> toJson() => _$UserAudioSpectrumInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - uid - 远端用户 ID。 + + uid + 远端用户 ID。 - + audioSpectrumInfo - audioSpectrumData - spectrumData + audioSpectrumData + spectrumData -

    远端用户的音频频谱数据。详见

    +

    远端用户的音频频谱数据。详见

    + 远端用户的音频频谱信息。详见 NSArray
    diff --git a/dita/RTC-NG/API/class_userinfo.dita b/dita/RTC-NG/API/class_userinfo.dita index d2932d46f51..44affb05d2b 100644 --- a/dita/RTC-NG/API/class_userinfo.dita +++ b/dita/RTC-NG/API/class_userinfo.dita @@ -1,8 +1,8 @@ - + - <ph keyref="UserInfo" /> - 用户的信息。 + <ph keyref="UserInfo"/> + 用户信息。

    @@ -22,17 +22,17 @@ public uint uid; public string userAccount; } - + __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject - @property(assign, nonatomic) NSUInteger uid; - @property (copy, nonatomic) NSString * _Nullable userAccount; - @end +@property(assign, nonatomic) NSUInteger uid; +@property (copy, nonatomic) NSString * _Nullable userAccount; +@end struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() : uid(0) { - userAccount[0] = '\0'; + userAccount[0] = '\0'; } }; USTRUCT(BlueprintType) @@ -40,10 +40,10 @@ struct FUserInfo { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") int64 uid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") - FString userAccount = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") + FString userAccount = ""; FUserInfo(){} FUserInfo(const agora::rtc::UserInfo & AgoraData){ uid = AgoraData.uid; @@ -81,19 +81,20 @@ public: _$UserInfoFromJson(json); Map<String, dynamic> toJson() => _$UserInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - uid - 用户 ID。 + + uid + 用户 ID。 - - userAccount - 用户 Account。长度限制为 + + userAccount + 用户 Account。长度限制为 + 用户账号。
    -
    \ 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 16e6e725a25..1a4e2124c81 100644 --- a/dita/RTC-NG/API/class_videocanvas.dita +++ b/dita/RTC-NG/API/class_videocanvas.dita @@ -1,4 +1,4 @@ - + <ph keyref="VideoCanvas"/> @@ -54,7 +54,7 @@ public static readonly VIDEO_MIRROR_MODE_ENABLED = 1; public static readonly VIDEO_MIRROR_MODE_DISABLED = 2; - public xcomponentId:string = ''; + public xcomponentId:string = ''; public uid:number = 0; public renderMode:number = VideoCanvas.RENDER_MODE_HIDDEN; public mirrorMode:number = 0; @@ -63,7 +63,7 @@ this.xcomponentId = componentId; } } - __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject + @interface AgoraRtcVideoCanvas : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger subviewUid; @property(strong, nonatomic) VIEW_CLASS *_Nullable view; @@ -112,30 +112,30 @@ struct FVideoCanvas { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") int64 uid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") int64 subviewUid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") UImage* view = nullptr; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") int64 backgroundColor = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") ERENDER_MODE_TYPE renderMode = ERENDER_MODE_TYPE::RENDER_MODE_HIDDEN; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") EVIDEO_MIRROR_MODE_TYPE mirrorMode = EVIDEO_MIRROR_MODE_TYPE::VIDEO_MIRROR_MODE_AUTO; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") EVIDEO_VIEW_SETUP_MODE setupMode = EVIDEO_VIEW_SETUP_MODE::VIDEO_VIEW_SETUP_REPLACE; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") EVIDEO_SOURCE_TYPE sourceType = EVIDEO_SOURCE_TYPE::VIDEO_SOURCE_CAMERA_PRIMARY; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") int mediaPlayerId = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") FRectangle cropArea; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") bool enableAlphaMask = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") EVIDEO_MODULE_POSITION position = EVIDEO_MODULE_POSITION::POSITION_POST_CAPTURER; FVideoCanvas(){} @@ -232,40 +232,40 @@ class VideoCanvas { this.enableAlphaMask, this.position}); - @JsonKey(name: 'uid') + @JsonKey(name: 'uid') final int? uid; - @JsonKey(name: 'subviewUid') + @JsonKey(name: 'subviewUid') final int? subviewUid; - @JsonKey(name: 'view') + @JsonKey(name: 'view') final int? view; - @JsonKey(name: 'backgroundColor') + @JsonKey(name: 'backgroundColor') final int? backgroundColor; - @JsonKey(name: 'renderMode') + @JsonKey(name: 'renderMode') final RenderModeType? renderMode; - @JsonKey(name: 'mirrorMode') + @JsonKey(name: 'mirrorMode') final VideoMirrorModeType? mirrorMode; - @JsonKey(name: 'setupMode') + @JsonKey(name: 'setupMode') final VideoViewSetupMode? setupMode; - @JsonKey(name: 'sourceType') + @JsonKey(name: 'sourceType') final VideoSourceType? sourceType; - @JsonKey(name: 'mediaPlayerId') + @JsonKey(name: 'mediaPlayerId') final int? mediaPlayerId; - @JsonKey(name: 'cropArea') + @JsonKey(name: 'cropArea') final Rectangle? cropArea; - @JsonKey(name: 'enableAlphaMask') + @JsonKey(name: 'enableAlphaMask') final bool? enableAlphaMask; - @JsonKey(name: 'position') + @JsonKey(name: 'position') final VideoModulePosition? position; factory VideoCanvas.fromJson(Map<String, dynamic> json) => @@ -273,51 +273,53 @@ class VideoCanvas { Map<String, dynamic> toJson() => _$VideoCanvasToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - uid - 发布视频源的用户 ID。 - 对于 Android 和 iOS 平台,当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。 + + uid + 发布视频源的用户 ID。 + 对于 Android 和 iOS 平台,当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。 本地用户 uid 默认为 0。如果你想使用自定义的 uid 渲染本地视图,你还需要同时传入 sourceType 当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。 - - - subviewUid - 发布某一路合图子视频流的用户 ID。 - 预留参数。 - 该参数仅适用于 Android 和 iOS 平台。 - - - view - 视频显示窗口。必须为一个 对象。 - 在一个 中,你只能选择 viewsurfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。 + + + subviewUid + 发布某一路合图子视频流的用户 ID。 + 预留参数。 + 该参数仅适用于 Android 和 iOS 平台。 + 视频显示窗口。 + + + view + 视频显示窗口。必须为一个 对象。 + 在一个 中,你只能选择 viewsurfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。 - 视频图像。你需要定义 UImage 类型的指针,并传入该参数,示例代码如下: - agora::rtc::VideoCanvas videoCanvas; + 视频图像。你需要定义 UImage 类型的指针,并传入该参数,示例代码如下: + agora::rtc::VideoCanvas videoCanvas; UImage* LocalVideo; videoCanvas.view = LocalVideo; - - - surfaceTexture - 提供视频图像的容器,当你使用该成员时,需要自行实现 OPENGL 中的纹理绘制。详见 。 + + + surfaceTexture + 提供视频图像的容器,当你使用该成员时,需要自行实现 OPENGL 中的纹理绘制。详见 在一个 中,你只能选择 viewsurfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。 - - - renderMode - 视频渲染模式,详见 -
    -
    - - mirrorMode + + + renderMode + 视频渲染模式,详见 +
    + 视频的渲染模式,详见 +
    + + mirrorMode -

    视图镜像模式,详见

    - +

    视图镜像模式,详见

    +

    • @@ -330,14 +332,15 @@ class VideoCanvas {
    + 视图的镜像模式,详见
    - - sourceType - 视频源的类型,详见 - - - setupMode - 视图设置模式。详见 + + sourceType + 视频源的类型,详见 + + + setupMode + 视图设置模式。详见 视图设置模式:
    • (0): (默认) 替换一个视图。
    • @@ -345,51 +348,62 @@ class VideoCanvas {
    • (2): 删除一个视图。 当你不再需要使用某个视图时,建议及时设置 setupMode 删除视图,否则可能会导致渲染资源泄漏。
    + 视图的设置模式,详见
    - - mediaPlayerId + + mediaPlayerId 媒体播放器 ID。可通过 获取。 sourceType 时,此参数为必填项。 + 媒体播放器的 ID。可通过调用 获取设备 ID。 - rect - (可选)视频帧的展示区域。详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - - - cropArea + rect + (可选)视频帧的展示区域。详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 + + + cropArea (可选)视频帧的展示区域,详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - - - cropArea - (可选)视频帧的展示区域,详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - - - backgroundColor - 视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表黑色。 + (可选)视频帧的显示区域。widthheight 表示该区域的视频像素宽度和高度。默认值为 (宽或高为 0),表示显示视频帧的实际分辨率。 + + + cropArea + (可选)视频帧的展示区域,详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 + + + backgroundColor + 视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表黑色。
    • 如果你使用 Kotlin 开发,设置 0xFFFFFFFF 如果编译报错,请使用 (0xFFFFFFFF).toInt() 转换,或使用 android.graphics.Color.parseColor("#FFFFFFFF")
    • 目前 backgroundColor 属性中的 RGBA 格式暂不支持设置 Alpha 通道的值。
    -
    - - enableAlphaMask - (可选)是否开启 Alpha 遮罩渲染: + 视频画布的背景颜色,使用 RGBA 格式。默认值为 0x00000000,表示黑色。 + + + enableAlphaMask + (可选)是否开启 Alpha 遮罩渲染:
    • :开启 Alpha 遮罩渲染。
    • :(默认)关闭 Alpha 遮罩渲染。

    Alpha 遮罩渲染可以创建具有透明效果的图像,还可以提取视频中的人像。与其他方法结合使用时,可以实现人像画中画、添加水印等效果。

    - +
    • 仅当发送端开启 Alpha 传输功能时,接收端才能渲染 Alpha 通道的信息。
    • 如需开启 Alpha 传输功能,请
    - 预留。 -
    - - position - 视频帧在视频链路中的位置。详见 - + 预留。 + 是否启用 Alpha Mask 渲染: +
      +
    • :启用 Alpha Mask 渲染。
    • +
    • :(默认)不启用 Alpha Mask 渲染。 Alpha Mask 渲染可创建透明效果图像并从视频中提取人像。结合其他方法可实现画中画、人像抠图、水印等效果。
    • +
    +
    +
    + + position + 视频帧在视频链路中的位置。详见 + 视频帧在视频链路中的观测位置,详见 +
    diff --git a/dita/RTC-NG/API/class_videodenoiseroptions.dita b/dita/RTC-NG/API/class_videodenoiseroptions.dita index 58f00883642..c692ef98a7f 100644 --- a/dita/RTC-NG/API/class_videodenoiseroptions.dita +++ b/dita/RTC-NG/API/class_videodenoiseroptions.dita @@ -1,7 +1,7 @@ - + - <ph keyref="VideoDenoiserOptions" /> + <ph keyref="VideoDenoiserOptions"/> 视频降噪选项。
    @@ -26,12 +26,11 @@ } } - - __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject + + @interface AgoraVideoDenoiserOptions : NSObject @property(nonatomic, assign) AgoraVideoDenoiserMode mode; @property(nonatomic, assign) AgoraVideoDenoiserLevel level; -@end - +@end struct VideoDenoiserOptions { enum VIDEO_DENOISER_MODE { VIDEO_DENOISER_AUTO = 0, @@ -99,35 +98,37 @@ public: @JsonKey(name: 'level') final VideoDenoiserLevel? level; - factory VideoDenoiserOptions.fromJson(Map<String, dynamic> json) => + factory VideoDenoiserOptions.fromJson(Map<String, dynamic> json) => _$VideoDenoiserOptionsFromJson(json); - Map<String, dynamic> toJson() => _$VideoDenoiserOptionsToJson(this); + Map<String, dynamic> toJson() => _$VideoDenoiserOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - level + + level denoiserLevel - 视频降噪等级。详见 + 视频降噪等级。详见
      -
    • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
    • -
    • (1):优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。
    • +
    • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
    • +
    • (1):优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。
    + 视频降噪等级。详见
    - - mode + + mode denoiserMode - 视频降噪模式。详见 + 视频降噪模式。详见
      -
    • (0):(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。
    • -
    • (1):手动模式。用户需手动开启或关闭视频降噪功能。
    • +
    • (0):(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。
    • +
    • (1):手动模式。用户需手动开启或关闭视频降噪功能。
    + 视频降噪模式。详见
    diff --git a/dita/RTC-NG/API/class_videoencoderconfiguration.dita b/dita/RTC-NG/API/class_videoencoderconfiguration.dita index 20c740803ad..8c57ff79c82 100644 --- a/dita/RTC-NG/API/class_videoencoderconfiguration.dita +++ b/dita/RTC-NG/API/class_videoencoderconfiguration.dita @@ -1,8 +1,8 @@ - + <ph keyref="VideoEncoderConfiguration"/> - 视频编码器的配置。 + 视频编码器配置。

    @@ -262,7 +262,7 @@ public advanceOptions:AdvanceOptions = new AdvanceOptions(); constructor() {} } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -272,19 +272,6 @@ @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode; @property (assign, nonatomic) AgoraDegradationPreference degradationPreference; @property (strong, nonatomic) AgoraAdvancedVideoOptions *_Nullable advancedVideoOptions; - -- (instancetype _Nonnull)initWithSize:(CGSize)size - frameRate:(AgoraVideoFrameRate)frameRate - bitrate:(NSInteger)bitrate - orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode; - -- (instancetype _Nonnull)initWithWidth:(NSInteger)width - height:(NSInteger)height - frameRate:(AgoraVideoFrameRate)frameRate - bitrate:(NSInteger)bitrate - orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode; @end struct VideoEncoderConfiguration { VIDEO_CODEC_TYPE codecType; @@ -532,21 +519,21 @@ public: @JsonKey(name: 'advanceOptions') final AdvanceOptions? advanceOptions; - factory VideoEncoderConfiguration.fromJson(Map<String, dynamic> json) => + factory VideoEncoderConfiguration.fromJson(Map<String, dynamic> json) => _$VideoEncoderConfigurationFromJson(json); - Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); + Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - dimensions + + dimensions -

    视频编码的分辨率 (px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 960 × 540。用户可以自行设置分辨率。

    -

    用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率: +

    视频编码的分辨率 (px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 960 × 540。用户可以自行设置分辨率。

    +

    用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率:

    • :视频分辨率为 120 × 120。
    • @@ -576,14 +563,41 @@ public:
    • 默认值为 960 × 540。

    + 你可以自行设置分辨率,或从以下列表中选择: +
      +
    • :视频分辨率为 120 × 120。
    • +
    • :视频分辨率为 160 × 120。
    • +
    • :视频分辨率为 180 × 180。
    • +
    • :视频分辨率为 240 × 180。
    • +
    • :视频分辨率为 320 × 180。
    • +
    • :视频分辨率为 240 × 240。
    • +
    • :视频分辨率为 320 × 240。
    • +
    • :视频分辨率为 424 × 240。
    • +
    • :视频分辨率为 360 × 360。
    • +
    • :视频分辨率为 480 × 360。
    • +
    • :视频分辨率为 640 × 360。
    • +
    • :视频分辨率为 480 × 480。
    • +
    • :视频分辨率为 640 × 480。
    • +
    • :视频分辨率为 840 × 480。
    • +
    • :视频分辨率为 960 × 540。
    • +
    • :视频分辨率为 960 × 720。
    • +
    • :视频分辨率为 1280 × 720。
    • +
    • :视频分辨率为 1920 × 1080。
    • +
    • :视频分辨率为 2540 × 1440。
    • +
    • :视频分辨率为 3840 × 2160。
    • +
    • 是否支持 720p 或更高分辨率取决于设备性能。如果设备不支持 720p,帧率将低于设置值。
    • +
    • 默认值为 960 × 540。
    • +
    +
    - - codecType + + codecType 视频编码类型,详见 + 本地视频流的编码格式。详见 - - frameRate - 视频编码的帧率(fps),默认值为 15。详见 + + frameRate + 视频编码的帧率(fps),默认值为 15。详见 视频编码的帧率(fps),默认值为 15。
    • (1): 1 fps。
    • (7): 7 fps。
    • @@ -593,51 +607,64 @@ public:
    • (30): 30 fps。
    • (60): 60 fps。该帧率仅适用于 Windows 和 macOS 平台。
    + 编码视频帧的帧率(fps)。默认值为 15。详见
    - - bitrate + + bitrate -

    视频编码码率,单位为 Kbps。详见 该参数无需设置,保留默认值 即可,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见

    -
      +

      视频编码码率,单位为 Kbps。详见 该参数无需设置,保留默认值 即可,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见

      +
      • (0): (默认) 标准码率模式。
      • (-1): 适配码率模式。一般情况下,声网建议你不要使用该值。
      + 视频的编码码率(Kbps)。该参数无需设置,保持默认值 即可。SDK 会根据设置的视频分辨率和帧率自动匹配最合适的码率。 +
        +
      • (0):(推荐)标准码率模式。
      • +
      • (-1):自适应码率模式。一般不建议使用该值。
      • +
      +
      - - minBitrate + + minBitrate

      最低编码码率,单位为 Kbps。

      SDK 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。

      该参数仅适用于直播场景。
      + 视频的最小编码码率(Kbps)。SDK 会根据网络状况自动调整编码码率。设置大于默认值的值会强制视频编码器输出高质量图像,但可能导致更多的丢包并牺牲视频传输的流畅性。该参数仅适用于互动直播场景。
      - - orientationMode + + orientationMode 视频编码的方向模式,详见 + 编码视频的方向模式。详见 - - degradationPreference + + degradationPreference degradationPrefer 带宽受限时,视频编码降级偏好。详见 当该参数设置为 (1) 或者 (2) 时,需要同时将 orientationMode 设置为 (0),否则设置不生效。 + 在带宽受限的情况下的视频编码降级偏好。详见 。 +当该参数设置为 (1) 或 (2) 时,orientationMode 需同时设置为 (0),否则该设置不生效。 - - mirrorMode + + mirrorMode -

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

      - +

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

      +

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。

        -
      • (0):SDK 决定镜像模式。默认关闭远端用户的镜像模式。
      • -
      • (1):开启远端用户的镜像模式。
      • -
      • (2):关闭远端用户的镜像模式。
      • +
      • (0):SDK 决定镜像模式。默认关闭远端用户的镜像模式。
      • +
      • (1):开启远端用户的镜像模式。
      • +
      • (2):关闭远端用户的镜像模式。

      默认关闭镜像模式。
      + 设置本地视频流的镜像模式。该设置仅影响远端用户看到的视频。详见 。 +默认情况下,视频不镜像。
      - - advanceOptions - advancedVideoOptions - 视频编码的高级选项。详见 - + + advanceOptions + advancedVideoOptions + 视频编码的高级选项。详见 +
    方法 diff --git a/dita/RTC-NG/API/class_videolayout.dita b/dita/RTC-NG/API/class_videolayout.dita index 6bee5cd70a6..c37d0492ffd 100644 --- a/dita/RTC-NG/API/class_videolayout.dita +++ b/dita/RTC-NG/API/class_videolayout.dita @@ -1,8 +1,8 @@ - + <ph keyref="VideoLayout"/> - 某一路合图子视频流的布局信息。 + 设置合流中某个子视频流的布局信息。

    @@ -15,24 +15,13 @@ public int y; public int width; public int height; - @Override - public String toString() { - return "VideoLayout{" - + "channelId='" + channelId + '\'' + ", uid=" + uid + ", strUid='" + strUid + '\'' - + ", videoState=" + videoState + ", x=" + x + ", y=" + y + ", width=" + width - + ", height=" + height + '}'; - } } - - __attribute__((visibility("default"))) @interface AgoraVideoLayout: NSObject -@property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId); -@property (assign, nonatomic) NSUInteger uid NS_SWIFT_NAME(uid); -@property(copy, nonatomic) NSString* _Nullable strUid NS_SWIFT_NAME(strUid); -@property (assign, nonatomic) NSUInteger videoState NS_SWIFT_NAME(videoState); -@property (assign, nonatomic) NSUInteger x NS_SWIFT_NAME(x); -@property (assign, nonatomic) NSUInteger y NS_SWIFT_NAME(y); + + @interface AgoraVideoLayoutInfo: NSObject @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width); @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height); +@property (assign, nonatomic) NSUInteger layoutCount NS_SWIFT_NAME(layoutCount); +@property(copy, nonatomic) NSArray<AgoraVideoLayout *> *_Nullable layoutList NS_SWIFT_NAME(layoutList); @end struct VideoLayout { @@ -53,25 +42,25 @@ struct FVideoLayout public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") - FString channelId = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + FString channelId = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") int64 uid = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") - FString strUid = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + FString strUid = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") int64 x = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") int64 y = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") int64 width = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") int64 height = 0; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FVideoLayout") int64 videoState = 0; FVideoLayout(){} FVideoLayout(const agora::VideoLayout & AgoraData){ @@ -134,21 +123,21 @@ class VideoLayout { this.width, this.height, this.videoState}); - @JsonKey(name: 'channelId') + @JsonKey(name: 'channelId') final String? channelId; - @JsonKey(name: 'uid') + @JsonKey(name: 'uid') final int? uid; - @JsonKey(name: 'strUid') + @JsonKey(name: 'strUid') final String? strUid; - @JsonKey(name: 'x') + @JsonKey(name: 'x') final int? x; - @JsonKey(name: 'y') + @JsonKey(name: 'y') final int? y; - @JsonKey(name: 'width') + @JsonKey(name: 'width') final int? width; - @JsonKey(name: 'height') + @JsonKey(name: 'height') final int? height; - @JsonKey(name: 'videoState') + @JsonKey(name: 'videoState') final int? videoState; factory VideoLayout.fromJson(Map<String, dynamic> json) => _$VideoLayoutFromJson(json); @@ -156,54 +145,72 @@ class VideoLayout { }

    -
    - -
    自从
    -
    v4.3.0
    -
    -

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - channelId + + channelId 合图子视频流所属的频道名。 + 该子视频流所属的频道名。 - - uid - 发布该合图子视频流的用户 ID。 - - - strUid - 预留参数。 - - - x - 合图子视频在合图画布上的 x 坐标 (px)。即合图子视频的左上角相对于合图画布左上角(原点)的横向位移。 - - - y - 合图子视频在合图画布上的 y 坐标 (px)。即合图子视频的左上角相对于合图画布左上角(原点)的纵向位移。 - - - width - 合图子视频流的宽度 (px)。 - - - height - 合图子视频流的高度 (px) - - - videoState - 合图子视频流在合图画布上的状态。 + + uid + 发布该合图子视频流的用户 ID。 + 发布该子视频流的用户 ID。 + + + strUid + 预留参数。 + 预留参数,供未来使用。 + + + x + 合图子视频在合图画布上的 x 坐标 (px)。即合图子视频的左上角相对于合图画布左上角(原点)的横向位移。 + 子视频流在视频合流画布上的 X 坐标(像素)。表示视频左上角相对于画布原点(画布左上角)的横向偏移量。 + + + y + 合图子视频在合图画布上的 y 坐标 (px)。即合图子视频的左上角相对于合图画布左上角(原点)的纵向位移。 + 子视频流在视频合流画布上的 Y 坐标(像素)。表示视频左上角相对于画布原点(画布左上角)的纵向偏移量。 + + + width + 合图子视频流的宽度 (px)。 + 子视频流的宽度(像素)。 + 混合视频流的宽度(单位为像素)。 + + + height + 合图子视频流的高度 (px) + 子视频流的高度(像素)。 + 混合视频流的高度(单位为像素)。 + + + videoState + 合图子视频流在合图画布上的状态。
    • 0:正常。该视频流已被渲染到合图画布。
    • 1:占位图。该视频流无视频画面,在合图画布中显示为占位符。
    • 2:黑色图片。该视频流被黑色图片替代。
    -
    + 子视频流在视频合流画布上的状态: +
      +
    • 0:正常,子视频流已被渲染到画布上。
    • +
    • 1:占位图像,子视频流无视频帧,在画布上显示为占位图。
    • +
    • 2:黑色图像,子视频流被黑色图像替代。
    • +
    +
    +
    + + layoutCount + 混合视频流中布局信息的数量。 + + + layoutList + 混合视频流的详细布局信息。详见 +
    diff --git a/dita/RTC-NG/API/class_videolayoutinfo.dita b/dita/RTC-NG/API/class_videolayoutinfo.dita index acbfa828711..a8914dc46e4 100644 --- a/dita/RTC-NG/API/class_videolayoutinfo.dita +++ b/dita/RTC-NG/API/class_videolayoutinfo.dita @@ -1,8 +1,8 @@ - + <ph keyref="VideoLayoutInfo"/> - 合图视频流的详细布局信息。 + 混合视频流的布局配置信息。

    @@ -11,13 +11,13 @@ public int height; public int layoutCount; public VideoLayout[] layoutList; - } +} - __attribute__((visibility("default"))) @interface AgoraVideoLayoutInfo: NSObject + @interface AgoraVideoLayoutInfo: NSObject @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width); @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height); @property (assign, nonatomic) NSUInteger layoutCount NS_SWIFT_NAME(layoutCount); -@property(copy, nonatomic) NSArray<AgoraVideoLayout *> *_Nullable layoutList NS_SWIFT_NAME(layoutList); +@property(copy, nonatomic) NSArray<AgoraVideoLayout *> *_Nullable layoutList NS_SWIFT_NAME(layoutList); @end @@ -27,32 +27,30 @@

    -
    - -
    自从
    -
    v4.3.0
    -
    -
    -
    +
    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - width - 合图视频流的宽度 (px)。 - - - height - 合图视频流的高度 (px)。 - - - layoutCount - 合图视频流中布局信息的数量。 - - - layoutList - 某一路合图视频流的详细布局信息。详见 - + + width + 合图视频流的宽度 (px)。 + 混合视频流的宽度(单位:px)。 + + + height + 合图视频流的高度 (px)。 + 混合视频流的高度(单位:px)。 + + + layoutCount + 合图视频流中布局信息的数量。 + 混合视频流中布局信息的数量。 + + + layoutList + 某一路合图视频流的详细布局信息。详见 + 混合视频流的布局详细信息,详见 +
    diff --git a/dita/RTC-NG/API/class_videosubscriptionoptions.dita b/dita/RTC-NG/API/class_videosubscriptionoptions.dita index 6b85ae01e36..02235ca9527 100644 --- a/dita/RTC-NG/API/class_videosubscriptionoptions.dita +++ b/dita/RTC-NG/API/class_videosubscriptionoptions.dita @@ -1,8 +1,8 @@ - + <ph keyref="VideoSubscriptionOptions"/> - 视频订阅设置。 + 视频订阅选项。

    @@ -41,16 +41,14 @@ this.streamType = streamType; } } - - __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject - + + @interface AgoraVideoSubscriptionOptions: NSObject @property (nonatomic, assign) AgoraVideoStreamType type; @property (nonatomic, assign) BOOL encodedFrameOnly; - @end struct VideoSubscriptionOptions { - Optional<VIDEO_STREAM_TYPE> type; - Optional<bool> encodedFrameOnly; + Optional<VIDEO_STREAM_TYPE> type; + Optional<bool> encodedFrameOnly; VideoSubscriptionOptions() {} }; @@ -59,11 +57,11 @@ struct FVideoSubscriptionOptions { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") bool type_SetValue = false; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoSubscriptionOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoSubscriptionOptions") EVIDEO_STREAM_TYPE type = EVIDEO_STREAM_TYPE::VIDEO_STREAM_HIGH; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoSubscriptionOptions") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoSubscriptionOptions") EAgoraOptional encodedFrameOnly = EAgoraOptional::AGORA_NULL_VALUE; FVideoSubscriptionOptions(){} FVideoSubscriptionOptions(const agora::rtc::VideoSubscriptionOptions & AgoraData){ @@ -87,9 +85,9 @@ public: } public class VideoSubscriptionOptions:OptionalJsonParse { - public Optional<VIDEO_STREAM_TYPE> type = new Optional<VIDEO_STREAM_TYPE>(); + public Optional<VIDEO_STREAM_TYPE> type = new Optional<VIDEO_STREAM_TYPE>(); - public Optional<bool> encodedFrameOnly = new Optional<bool>(); + public Optional<bool> encodedFrameOnly = new Optional<bool>(); } export class VideoSubscriptionOptions { @@ -106,28 +104,35 @@ public: @JsonKey(name: 'encodedFrameOnly') final bool? encodedFrameOnly; - factory VideoSubscriptionOptions.fromJson(Map<String, dynamic> json) => + factory VideoSubscriptionOptions.fromJson(Map<String, dynamic> json) => _$VideoSubscriptionOptionsFromJson(json); - Map<String, dynamic> toJson() => _$VideoSubscriptionOptionsToJson(this); + Map<String, dynamic> toJson() => _$VideoSubscriptionOptionsToJson(this); } -

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - + streamType - type + type 订阅的视频流类型,默认值为 ,即订阅视频大流。详见 + 要订阅的视频流类型。默认值为 ,表示订阅高质量的视频流。详见 - - encodedFrameOnly + + encodedFrameOnly 是否仅订阅编码后的视频流:
    • :仅订阅编码后的视频数据(结构化数据),SDK 未对该视频数据做解码及渲染。
    • :(默认)订阅原始视频数据和编码后的数据。
    + 是否仅订阅编码后的视频帧: +
      +
    • :仅订阅编码后的视频数据(结构化数据),SDK 不解码或渲染原始视频数据。
    • +
    • :(默认)同时订阅原始视频数据和编码后的视频数据。
    • +
    +
    diff --git a/dita/RTC-NG/API/class_virtualbackgroundsource.dita b/dita/RTC-NG/API/class_virtualbackgroundsource.dita index d2b16d43304..9c5ba54826c 100644 --- a/dita/RTC-NG/API/class_virtualbackgroundsource.dita +++ b/dita/RTC-NG/API/class_virtualbackgroundsource.dita @@ -1,8 +1,8 @@ - + - <ph keyref="VirtualBackgroundSource" /> - 自定义的背景。 + <ph keyref="VirtualBackgroundSource"/> + 自定义背景。

    @@ -60,13 +60,12 @@ public blurDegree:number = VirtualBackgroundSource.BLUR_DEGREE_HIGH; } - __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + @interface AgoraVirtualBackgroundSource : NSObject @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType); @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color); @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source); @property(nonatomic, assign) AgoraBlurDegree blurDegree; -@end - +@end struct VirtualBackgroundSource { enum BACKGROUND_SOURCE_TYPE { BACKGROUND_NONE = 0, @@ -91,13 +90,13 @@ struct FVirtualBackgroundSource { GENERATED_BODY() public: - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") EBACKGROUND_SOURCE_TYPE background_source_type = EBACKGROUND_SOURCE_TYPE::BACKGROUND_COLOR; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") int64 color = 0xffffff; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") - FString source = ""; - UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") + FString source = ""; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") EBACKGROUND_BLUR_DEGREE blur_degree = EBACKGROUND_BLUR_DEGREE::BLUR_DEGREE_HIGH; FVirtualBackgroundSource(){} FVirtualBackgroundSource(const agora::rtc::VirtualBackgroundSource & AgoraData){ @@ -168,48 +167,56 @@ public: _$VirtualBackgroundSourceFromJson(json); Map<String, dynamic> toJson() => _$VirtualBackgroundSourceToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - backgroundSourceType - background_source_type - 自定义的背景。详见 + backgroundSourceType + background_source_type + 自定义的背景。详见
      -
    • (0):将背景处理为 Alpha 数据,不进行替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
    • -
    • (1):(默认)背景为纯色。
    • -
    • (2):背景为 PNG、JPG 格式的图片。
    • -
    • (3):背景为虚化处理后的背景。
    • -
    • (4):背景为 MP4、AVI、MKV、FLV 等格式的本地视频。
    • +
    • (0):将背景处理为 Alpha 数据,不进行替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
    • +
    • (1):(默认)背景为纯色。
    • +
    • (2):背景为 PNG、JPG 格式的图片。
    • +
    • (3):背景为虚化处理后的背景。
    • +
    • (4):背景为 MP4、AVI、MKV、FLV 等格式的本地视频。
    - - color + + color 自定义的背景图颜色。格式为 RGB 定义下的十六进制整数,不带 # 号,如 0xFFB6C1 表示浅粉色。 默认值为 0xFFFFFF,表示白色。 取值范围为 [0x000000,0xffffff]。如果取值非法,SDK 会用白色背景图替换原背景图。 该参数仅在自定义背景为以下类型时生效,具体效果如下:
      -
    • :背景图为该参数传入颜色的纯色图片。
    • -
    • :如果 source 中的图片使用了透明背景,则会使用该参数传入的颜色填充透明背景。
    • +
    • :背景图为该参数传入颜色的纯色图片。
    • +
    • :如果 source 中的图片使用了透明背景,则会使用该参数传入的颜色填充透明背景。
    + 自定义背景图像的颜色。颜色格式为 RGB 十六进制整数,不带 # 符号,例如 0xFFB6C1 表示浅粉色。默认值为 0xFFFFFF,表示白色。取值范围为 [0x000000, 0xFFFFFF]。如果设置的值无效,SDK 会将原始背景图像替换为白色背景图像。该属性仅适用于以下类型的自定义背景: +
      +
    • :背景图像为传入颜色的纯色图像。
    • +
    • :如果 source 中的图像具有透明背景,则透明部分将使用该属性指定的颜色填充。
    • +
    +
    - - source + + source 自定义背景的本地绝对路径。支持 PNG、JPG、MP4、 AVI、 MKV 和 FLV 格式。如果路径无效,SDK 会使用原背景图或 color 指定的纯色背景。 - 该参数仅在自定义背景图类型为 时生效。 + 该参数仅在自定义背景图类型为 时生效。 + 自定义背景图像的本地绝对路径。支持 PNG、JPG、MP4、AVI、MKV 和 FLV 格式。如果路径无效,SDK 会使用原始背景图像或由 color 指定的纯色图像。该属性仅在自定义背景类型为 时生效。 - - blurDegree - blur_degree - 自定义背景图的模糊程度。详见 + + blurDegree + blur_degree + 自定义背景图的模糊程度。详见
      -
    • (1):自定义背景图的虚化程度为低。用户差不多能看清背景。
    • -
    • (2):自定义背景图的虚化程度为中。用户较难看清背景。
    • -
    • (3):(默认)自定义背景图的虚化程度为高。用户很难看清背景。
    • +
    • (1):自定义背景图的虚化程度为低。用户差不多能看清背景。
    • +
    • (2):自定义背景图的虚化程度为中。用户较难看清背景。
    • +
    • (3):(默认)自定义背景图的虚化程度为高。用户很难看清背景。
    - 该参数仅在自定义背景图类型为 时生效。
    + 该参数仅在自定义背景图类型为 时生效。
    + 应用于自定义背景图像的模糊程度,详见 。该属性仅在自定义背景类型为 时生效。
    diff --git a/dita/RTC-NG/API/class_watermarkbuffer.dita b/dita/RTC-NG/API/class_watermarkbuffer.dita index b776602f62a..910c15b321e 100644 --- a/dita/RTC-NG/API/class_watermarkbuffer.dita +++ b/dita/RTC-NG/API/class_watermarkbuffer.dita @@ -2,7 +2,7 @@ <ph keyref="WatermarkBuffer"/> - 用于配置水印图像的格式、尺寸和像素缓冲区。 + 配置水印图像的格式、尺寸和像素缓冲区。

    @@ -17,10 +17,10 @@ public int format; } - __attribute__((visibility("default"))) @interface WatermarkBuffer : NSObject -@property(assign, nonatomic) int width; -@property(assign, nonatomic) int height; -@property(assign, nonatomic) int length; + @interface WatermarkBuffer : NSObject +@property(assign, nonatomic) int width; +@property(assign, nonatomic) int height; +@property(assign, nonatomic) int length; @property(strong, nonatomic) NSData* _Nullable buffer; @property(assign, nonatomic) WatermarkBufferFormat format; @end @@ -45,30 +45,30 @@

    自 v4.6.0 版本新增。
    -

    用于定义水印图像的缓冲数据结构,包含图像的宽高、格式、长度以及图像数据缓冲区。

    +

    包括图像的宽度、高度、格式、长度和图像数据缓冲区。

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - width + + width 水印缓冲区的宽度,单位为像素。 - 水印图像的宽度,单位为像素。 + 水印图像的宽度,单位为像素。 水印缓冲区的宽度。 - - height + + height 水印缓冲区的高度,单位为像素。 - 水印图像的高度,单位为像素。 + 水印图像的高度,单位为像素。 水印缓冲区的高度。 - - length - 缓冲区的长度,单位为字节。 + + length + 缓冲区的长度,单位为字节。 水印缓冲区的长度。 - - format + + format 水印图像的格式:
    • WATERMARK_BUFFER_FORMAT_I420:I420 格式。
    • @@ -78,13 +78,15 @@
    水印缓冲区的格式。详见 - 水印缓冲区的格式,详见 。默认值为 。当前支持的格式包括: + 水印缓冲区的格式,详见 。默认值为 。当前支持的格式包括: + 水印缓冲区的格式,详见
    - - buffer + + buffer 保存水印图像数据的缓冲区。缓冲区必须与指定的格式和尺寸一致。尺寸应为 width * height * bytesPerPixel。 原始图像数据缓冲区。 水印的缓冲区数据。 + 原始图像数据缓冲区。详见 NSData
    diff --git a/dita/RTC-NG/API/class_watermarkconfig.dita b/dita/RTC-NG/API/class_watermarkconfig.dita index a458a728709..9e9550aeb9f 100644 --- a/dita/RTC-NG/API/class_watermarkconfig.dita +++ b/dita/RTC-NG/API/class_watermarkconfig.dita @@ -2,7 +2,7 @@ <ph keyref="WatermarkConfig"/> - 用于配置水印的相关信息。 + 用于配置水印相关信息。

    @@ -16,7 +16,7 @@ public WatermarkOptions options = new WatermarkOptions(); } - __attribute__((visibility("default"))) @interface WatermarkConfig : NSObject + @interface WatermarkConfig : NSObject @property(copy, nonatomic) NSString* _Nonnull id; @property(assign, nonatomic) WatermarkType type; @property(strong, nonatomic) WatermarkBuffer* _Nullable buffer; @@ -51,14 +51,14 @@

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - id + + id 水印的唯一标识符,通常使用 UUID 生成。 - 水印的唯一标识符。 + 水印的唯一标识符。 水印的唯一标识符,建议使用 UUID。 - - type + + type 水印的类型:
    • WATERMARK_TYPE_IMAGE:图像类型。
    • @@ -66,25 +66,27 @@
    水印类型,详见 - 水印的类型,详见 -
    - - buffer + 水印的类型,详见 + + + buffer 包含水印图像数据的缓冲区。详见 水印图像的缓冲数据,详见 水印的缓冲区。详见 + 水印图像的缓冲数据。详见 - - imageUrl + + imageUrl 用于加载水印图像的 URL 地址。 - 水印图像的 URL。 + 水印图像的 URL。 水印图像文件的 URL,默认值为 NULL。 - - options + + options 定义水印位置和大小的选项。详见 水印的显示选项,详见 水印的选项。详见 + 水印的显示选项。详见
    diff --git a/dita/RTC-NG/API/class_watermarkoptions.dita b/dita/RTC-NG/API/class_watermarkoptions.dita index abb9600dcd7..a420d61dbc1 100644 --- a/dita/RTC-NG/API/class_watermarkoptions.dita +++ b/dita/RTC-NG/API/class_watermarkoptions.dita @@ -2,7 +2,7 @@ <ph keyref="WatermarkOptions"/> - 配置水印图像。 + 水印图像配置。

    @@ -31,12 +31,12 @@ public int zOrder = 0; } - - __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject + + @interface WatermarkOptions : NSObject @property(assign, nonatomic) BOOL visibleInPreview; @property(assign, nonatomic) CGRect positionInLandscapeMode; @property(assign, nonatomic) CGRect positionInPortraitMode; -@property(assign, nonatomic) int zOrder; +@property(assign, nonatomic) int zOrder; @end struct WatermarkOptions { bool visibleInPreview; @@ -174,22 +174,28 @@ class WatermarkOptions {

    -

    用于设置要添加的水印图像的相关配置项。

    +

    <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - visibleInPreview + + visibleInPreview 水印是否在本地预览视图中可见:
    • : (默认)水印在本地预览视图中可见。
    • : 水印在本地预览视图中不可见。
    + 水印图像是否在本地预览视图中可见: +
      +
    • :(默认)水印图像在本地预览视图中可见。
    • +
    • :水印图像在本地预览视图中不可见。
    • +
    +
    - - positionInLandscapeMode + + positionInLandscapeMode 横屏模式下,显示水印图片的区域。详见 水印的适配模式为 时,用于设置横屏模式下水印图片的区域。详见 横屏模式下,显示水印图片的区域。该参数包含以下成员: @@ -199,9 +205,17 @@ class WatermarkOptions {
  • width:水印区域的宽 (px)。
  • height:水印区域的高 (px)。
  • + 横屏模式下显示水印图像的区域。该参数包含以下成员: +
      +
    • x:水印相对于左上角的水平位置。
    • +
    • y:水印相对于左上角的垂直位置。
    • +
    • width:水印区域的宽度(像素)。
    • +
    • height:水印区域的高度(像素)。
    • +
    +
    - - positionInPortraitMode + + positionInPortraitMode 竖屏模式下,显示水印图片的区域。详见 水印的适配模式为 时,用于设置竖屏模式下水印图片的区域。详见 竖屏模式下,显示水印图片的区域。该参数包含以下成员: @@ -211,6 +225,14 @@ class WatermarkOptions {
  • width:水印区域的宽 (px)。
  • height:水印区域的高 (px)。
  • + 竖屏模式下显示水印图像的区域。该参数包含以下成员: +
      +
    • x:水印相对于左上角的水平位置。
    • +
    • y:水印相对于左上角的垂直位置。
    • +
    • width:水印区域的宽度(像素)。
    • +
    • height:水印区域的高度(像素)。
    • +
    +
    watermarkRatio @@ -220,10 +242,10 @@ class WatermarkOptions { mode 水印的适配模式。详见 - - zOrder + + zOrder 水印图像的 Z 轴顺序。默认值为 0。 - 水印图像的图层顺序。默认值为 0。 + 水印图像的图层顺序。默认值为 0。
    diff --git a/dita/RTC-NG/API/enum_alphastitchmode.dita b/dita/RTC-NG/API/enum_alphastitchmode.dita index 632cd12934a..159114a7374 100644 --- a/dita/RTC-NG/API/enum_alphastitchmode.dita +++ b/dita/RTC-NG/API/enum_alphastitchmode.dita @@ -1,17 +1,11 @@ - + <ph keyref="ALPHA_STITCH_MODE"/> - alphaBuffer 和视频帧的相对位置。 + alphaBuffer 与视频帧之间的相对位置。
    -
    - -
    自从
    -
    v4.4.0
    -
    -
    -
    +
    枚举值 @@ -35,6 +29,26 @@ 4:alphaBuffer 位于视频帧的右侧。 + + + (0):(默认)仅包含视频帧,即 alphaBuffer 未与视频帧拼接。 + + + + (1):alphaBuffer 位于视频帧上方。 + + + + (2):alphaBuffer 位于视频帧下方。 + + + + (3):alphaBuffer 位于视频帧左侧。 + + + + (4):alphaBuffer 位于视频帧右侧。 +
    diff --git a/dita/RTC-NG/API/enum_areacode.dita b/dita/RTC-NG/API/enum_areacode.dita index db8220371ea..e2e0b4e7ca2 100644 --- a/dita/RTC-NG/API/enum_areacode.dita +++ b/dita/RTC-NG/API/enum_areacode.dita @@ -1,8 +1,8 @@ - + <ph keyref="AREA_CODE"/> - 访问区域,即 SDK 连接的服务器所在的区域。 + 连接区域,即 SDK 所连接服务器所在的地理区域。
    枚举值 @@ -35,6 +35,10 @@ 全球。 + + + (0xFFFFFFFF):全球区域。 +
    diff --git a/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita b/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita index 43892b62016..19ce36b69ce 100644 --- a/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita +++ b/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIENCE_LATENCY_LEVEL_TYPE"/> - 直播频道中观众的延时级别。该枚举仅在用户角色设为 时才生效。 + 互动直播中观众的延迟等级。
    枚举值 @@ -15,6 +15,10 @@ 2:(默认)超低延时。 + + + (2):(默认)超低延迟。 +
    diff --git a/dita/RTC-NG/API/enum_audioainsmode.dita b/dita/RTC-NG/API/enum_audioainsmode.dita index 0c7de3d723a..2b59bab8389 100644 --- a/dita/RTC-NG/API/enum_audioainsmode.dita +++ b/dita/RTC-NG/API/enum_audioainsmode.dita @@ -1,17 +1,11 @@ - + <ph keyref="AUDIO_AINS_MODE"/> - AI 降噪的模式。 + AI 噪声抑制模式。
    -
    - -
    自从
    -
    v4.2.0
    -
    -
    -
    +
    枚举值 @@ -28,6 +22,18 @@ 2:低延时强降噪模式。该模式的降噪延时比弱降噪和强降噪模式大约低一半,适用于对降噪及低延时要求较高的场景,如实时合唱。 + + + (0):(默认)平衡模式。该模式在噪声抑制效果和延迟之间提供均衡性能。 + + + + (1):激进模式。适用于对噪声抑制效果要求较高的场景,例如户外活动直播。该模式可更强力地降低噪声,但可能会影响音频的原始特性。 + + + + (2):低延迟激进模式。该模式的噪声抑制延迟约为平衡模式和激进模式的一半,适用于对噪声抑制效果和低延迟有较高要求的场景,例如实时在线合唱。 +
    diff --git a/dita/RTC-NG/API/enum_audiocodecprofiletype.dita b/dita/RTC-NG/API/enum_audiocodecprofiletype.dita index a43ebd1d3be..100366faeb4 100644 --- a/dita/RTC-NG/API/enum_audiocodecprofiletype.dita +++ b/dita/RTC-NG/API/enum_audiocodecprofiletype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> - 推流输出音频的编解码规格,默认为 LC-AAC。 + 自定义音频编解码器配置文件类型。
    枚举值 @@ -19,6 +19,10 @@ 2: HE-AAC v2 规格。 -
    + + + (2):HE-AAC v2。 + +
    diff --git a/dita/RTC-NG/API/enum_audiocodectype.dita b/dita/RTC-NG/API/enum_audiocodectype.dita index 2571fed3733..9233094b0ef 100644 --- a/dita/RTC-NG/API/enum_audiocodectype.dita +++ b/dita/RTC-NG/API/enum_audiocodectype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_CODEC_TYPE"/> - 音频编解码格式。 + 音频编解码器类型。
    枚举值 @@ -11,15 +11,15 @@ 1: OPUS。 - + 3: PCMA。 - + 4: PCMU。 - + 5: G722。 @@ -31,7 +31,7 @@ 9: HE-AAC。 - + 10: JC1。 @@ -39,6 +39,10 @@ 11: HE-AAC v2。 + + + (11):HE-AAC v2 音频编解码器。 +
    diff --git a/dita/RTC-NG/API/enum_audiodualmonomode.dita b/dita/RTC-NG/API/enum_audiodualmonomode.dita index 5078520a254..db99c61b0b1 100644 --- a/dita/RTC-NG/API/enum_audiodualmonomode.dita +++ b/dita/RTC-NG/API/enum_audiodualmonomode.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_DUAL_MONO_MODE"/> - 声道模式。 + 音频双声道输出模式。
    枚举值 @@ -23,6 +23,10 @@ 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 + + + (3):混合声道模式。将左右声道音频混合后同时输出到左右声道,用户可以同时听到左右声道的音频。 +
    diff --git a/dita/RTC-NG/API/enum_audioeffectpreset.dita b/dita/RTC-NG/API/enum_audioeffectpreset.dita index 844394ca276..99333be6851 100644 --- a/dita/RTC-NG/API/enum_audioeffectpreset.dita +++ b/dita/RTC-NG/API/enum_audioeffectpreset.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_EFFECT_PRESET"/> - 预设的音效选项。 + 预设音效效果。
    为获取更好的音效,建议在使用预设音效前,调用 并按照如下推荐设置 profile 参数。 @@ -134,6 +134,34 @@ 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。 + + + (0x00000000):关闭音效,使用原始人声。 + + + + (0x02010D00):合唱音效,适用于合唱场景,增强人声的层次感和空间感。 + + + + (0x02010800):3D 人声效果,使声音围绕用户移动,默认周期为 10 秒。设置该效果后,可调用 修改移动周期。如果启用 3D 人声效果,用户需使用立体声播放设备以获得预期效果。 + + + + (0x02010900):虚拟环绕声效果,SDK 基于立体声通道生成模拟环绕声场,营造环绕声体验。如果启用虚拟环绕声,用户需使用立体声播放设备以获得预期音效。 + + + + (0x02020700):绿巨人的声音。 + + + + (0x02030200):流行音乐风格下的典型人声效果。 + + + + (0x02040100):音高修正效果,基于自然 C 大调音高修正用户音高。设置该效果后,可调用 调整调音的基本模式和主音音高。 + diff --git a/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita b/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita index 0fa37dc3633..7f2b70e1c1d 100644 --- a/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita +++ b/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_ENCODED_FRAME_OBSERVER_POSITION"/> - 音频编码内容。 + 音频帧的观察位置。
    枚举值 @@ -19,6 +19,10 @@ 3: 编码本地和所有远端用户混音后的音频。 + + + (3):采集本地和所有远端用户的混合音频。 +
    diff --git a/dita/RTC-NG/API/enum_audioencodingtype.dita b/dita/RTC-NG/API/enum_audioencodingtype.dita index 0997f468bdd..f2cb4ce9ad6 100644 --- a/dita/RTC-NG/API/enum_audioencodingtype.dita +++ b/dita/RTC-NG/API/enum_audioencodingtype.dita @@ -1,4 +1,4 @@ - + <ph keyref="AUDIO_ENCODING_TYPE"/> @@ -51,6 +51,18 @@ 0x020303: OPUS 编码格式,48000 Hz 采样率,高音质。音频时长为 10 分钟的文件编码后大小约为 3.5 MB。 + + + (0x020101):OPUS 编码格式,16000 Hz 采样率,低音质。编码后,10 分钟音频文件大小约为 2 MB。 + + + + (0x020302):OPUS 编码格式,48000 Hz 采样率,中等音质。编码后,10 分钟音频文件大小约为 2 MB。 + + + + (0x020303):OPUS 编码格式,48000 Hz 采样率,高音质。编码后,10 分钟音频文件大小约为 3.5 MB。 + diff --git a/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita b/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita index fbd20c61249..bbd6c00d293 100644 --- a/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita +++ b/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_EQUALIZATION_BAND_FREQUENCY"/> - 语音音效均衡波段的中心频率。 + 音频均衡的中频频段。
    枚举值 @@ -47,6 +47,10 @@ 9: 16 kHz -
    + + + (9):16 kHz。 + +
    diff --git a/dita/RTC-NG/API/enum_audiofilerecordingtype.dita b/dita/RTC-NG/API/enum_audiofilerecordingtype.dita index 667b6c0071c..27455fe436b 100644 --- a/dita/RTC-NG/API/enum_audiofilerecordingtype.dita +++ b/dita/RTC-NG/API/enum_audiofilerecordingtype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_FILE_RECORDING_TYPE"/> - 录音内容。在 中设置。 + 音频文件录制内容类型。
    枚举值 @@ -19,6 +19,10 @@ 3: 录制本地和所有远端用户混音后的音频。 + + + (3):录制本地用户和所有远端用户的混合音频。 +
    diff --git a/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita b/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita index c720797da22..a073c4bb549 100644 --- a/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita +++ b/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita @@ -1,4 +1,4 @@ - + <ph keyref="AUDIO_MIXING_DUAL_MONO_MODE"/> @@ -23,6 +23,11 @@ 3:混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 + + + (3):混合声道模式。混合左声道和右声道音频,用户可同时听到左右声道音频。 + (3):混合声道模式。该模式混合左声道和右声道音频,用户可同时听到左右声道音频。 + diff --git a/dita/RTC-NG/API/enum_audiomixingreasontype.dita b/dita/RTC-NG/API/enum_audiomixingreasontype.dita index 7d043cd4b01..151b41e02b5 100644 --- a/dita/RTC-NG/API/enum_audiomixingreasontype.dita +++ b/dita/RTC-NG/API/enum_audiomixingreasontype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_MIXING_REASON_TYPE"/> - 音乐文件播放状态改变的原因。在 回调中报告。 + 音乐文件播放状态变化的原因。
    枚举值 @@ -51,6 +51,35 @@ 726: 成功调用 恢复播放音乐文件。 + + + (701):SDK 无法打开音乐文件。例如,本地音乐文件不存在、SDK 不支持该文件格式,或无法访问音乐文件的 URL。 + + + + (702):SDK 打开音乐文件过于频繁。如果需要多次调用 startAudioMixing,请确保调用间隔大于 500 毫秒。 + + + + (703):音乐文件播放被中断。 + + + + (721):音乐文件完成一次循环播放。 + + + + (723):音乐文件完成所有循环播放。 + + + + (724):调用 成功,停止播放音乐文件。 + (724):成功调用 停止播放音乐文件。 + + + + (0):SDK 成功打开音乐文件。 +
    diff --git a/dita/RTC-NG/API/enum_audiomixingstatetype.dita b/dita/RTC-NG/API/enum_audiomixingstatetype.dita index 3e7f94f7709..252f32f1cc5 100644 --- a/dita/RTC-NG/API/enum_audiomixingstatetype.dita +++ b/dita/RTC-NG/API/enum_audiomixingstatetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_MIXING_STATE_TYPE"/> - 音乐文件播放状态。 + 音乐文件的播放状态。
    枚举值 @@ -54,6 +54,11 @@ 716: 音乐文件已结束循环播放。 + + + (714):混音文件播放过程中发生错误。可能的原因包括:(701)、(702)或 (703)。 + (714):音乐文件播放过程中发生错误。可能的原因包括:(701)、(702)或 (703)。 +
    diff --git a/dita/RTC-NG/API/enum_audioprocessingchannels.dita b/dita/RTC-NG/API/enum_audioprocessingchannels.dita index 7a53f563b87..c62ad9126bf 100644 --- a/dita/RTC-NG/API/enum_audioprocessingchannels.dita +++ b/dita/RTC-NG/API/enum_audioprocessingchannels.dita @@ -1,26 +1,27 @@ - + <ph keyref="AUDIO_PROCESSING_CHANNELS"/> - 音频前处理的声道数。 + 设置音频预处理的声道数。
    -

    在演唱会等需要增强真实感的场景中,本地用户可能需要采集立体声并发送立体声信号给远端用户。 - 例如,在演唱会的舞台上,主唱、吉他手、鼓手分别站在不同的位置,现场设备采集到了三者的立体声,并把立体声信号发送给远端用户,远端用户可以像亲临舞台一样听到来自不同方向的歌声、吉他声和鼓声。

    +

    在需要增强真实感的场景中,例如音乐会,本地用户可能需要采集立体声并将其发送给远端用户。例如,歌手、吉他手和鼓手站在舞台的不同位置,音频采集设备采集他们的立体声音频并将其发送给远端用户。远端用户可以从不同方向听到歌曲、吉他和鼓声,就像置身于音乐厅中一样。你可以通过设置双声道处理来实现立体声。声网推荐以下设置: +1. 预处理:调用 ,并在 中将 audioProcessingChannels 设置为 (2); +2. 后处理:调用 ,并将 profile 设置为 (3)或 (5)。

    通过该类,你可以设置双声道处理,实现立体声。建议按如下步骤设置:

    1. 前处理:调用 并在 中设置 audioProcessingChannels (2)。
    2. -
    3. 后处理:调用 并将 profile 设为 (3) 或 (5)。
    4. +
    5. 后处理:调用 并将 profile 设为 (3) 或 (5)。

    • 立体声设置仅在媒体音量下生效。

      -

      如需了解媒体音量和通话音量的区别,详见

      +

      如需了解媒体音量和通话音量的区别,详见

    • -
    • 在 iOS 上,实现立体声 iOS 系统版本为 14.0 及以上。最低设备要求如下: +
    • 在 iOS 上,实现立体声 iOS 系统版本为 14.0 及以上。最低设备要求如下:
        @@ -46,6 +47,14 @@ 2: 双声道。 + + + (1):(默认)单声道。 + + + + (2):立体声。 +
    diff --git a/dita/RTC-NG/API/enum_audioprofiletype.dita b/dita/RTC-NG/API/enum_audioprofiletype.dita index 62b21996b19..761116fc32a 100644 --- a/dita/RTC-NG/API/enum_audioprofiletype.dita +++ b/dita/RTC-NG/API/enum_audioprofiletype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_PROFILE_TYPE"/> - 音频编码属性。 + 音频配置文件。
    枚举值 @@ -16,10 +16,10 @@
    • 直播场景下:48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • -
    • 通信场景下:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 -
        +
      • 通信场景下:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 +
        • Windows 平台:16 kHz 采样率,语音编码,单声道,编码码率最大值为 16 Kbps。
        • -
        • Android、macOS、iOS 平台:macOS 平台:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
        • +
        • Android、macOS、iOS 平台:macOS 平台:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。

      @@ -37,7 +37,7 @@ 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 -

      如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

      +

      如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

      @@ -47,19 +47,46 @@ 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 -

      如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

      +

      如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

      - +

      6: 指定 16 kHz 采样率,语音编码,单声道,应用回声消除算法 AEC。

      - + 枚举值边界。 + + + (0):默认音频配置文件。 +
        +
      • 互动直播场景:采样率为 48 kHz,音乐编码,单声道,码率最高为 64 Kbps。
      • +
      • 通信场景:采样率为 32 kHz,音频编码,单声道,码率最高为 18 Kbps。
      • +
      +
      +
      + + + (1):采样率为 32 kHz,音频编码,单声道,码率最高为 18 Kbps。 + + + + (3):采样率为 48 kHz,音乐编码,立体声,码率最高为 80 Kbps。在 iOS 上实现立体声音频时,还需调用 ,并在 中将 audioProcessingChannels 设置为 + (3):采样率为 48 kHz,音乐编码,立体声,码率最高为 80 Kbps。要启用立体声音频,还需调用 ,并在 中将 audioProcessingChannels 设置为 + + + + (5):采样率为 48 kHz,音乐编码,立体声,码率最高为 128 Kbps。在 iOS 上实现立体声音频时,还需调用 ,并在 中将 audioProcessingChannels 设置为 + (5):采样率为 48 kHz,音乐编码,立体声,码率最高为 128 Kbps。要启用立体声音频,还需调用 ,并在 中将 audioProcessingChannels 设置为 + + + + (6):采样率为 16 kHz,音频编码,单声道,并启用回声消除(AEC)。 +
    diff --git a/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita b/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita index 7fbbde81269..88d941ef964 100644 --- a/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita +++ b/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> - 录音音质。 + 录音质量。
    枚举值 @@ -23,6 +23,14 @@ 3: 超高音质。采样率为 32 KHz,录制 10 分钟的文件大小约为 7.5 M 左右。 -
    + + + (3):超高音质。采样率为 32 kHz,录制 10 分钟后的文件大小约为 7.5 MB。 + + + + (1):中等音质。采样率为 32 kHz,录制 10 分钟后的文件大小约为 2 MB。 + +
    diff --git a/dita/RTC-NG/API/enum_audioreverbtype.dita b/dita/RTC-NG/API/enum_audioreverbtype.dita index 4429e7a0232..8153bd856b5 100644 --- a/dita/RTC-NG/API/enum_audioreverbtype.dita +++ b/dita/RTC-NG/API/enum_audioreverbtype.dita @@ -1,4 +1,4 @@ - + <ph keyref="AUDIO_REVERB_TYPE"/> @@ -27,6 +27,28 @@ 4: 混响持续的强度,取值范围为 [0,100]。 + + + (3):湿声信号的初始延迟时长,单位为毫秒,取值范围为 0 到 200。 + (3):湿声信号初始延迟的时长,单位为毫秒,取值范围为 0 到 200。 + (3):湿声信号的初始延迟时长,单位为毫秒。取值范围为 0 到 200。 + + + + (2):反射房间的大小,取值范围为 0 到 100。 + (2):反射房间的大小。取值范围为 0 到 100。 + + + + (4):后期混响的强度,取值范围为 0 到 100。 + (4):混响强度,取值范围为 0 到 100。 + (4):混响强度。取值范围为 0 到 100。 + + + + (0):干声信号的音量级别,单位为 dB,取值范围为 -20 到 10。 + (0):干声信号的音量,单位为 dB。取值范围为 -20 到 10。 + diff --git a/dita/RTC-NG/API/enum_audioroute.dita b/dita/RTC-NG/API/enum_audioroute.dita index 09f1a97610a..94ea426032c 100644 --- a/dita/RTC-NG/API/enum_audioroute.dita +++ b/dita/RTC-NG/API/enum_audioroute.dita @@ -1,8 +1,8 @@ - + <ph keyref="AudioRoute"/> - 音频路由的类型。 + 音频路由类型。
    枚举值 @@ -27,39 +27,59 @@ 3: 音频路由为设备自带的扬声器。 - + - 4: 音频路由为外接的扬声器。(仅适用于 iOS 和 macOS)(仅适用于 iOS)(仅适用于 macOS) + 4: 音频路由为外接的扬声器。(仅适用于 iOS 和 macOS)(仅适用于 iOS)(仅适用于 macOS) 4:预留。 5: 音频路由为使用 HFP 协议的蓝牙设备。 - + - 6: 音频路由为 USB 外围设备。(仅适用于 macOS) + 6: 音频路由为 USB 外围设备。(仅适用于 macOS) 6:预留。 - + - 7: 音频路由为 HDMI 外围设备。(仅适用于 macOS) + 7: 音频路由为 HDMI 外围设备。(仅适用于 macOS) 7:预留。 - + - 8: 音频路由为 DisplayPort 外围设备。(仅适用于 macOS) + 8: 音频路由为 DisplayPort 外围设备。(仅适用于 macOS) 8:预留。 - + - 9: 音频路由为 Apple AirPlay。(仅适用于 macOS) + 9: 音频路由为 Apple AirPlay。(仅适用于 macOS) 9:预留。 10: 音频路由为使用 A2DP 协议的蓝牙设备。 + + + (7):(仅适用于 macOS 平台)音频路由为 HDMI 外设。 + + + + (2):音频路由为不带麦克风的耳机。 + + + + (10):(仅适用于 macOS 平台)音频路由为使用 A2DP 协议的蓝牙设备。 + + + + (8):(仅适用于 macOS 平台)音频路由为 DisplayPort 外设。 + + + + (9):(仅适用于 macOS 平台)音频路由为 Apple AirPlay。 +
    diff --git a/dita/RTC-NG/API/enum_audiosampleratetype.dita b/dita/RTC-NG/API/enum_audiosampleratetype.dita index beac2c59a69..630f7373308 100644 --- a/dita/RTC-NG/API/enum_audiosampleratetype.dita +++ b/dita/RTC-NG/API/enum_audiosampleratetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_SAMPLE_RATE_TYPE"/> - 推流输出音频的采样率。 + 推送到 CDN 的音频采样率。
    枚举值 @@ -19,6 +19,10 @@ 48000: (默认)48 kHz + + + (48000):(默认)采样率为 48 kHz。 +
    diff --git a/dita/RTC-NG/API/enum_audioscenariotype.dita b/dita/RTC-NG/API/enum_audioscenariotype.dita index c0b2ba1e63c..7cd9a68c524 100644 --- a/dita/RTC-NG/API/enum_audioscenariotype.dita +++ b/dita/RTC-NG/API/enum_audioscenariotype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_SCENARIO_TYPE"/> - 音频场景。 + 音频场景类型。
    枚举值 @@ -32,10 +32,34 @@ 10: AI 对话场景,仅适用于与创建的智能体互动的场景。 - + 枚举的数量。 - + + + (0):(默认)自动匹配场景,SDK 会根据用户角色和音频路由选择合适的音频质量。 + + + + (3):高质量音频场景,适用于以播放音乐为主的场景,例如乐器教学。 + + + + (5):聊天室场景,适用于用户频繁切换角色或频繁静音/取消静音麦克风的场景,例如在线教育。 + + + + (7):实时合唱场景,适用于网络状况良好且对超低延迟有要求的场景。 + + + + (8):会议场景,主要用于传输人声。 + + + + (10):AI 对话场景,仅适用于用户与由 Conversational AI Engine 创建的对话式智能体进行交互的场景。 + +
    diff --git a/dita/RTC-NG/API/enum_audiosourcetype.dita b/dita/RTC-NG/API/enum_audiosourcetype.dita index 4ea3a50f5ce..be31ee877f7 100644 --- a/dita/RTC-NG/API/enum_audiosourcetype.dita +++ b/dita/RTC-NG/API/enum_audiosourcetype.dita @@ -1,17 +1,11 @@ - + <ph keyref="AUDIO_SOURCE_TYPE"/> 音频源类型。
    -
    - -
    自从
    -
    v4.5.0
    -
    -
    -
    +
    枚举值 @@ -48,6 +42,34 @@ 100:未知的音频源。 + + + (0):(默认)麦克风音频源。 + + + + (1):自定义音频源。 + + + + (2):媒体播放器音频源。 + + + + (3):屏幕共享时采集的系统音频源。 + + + + (6):当前频道中所有用户的混合音频源。 + + + + (100):未知音频源。 + + + + (4):来自本地客户端的混音音频源。 +
    diff --git a/dita/RTC-NG/API/enum_audiotracktype.dita b/dita/RTC-NG/API/enum_audiotracktype.dita index 3769819f766..e83ffc7ca07 100644 --- a/dita/RTC-NG/API/enum_audiotracktype.dita +++ b/dita/RTC-NG/API/enum_audiotracktype.dita @@ -1,8 +1,8 @@ - + <ph keyref="AUDIO_TRACK_TYPE"/> - 自定义音频采集轨道的类型。 + 音频轨道类型。
    枚举值 @@ -17,6 +17,16 @@

    1:非混流的音频轨道。会替代麦克风采集,且不支持与其他音频流混音。与可混流的音频轨道相比,延迟更低。

    如指定 ,则必须在调用 加入频道时,将 中的 publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2. + + + (0):可混音音频轨道。支持与其他音频流(如麦克风采集的音频流)混音,并在混音后本地播放或发布到频道。该类型的音频轨道延迟高于直通音频轨道。 + (0):可混音音频轨道。该类型音频轨道支持与其他音频流(如麦克风采集的音频流)混音,并在混音后进行本地播放或发布到频道。其延迟高于直通音频轨道。 + + + + (1):直通音频轨道。替代麦克风采集的音频流,不支持与其他音频流混音。该类型的音频轨道延迟低于可混音音频轨道。如果该参数设置为 ,你必须在调用 加入频道时,将 中的 publishMicrophoneTrack 设置为 ,否则加入频道会失败并返回错误码 -2。 + (1):直通音频轨道。该类型音频轨道会替代麦克风采集的音频流,且不支持与其他音频流混音。其延迟低于可混音音频轨道。如果该参数设置为 ,则在调用 joinChannel(String token, String channelId, int uid, ChannelMediaOptions options) 加入频道时,必须在 中将 publishMicrophoneTrack 设置为 ,否则加入频道会失败并返回错误码 -2。 +
    diff --git a/dita/RTC-NG/API/enum_backgroundblurdegree.dita b/dita/RTC-NG/API/enum_backgroundblurdegree.dita index 81beca0e04b..db09a5cb6c7 100644 --- a/dita/RTC-NG/API/enum_backgroundblurdegree.dita +++ b/dita/RTC-NG/API/enum_backgroundblurdegree.dita @@ -1,8 +1,8 @@ - + <ph keyref="BACKGROUND_BLUR_DEGREE"/> - 自定义背景图的虚化程度。 + 自定义背景图像的模糊程度。
    枚举值 @@ -19,6 +19,18 @@ 3:(默认)自定义背景图的虚化程度为高。用户很难看清背景。 + + + (1):模糊程度较低。用户几乎可以清晰地看到背景。 + + + + (2):模糊程度中等。用户难以识别背景中的细节。 + + + + (3):(默认)模糊程度较高。用户几乎无法看到背景中的任何特征。 +
    diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita index c83bd84fe61..31227f9d527 100644 --- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita +++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita @@ -1,13 +1,13 @@ - + <ph keyref="BACKGROUND_SOURCE_TYPE"/> - 自定义的背景。 + 自定义背景类型。
    枚举值 - + 0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。 @@ -27,6 +27,26 @@ 4: 背景为 MP4、AVI、MKV、FLV 等格式的本地视频。 + + + (0):将背景处理为透明数据而不替换,仅分离人物与背景。设置该值后,可调用 实现画中画效果。 + + + + (1):(默认)背景为纯色图像。 + + + + (2):背景为 PNG 或 JPG 格式的图像。 + + + + (3):背景为原始背景的模糊版本。 + + + + (4):背景为本地视频,支持 MP4、AVI、MKV、FLV 等格式。 +
    diff --git a/dita/RTC-NG/API/enum_cameradirection.dita b/dita/RTC-NG/API/enum_cameradirection.dita index 532af86c713..41c7447797b 100644 --- a/dita/RTC-NG/API/enum_cameradirection.dita +++ b/dita/RTC-NG/API/enum_cameradirection.dita @@ -1,4 +1,4 @@ - + <ph keyref="CAMERA_DIRECTION"/> @@ -19,6 +19,14 @@ 2: 外接摄像头。 + + + (0):后置摄像头。 + + + + (1):(默认)前置摄像头。 + diff --git a/dita/RTC-NG/API/enum_camerastabilizationmode.dita b/dita/RTC-NG/API/enum_camerastabilizationmode.dita index 01a3877cf80..03f2c0c9f41 100644 --- a/dita/RTC-NG/API/enum_camerastabilizationmode.dita +++ b/dita/RTC-NG/API/enum_camerastabilizationmode.dita @@ -1,16 +1,10 @@ - + <ph keyref="CAMERA_STABILIZATION_MODE"/> 摄像头防抖模式。
    -
    - -
    自从
    -
    v4.3.1
    -
    -

    摄像头的防抖效果按照 1 < 2 <3 的顺序依次增强,时延也会相应增大。

    @@ -36,6 +30,18 @@ 3:摄像头 3 级防抖。 + + + (-1):(默认)关闭摄像头防抖模式。 + + + + (0):自动摄像头防抖。系统会根据摄像头状态自动选择防抖模式。该模式延迟较高,不推荐使用。 + + + + (3):三级摄像头防抖。 +
    diff --git a/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita b/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita index 464464699cb..e00a2570580 100644 --- a/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita +++ b/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita @@ -1,8 +1,8 @@ - + <ph keyref="CAPTURE_BRIGHTNESS_LEVEL_TYPE"/> - 本地采集的画质亮度级别。 + 本地摄像头采集的视频图像亮度等级。
    枚举值 @@ -23,6 +23,10 @@ 2: 本地采集的画质亮度偏暗。 + + + (2):视频图像亮度等级过暗。 +
    diff --git a/dita/RTC-NG/API/enum_channelmediarelayerror.dita b/dita/RTC-NG/API/enum_channelmediarelayerror.dita index efd7c62bbd3..8eb8fd2cc51 100644 --- a/dita/RTC-NG/API/enum_channelmediarelayerror.dita +++ b/dita/RTC-NG/API/enum_channelmediarelayerror.dita @@ -1,8 +1,8 @@ - + <ph keyref="CHANNEL_MEDIA_RELAY_ERROR"/> - 跨频道媒体流转发出错的错误码。 + 频道媒体流转发的错误码。
    枚举值 @@ -19,7 +19,7 @@

    2: 服务器无回应。

    -

    该错误可能是网络状况不佳导致的。如果在发起跨频道连麦时报告该错误,你可以稍后重试;如果在跨频道连麦过程中报告该错误,你可以调用 方法离开频道。

    +

    该错误可能是网络状况不佳导致的。如果在发起跨频道连麦时报告该错误,你可以稍后重试;如果在跨频道连麦过程中报告该错误,你可以调用 方法离开频道。

    该错误也可能是由于当前的 App ID 未开启跨频道连麦导致的。你可以申请开通跨频道连麦。

    @@ -59,6 +59,34 @@ 11: 目标频道的 Token 已过期。 -
    + + + (9):服务器内部错误。 + + + + (2):服务器无响应。可能由于网络连接不良导致:若在发起跨频道媒体流转发时出现该错误,可稍后重试;若在转发过程中出现该错误,可调用 离开频道。该错误也可能是项目未启用跨频道媒体流转发服务所致,可联系技术支持启用该服务。 + + + + (3):SDK 无法访问服务,可能由于服务器资源不足。 + + + + (7):服务器发送媒体流失败。 + + + + (6):服务器接收媒体流失败。 + + + + (8):由于网络连接不良,SDK 与服务器断开连接。你可以调用 离开频道。 + + + + (11):目标频道的 Token 已过期。 + +
    diff --git a/dita/RTC-NG/API/enum_channelmediarelaystate.dita b/dita/RTC-NG/API/enum_channelmediarelaystate.dita index 9f7b1c5711a..fd079b18214 100644 --- a/dita/RTC-NG/API/enum_channelmediarelaystate.dita +++ b/dita/RTC-NG/API/enum_channelmediarelaystate.dita @@ -1,8 +1,8 @@ - + <ph keyref="CHANNEL_MEDIA_RELAY_STATE"/> - 跨频道媒体流转发状态码。 + 频道媒体流转发状态码。
    枚举值 @@ -23,6 +23,10 @@ 3: 发生异常,详见 code 参数提示的错误信息。 + + + (3):发生错误。详见 channelMediaRelayStateDidChange 回调中的 +
    diff --git a/dita/RTC-NG/API/enum_channelprofiletype.dita b/dita/RTC-NG/API/enum_channelprofiletype.dita index 5304244f483..23d906285d8 100644 --- a/dita/RTC-NG/API/enum_channelprofiletype.dita +++ b/dita/RTC-NG/API/enum_channelprofiletype.dita @@ -1,8 +1,8 @@ - + <ph keyref="CHANNEL_PROFILE_TYPE"/> - 频道场景。 + 频道场景类型。
    枚举值 @@ -15,7 +15,7 @@ 1:(默认)直播场景。 - + 2: 游戏场景。
    @@ -25,7 +25,7 @@
    - + 3: 互动场景。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。
    @@ -35,6 +35,22 @@
    + + + (0):通信场景。适用于频道中仅有两名用户的场景。 + + + + (1):互动直播场景。适用于频道中有两名以上用户的场景。 + + + + (2):游戏场景。 + + + + (3):云游戏场景。该场景对延迟进行了优化,适用于用户之间需要频繁互动的场景。 +
    diff --git a/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita b/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita index fd175c9bbc9..d3d3f5e1421 100644 --- a/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita +++ b/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita @@ -1,8 +1,8 @@ - + <ph keyref="CLIENT_ROLE_CHANGE_FAILED_REASON"/> - 切换用户角色失败的原因。 + 用户角色切换失败的原因。
    枚举值 @@ -34,6 +34,22 @@
    该枚举值自 v4.4.0 起废弃,不建议使用。
    + + + (1):频道中主播数量超过限制。仅在启用 128 人功能时报告此枚举值。主播的最大数量取决于启用 128 人功能时配置的实际主播数量。 + + + + (2):请求被声网服务器拒绝。建议提示用户重试切换角色。 + + + + (3):请求超时。建议提示用户检查网络连接并重试切换角色。 + + + + (4):SDK 与声网边缘服务器断开连接。你可以通过 中的 reason 排查失败原因。 +
    diff --git a/dita/RTC-NG/API/enum_clientroletype.dita b/dita/RTC-NG/API/enum_clientroletype.dita index b170cbdec64..21bccd60a51 100644 --- a/dita/RTC-NG/API/enum_clientroletype.dita +++ b/dita/RTC-NG/API/enum_clientroletype.dita @@ -1,8 +1,8 @@ - + <ph keyref="CLIENT_ROLE_TYPE"/> - 直播场景里的用户角色。 + 互动直播中的用户角色。
    枚举值 @@ -15,6 +15,14 @@ 2:(默认)观众。观众只能收流不能发流。 + + + (1):主播。可以发送和接收音视频流。 + + + + (2):(默认)观众。只能接收音视频流。 +
    diff --git a/dita/RTC-NG/API/enum_cloudproxytype.dita b/dita/RTC-NG/API/enum_cloudproxytype.dita index 21224f8af20..b8966de48cc 100644 --- a/dita/RTC-NG/API/enum_cloudproxytype.dita +++ b/dita/RTC-NG/API/enum_cloudproxytype.dita @@ -1,4 +1,4 @@ - + <ph keyref="CLOUD_PROXY_TYPE"/> @@ -19,6 +19,21 @@ 2:TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 + + + (0):(默认)自动模式。SDK 默认启用该模式。在此模式下,SDK 会尝试直接连接至 SD-RTN™,若连接失败,则自动切换至 TCP/TLS 443。 + (0):自动模式。(默认)SDK 启用该模式。在此模式下,SDK 会尝试直接连接至 SD-RTN™,若连接失败,则自动切换至 TCP/TLS 443。 + + + + (1):UDP 协议云代理模式。即强制使用 UDP 云代理模式,SDK 始终通过 UDP 传输数据。 + (1):UDP 协议云代理,即强制使用 UDP 云代理模式。在此模式下,SDK 始终通过 UDP 传输数据。 + + + + (2):TCP(加密)协议云代理模式。即强制使用 TCP 云代理模式,SDK 始终通过 TCP/TLS 443 传输数据。 + (2):TCP(加密)协议云代理,即强制使用 TCP 云代理模式。在此模式下,SDK 始终通过 TCP/TLS 443 传输数据。 + diff --git a/dita/RTC-NG/API/enum_codeccapmask.dita b/dita/RTC-NG/API/enum_codeccapmask.dita index 634f6c7ca21..57f46dfbc0d 100644 --- a/dita/RTC-NG/API/enum_codeccapmask.dita +++ b/dita/RTC-NG/API/enum_codeccapmask.dita @@ -1,17 +1,11 @@ - + <ph keyref="CODEC_CAP_MASK"/> - 编解码类型 bit mask。 + 编解码类型的位掩码。
    -
    - -
    自从
    -
    v4.2.0
    -
    -
    -
    +
    枚举值 @@ -35,6 +29,19 @@ (1 << 3):支持软件编码。 + + + (0):设备不支持编码或解码。 + + + + (1 << 3):设备支持软件编码。 + + + + (1 << 2):设备支持软件解码。 + (1 << 0):设备支持硬件解码。 +
    diff --git a/dita/RTC-NG/API/enum_compressionpreference.dita b/dita/RTC-NG/API/enum_compressionpreference.dita index c3796805adf..ebd7e207bac 100644 --- a/dita/RTC-NG/API/enum_compressionpreference.dita +++ b/dita/RTC-NG/API/enum_compressionpreference.dita @@ -1,17 +1,11 @@ - + <ph keyref="COMPRESSION_PREFERENCE"/> - 视频编码的压缩偏好类型。 + 视频编码的压缩偏好设置。
    -
    - -
    自从
    -
    v4.1.0
    -
    -
    -
    +
    枚举值 @@ -27,6 +21,18 @@ 1:高质量偏好。SDK 会对视频帧进行压缩处理,同时保持视频质量。该偏好适用于画质优先的场景。 + + + (-1):(默认)自动模式。SDK 会根据设置的视频场景自动选择 ,以实现最佳的用户体验。 + + + + (0):低延迟优先。SDK 会压缩视频帧以降低延迟,适用于对流畅性要求较高且可接受画质降低的场景。 + + + + (1):高画质优先。SDK 会在保持视频质量的同时压缩视频帧,适用于对画质要求较高的场景。 +
    diff --git a/dita/RTC-NG/API/enum_connectionstatetype.dita b/dita/RTC-NG/API/enum_connectionstatetype.dita index 5096cbbb726..0e9da508e8a 100644 --- a/dita/RTC-NG/API/enum_connectionstatetype.dita +++ b/dita/RTC-NG/API/enum_connectionstatetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="CONNECTION_STATE_TYPE"/> - 网络连接状态。 + SDK 的连接状态。
    枚举值 @@ -50,13 +50,58 @@ -

    5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。 +

    5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。

    • 如果用户还想重新加入频道,则需要再次调用
    • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 App 会收到

    + + + (1):SDK 与声网边缘服务器断开连接。该状态表示 SDK 处于以下阶段之一: +
      +
    • 调用 方法之前的初始状态。
    • +
    • 调用 方法后。
    • +
    +
    +
    + + + (2):SDK 正在连接声网边缘服务器。该状态表示调用 方法后,SDK 正在与指定频道建立连接。 +
      +
    • 如果成功加入频道,SDK 会触发 connectionChangedToState:reason: 回调,并将连接状态切换为
    • +
    • 连接建立后,SDK 会初始化媒体,并在准备就绪时触发 didJoinChannel:withUid:elapsed: 回调。
    • +
    +
    +
    + + + (3):SDK 已连接到声网边缘服务器。该状态还表示用户已加入频道,并可以在频道中发布或订阅媒体流。 +
      +
    • 如果因网络中断或切换导致频道连接丢失,SDK 会自动尝试重连,并触发 connectionChangedToState:reason: 回调,通知当前网络状态变为
    • +
    +
    +
    + + + (4):SDK 正在持续重连至声网边缘服务器。该状态表示 SDK 在因网络问题从已加入的频道断开后,持续尝试重新加入频道。 +
      +
    • 如果在 10 秒内无法重新加入频道,SDK 会触发 connectionDidLost: 回调,保持在 状态,并继续尝试重连。
    • +
    • 如果在断开连接 20 分钟后仍未成功重连,SDK 会触发 connectionChangedToState:reason: 回调,切换至 状态,并停止重连。
    • +
    +
    +
    + + + (5):SDK 无法连接到声网边缘服务器或加入频道。该状态表示 SDK 停止尝试重连。 +
      +
    • 你必须调用 离开频道。
    • +
    • 可调用 重新加入频道。
    • +
    • 如果 SDK 被声网边缘服务器通过 RESTful API 禁止加入频道,SDK 会触发 connectionChangedToState:reason: 回调。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/enum_contentinspecttype.dita b/dita/RTC-NG/API/enum_contentinspecttype.dita index 0faf46004b5..ceedc2657e3 100644 --- a/dita/RTC-NG/API/enum_contentinspecttype.dita +++ b/dita/RTC-NG/API/enum_contentinspecttype.dita @@ -1,8 +1,8 @@ - + <ph keyref="CONTENT_INSPECT_TYPE"/> - 视频内容审核模块的类型。 + 视频内容审核模块的类型。视频内容审核模块类型。
    枚举值 @@ -19,10 +19,22 @@ 2:使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。 - + 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 + + + (0):(默认)该模块无实际功能。请勿将 type 设置为该值。 + + + + (2):通过声网自研扩展进行视频截图上传。SDK 会对频道中的视频流进行截图并上传。 + + + + (3):通过声网扩展市场中的扩展进行视频截图上传。SDK 使用来自声网扩展市场的视频审核扩展对频道中的视频流进行截图并上传。 +
    diff --git a/dita/RTC-NG/API/enum_degradationpreference.dita b/dita/RTC-NG/API/enum_degradationpreference.dita index ed04dfa2cfd..f5b9701061a 100644 --- a/dita/RTC-NG/API/enum_degradationpreference.dita +++ b/dita/RTC-NG/API/enum_degradationpreference.dita @@ -1,8 +1,8 @@ - + <ph keyref="DEGRADATION_PREFERENCE"/> - 带宽受限时的视频编码降级偏好。 + 带宽受限时的视频编码降级偏好设置。
    枚举值 @@ -35,6 +35,27 @@ 3: 带宽受限时,视频编码时优先降低视频帧率,维持分辨率保持不变。该降级偏好适用于画质优先的场景。 + + + (-1):(默认)自动模式。SDK 会根据设置的视频场景,在 之间自动选择,以实现最佳的整体体验质量(QoE)。 + + + + (0):在带宽受限的视频编码过程中,优先降低视频帧率,同时保持视频分辨率。适用于对视频画质要求较高的场景。 +@deprecated + + + + (1):在带宽受限的视频编码过程中,优先降低视频分辨率,同时保持视频帧率。适用于对视频流畅性要求较高且可接受画质降低的场景。 + + + + (2):在带宽受限的视频编码过程中,同时降低视频帧率和分辨率。相比 ,该模式的降级程度更小,适用于对视频流畅性和画质均有要求的场景。发送端的视频分辨率可能会发生变化,接收端需做好处理。详见 + + + + (3):在带宽受限的视频编码过程中,优先降低视频帧率,同时保持视频分辨率。适用于对视频画质要求较高的场景。 +
    diff --git a/dita/RTC-NG/API/enum_encodingpreference.dita b/dita/RTC-NG/API/enum_encodingpreference.dita index baced687949..f5a07c3c1b1 100644 --- a/dita/RTC-NG/API/enum_encodingpreference.dita +++ b/dita/RTC-NG/API/enum_encodingpreference.dita @@ -1,17 +1,11 @@ - + <ph keyref="ENCODING_PREFERENCE"/> - 视频编码器偏好。 + 视频编码偏好设置。
    -
    - -
    自从
    -
    v4.1.0
    -
    -
    -
    +
    枚举值 @@ -19,6 +13,18 @@ -1:自适应偏好。SDK 根据平台、设备类型等因素自动选择最优的编码类型进行编码。 + + + (-1):自适应偏好。SDK 会根据平台和设备类型等因素自动选择最优的视频编码方式。 + + + + (0):软件编码偏好。SDK 优先使用软件编码器进行视频编码。 + + + + (1):硬件编码偏好。SDK 优先使用硬件编码器进行视频编码。当设备不支持硬件编码时,SDK 会自动切换为软件编码,并通过 回调中的 hwEncoderAccelerating 参数报告当前使用的视频编码器类型。 + diff --git a/dita/RTC-NG/API/enum_encryptionerrortype.dita b/dita/RTC-NG/API/enum_encryptionerrortype.dita index 5a6ebd0d5df..fb520ae8a2a 100644 --- a/dita/RTC-NG/API/enum_encryptionerrortype.dita +++ b/dita/RTC-NG/API/enum_encryptionerrortype.dita @@ -1,8 +1,8 @@ - + <ph keyref="ENCRYPTION_ERROR_TYPE"/> - 内置加密的错误类型。 + 加密错误类型。
    枚举值 @@ -27,6 +27,10 @@ 4: 数据流加密错误。 + + + (4):数据流加密失败。 +
    diff --git a/dita/RTC-NG/API/enum_encryptionmode.dita b/dita/RTC-NG/API/enum_encryptionmode.dita index 6129fd86ba4..a9c0dae26e5 100644 --- a/dita/RTC-NG/API/enum_encryptionmode.dita +++ b/dita/RTC-NG/API/enum_encryptionmode.dita @@ -1,12 +1,12 @@ - + <ph keyref="ENCRYPTION_MODE"/> 内置加密模式。
    -

    建议使用 加密模式。这两种模式支持使用盐,安全性更高。

    -
    +

    声网推荐使用 加密模式。这两种模式支持设置用于加密的盐值(encryptionKdfSalt),以提升安全性。 加密模式。这两种模式支持使用盐,安全性更高。

    +
    枚举值 @@ -46,6 +46,14 @@ 枚举值边界。 + + + (8):256 位 AES 加密,GCM 模式。此模式需设置用于加密的盐值(encryptionKdfSalt)。 + + + + 枚举结束标志。 +
    diff --git a/dita/RTC-NG/API/enum_experiencepoorreason.dita b/dita/RTC-NG/API/enum_experiencepoorreason.dita index 534a72e3065..6c9eb0fff9c 100644 --- a/dita/RTC-NG/API/enum_experiencepoorreason.dita +++ b/dita/RTC-NG/API/enum_experiencepoorreason.dita @@ -1,8 +1,8 @@ - + <ph keyref="EXPERIENCE_POOR_REASON"/> - 接收远端音频时,本地用户主观体验质量较差的原因。 + 本地用户接收远端音频流时音频体验差的原因。
    枚举值 @@ -27,6 +27,22 @@ 8: 本地用户同时开启 Wi-Fi 和蓝牙,二者信号互相干扰,导致音频传输质量下降。 + + + (0):无明显原因,表示本地用户的音频体验良好。 + + + + (2):本地用户的网络质量较差,影响音频体验。 + + + + (4):本地用户的 Wi-Fi 或蜂窝网络信号较弱,影响音频体验。 + + + + (8):本地用户同时启用 Wi-Fi 和蓝牙,信号相互干扰,影响音频传输质量。 +
    diff --git a/dita/RTC-NG/API/enum_experiencequalitytype.dita b/dita/RTC-NG/API/enum_experiencequalitytype.dita index 86e0b5e9472..4c79c979d9e 100644 --- a/dita/RTC-NG/API/enum_experiencequalitytype.dita +++ b/dita/RTC-NG/API/enum_experiencequalitytype.dita @@ -1,8 +1,8 @@ - + <ph keyref="EXPERIENCE_QUALITY_TYPE"/> - 接收远端音频时,本地用户的主观体验质量。 + 本地用户接收远端音频流时的体验质量。
    枚举值 @@ -15,6 +15,14 @@ 1: 主观体验质量较差。 + + + (0):本地用户接收远端音频流时的体验质量良好。 + + + + (1):本地用户接收远端音频流时的体验质量较差。 +
    diff --git a/dita/RTC-NG/API/enum_externalvideosourcetype.dita b/dita/RTC-NG/API/enum_externalvideosourcetype.dita index 50dafc1c654..1b1d6441161 100644 --- a/dita/RTC-NG/API/enum_externalvideosourcetype.dita +++ b/dita/RTC-NG/API/enum_externalvideosourcetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="EXTERNAL_VIDEO_SOURCE_TYPE"/> - 外部视频帧编码类型。 + 外部视频帧的编码类型。
    枚举值 @@ -15,6 +15,10 @@ 1:已编码视频帧。 + + + (1):视频帧已编码。 +
    diff --git a/dita/RTC-NG/API/enum_featuretype.dita b/dita/RTC-NG/API/enum_featuretype.dita index 8ac0722e72d..42f6ec3b1d7 100644 --- a/dita/RTC-NG/API/enum_featuretype.dita +++ b/dita/RTC-NG/API/enum_featuretype.dita @@ -1,17 +1,11 @@ - + <ph keyref="FeatureType"/> - 进阶功能类型。 + 高级功能类型。
    -
    - -
    自从
    -
    v4.2.3
    -
    -
    -
    +
    枚举值 @@ -23,6 +17,18 @@ 2: 美颜功能。 + + + (1):虚拟背景功能。 + + + + (2):美颜特效功能。 + + + + (2):图像增强功能。 +
    diff --git a/dita/RTC-NG/API/enum_framerate.dita b/dita/RTC-NG/API/enum_framerate.dita index 8a3daf920d0..c89ca9353d6 100644 --- a/dita/RTC-NG/API/enum_framerate.dita +++ b/dita/RTC-NG/API/enum_framerate.dita @@ -1,4 +1,4 @@ - + <ph keyref="FRAME_RATE"/> @@ -31,11 +31,15 @@ 30: 30 fps。 - +

    60: 60 fps。

    - 仅适用于 Windows 和 macOS 平台。
    + 仅适用于 Windows 和 macOS 平台。 +
    + + + (60):每秒 60 帧(仅适用于 macOS 平台)。 diff --git a/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita b/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita index 612b686018a..5b969ccd22e 100644 --- a/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita +++ b/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita @@ -1,17 +1,11 @@ - + <ph keyref="HEADPHONE_EQUALIZER_PRESET"/> - 预设的耳机均衡器类型。 + 预设耳机均衡器类型。
    -
    - -
    自从
    -
    v4.0.1
    -
    -
    -
    +
    枚举值 @@ -27,6 +21,10 @@ 使用入耳式耳机的均衡器。 + + + (0x04000002):为入耳式耳机启用均衡器。 +
    diff --git a/dita/RTC-NG/API/enum_hwencoderaccelerating.dita b/dita/RTC-NG/API/enum_hwencoderaccelerating.dita index a49d41dabd7..e4e4d4cb70e 100644 --- a/dita/RTC-NG/API/enum_hwencoderaccelerating.dita +++ b/dita/RTC-NG/API/enum_hwencoderaccelerating.dita @@ -1,17 +1,11 @@ - + <ph keyref="hwEncoderAccelerating"/> 本地视频编码加速类型。
    -
    - -
    自从
    -
    v4.1.0
    -
    -
    -
    +
    枚举值 @@ -23,6 +17,10 @@ 1:采用硬件编码进行加速。 + + + (1):使用硬件编码,启用加速。 +
    diff --git a/dita/RTC-NG/API/enum_lastmileproberesultstate.dita b/dita/RTC-NG/API/enum_lastmileproberesultstate.dita index ea96e66e52d..e93e71ec8a0 100644 --- a/dita/RTC-NG/API/enum_lastmileproberesultstate.dita +++ b/dita/RTC-NG/API/enum_lastmileproberesultstate.dita @@ -1,8 +1,8 @@ - + <ph keyref="LASTMILE_PROBE_RESULT_STATE"/> - Last mile 质量探测结果的状态。 + 最后一公里网络探测测试的状态。
    枚举值 @@ -19,6 +19,14 @@ 3: 未进行 last mile 质量探测。一个可能的原因是网络连接中断。 + + + (2):最后一公里网络探测测试未完成,因测试资源有限,无法进行带宽估计。可能的原因是测试资源暂时受限。 + + + + (3):未执行最后一公里网络探测测试,可能由于网络状况较差。 +
    diff --git a/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita b/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita index 4bd6014cb22..6da65084600 100644 --- a/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita +++ b/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita @@ -1,8 +1,8 @@ - + <ph keyref="LIGHTENING_CONTRAST_LEVEL"/> - 亮度明暗对比度。 + 设置美颜效果的对比度等级。
    枚举值 @@ -19,6 +19,18 @@ 2:高对比度。 + + + (0):低对比度等级。 + + + + (1):(默认)正常对比度等级。 + + + + (2):高对比度等级。 +
    diff --git a/dita/RTC-NG/API/enum_localaudiostreamreason.dita b/dita/RTC-NG/API/enum_localaudiostreamreason.dita index 027b93badfe..82efbdf60e6 100644 --- a/dita/RTC-NG/API/enum_localaudiostreamreason.dita +++ b/dita/RTC-NG/API/enum_localaudiostreamreason.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOCAL_AUDIO_STREAM_REASON"/> - 本地音频状态改变原因。 + 本地音频状态变化的原因。
    枚举值 @@ -25,9 +25,9 @@ - + - 3:(仅适用于 Android 和 iOS)本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。 + 3:(仅适用于 Android 和 iOS)本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。 3:预留。 @@ -38,27 +38,43 @@ 5:本地音频编码失败。 - + - 6:(仅适用于 Windows 和 macOS)无本地音频采集设备。请提示用户在设备的控制面板中检查麦克风是否与设备连接正常,检查麦克风是否正常工作。 + 6:(仅适用于 Windows 和 macOS)无本地音频采集设备。请提示用户在设备的控制面板中检查麦克风是否与设备连接正常,检查麦克风是否正常工作。 - + - 7:(仅适用于 Windows 和 macOS)无本地音频播放设备。请提示用户在设备的控制面板中检查扬声器是否与设备连接正常,检查扬声器是否正常工作。 + 7:(仅适用于 Windows 和 macOS)无本地音频播放设备。请提示用户在设备的控制面板中检查扬声器是否与设备连接正常,检查扬声器是否正常工作。 - + - 8:(仅适用于 Android 和 iOS)本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。 + 8:(仅适用于 Android 和 iOS)本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。 预留。 - + 9:(仅适用于 Windows)本地音频采集设备的 ID 无效。请提示用户检查音频采集设备 ID。 - + 10:(仅适用于 Windows)本地音频播放设备的 ID 无效。请提示用户检查音频播放设备 ID。 -
    + + + (4):本地音频采集失败。 + + + + (7):(仅适用于 macOS 平台)无本地音频播放设备。请提示用户在设备控制面板中检查扬声器是否正确连接或工作正常。 + + + + (3):(仅适用于 iOS 平台)本地音频采集设备被占用。请提示用户检查是否有其他应用占用麦克风。麦克风空闲约五秒后音频采集会自动恢复,也可在麦克风空闲后尝试重新加入频道。 + + + + (8):(仅适用于 iOS 平台)本地音频采集被系统电话、智能助手或闹钟中断。如需继续采集,请提示用户结束相关操作。 + +
    diff --git a/dita/RTC-NG/API/enum_localaudiostreamstate.dita b/dita/RTC-NG/API/enum_localaudiostreamstate.dita index 16014924829..0f83a35d061 100644 --- a/dita/RTC-NG/API/enum_localaudiostreamstate.dita +++ b/dita/RTC-NG/API/enum_localaudiostreamstate.dita @@ -1,4 +1,4 @@ - + <ph keyref="LOCAL_AUDIO_STREAM_STATE"/> @@ -23,6 +23,10 @@ 3: 本地音频启动失败。
    + + + (1):本地音频采集设备已成功启动。 +
    diff --git a/dita/RTC-NG/API/enum_localvideostreamreason.dita b/dita/RTC-NG/API/enum_localvideostreamreason.dita index 8228bc4521d..8dc6f35615c 100644 --- a/dita/RTC-NG/API/enum_localvideostreamreason.dita +++ b/dita/RTC-NG/API/enum_localvideostreamreason.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOCAL_VIDEO_STREAM_REASON"/> - 本地视频状态改变原因。 + 本地视频状态变更的原因。
    枚举值 @@ -37,38 +37,38 @@ 5:本地视频编码失败。 - + - 6:(仅适用于 iOS)App 处于后台。请提示用户 App 处于后台时,无法正常进行视频采集。 + 6:(仅适用于 iOS)App 处于后台。请提示用户 App 处于后台时,无法正常进行视频采集。 6:预留。 - + - 7:(仅适用于 iOS)当前 App 窗口处于侧拉、分屏、画中画模式,且其他 App 正占用摄像头。请提示用户当 App 窗口处于侧拉、分屏、画中画模式,且其他 App 正占用摄像头时,无法正常进行视频采集。 + 7:(仅适用于 iOS)当前 App 窗口处于侧拉、分屏、画中画模式,且其他 App 正占用摄像头。请提示用户当 App 窗口处于侧拉、分屏、画中画模式,且其他 App 正占用摄像头时,无法正常进行视频采集。 7:预留。 - + 8:找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。 - + - 9:(仅适用于 macOS 和 Windows)当前正在使用的视频采集设备已经断开连接(例如,被拔出)。 + 9:(仅适用于 macOS 和 Windows)当前正在使用的视频采集设备已经断开连接(例如,被拔出)。 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 共享的全屏窗口已退出全屏。退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,建议你立即结束本次共享。

    报告该错误码的常见场景:

    • 本地用户关闭共享的窗口。
    • @@ -77,61 +77,61 @@

    - + 13:(仅适用于 Windows)待共享的窗口被其他窗口遮挡住,被遮挡住的部分在共享时会被 SDK 涂黑。 - + - 14:(仅适用于 Android)视频采集中断。可能的原因是:
      + 14:(仅适用于 Android)视频采集中断。可能的原因是:
      • 摄像头被其他 App 占用。请提示用户检查摄像头是否被其他 App 占用。
      • 当前 App 已被切换到后台。可以使用前台服务通知操作系统,确保 App 在切换到后台时仍可采集视频。详见
      - + - 15:(仅适用于 Android)视频采集设备出错。请提示用户关闭并重新启动摄像头以恢复功能,如果该操作不能解决问题,请检查摄像头是否出现硬件故障。 + 15:(仅适用于 Android)视频采集设备出错。请提示用户关闭并重新启动摄像头以恢复功能,如果该操作不能解决问题,请检查摄像头是否出现硬件故障。 20:(仅适用于 Windows)SDK 不支持共享该类型的窗口。请提示用户不支持此类窗口共享,请尝试共享整个屏幕。 - + 21:(仅适用于 Windows 和 Android)当前采集的窗口无数据。 - + - 22:(仅适用于 Windows 和 macOS)不具备采集屏幕的权限。 + 22:(仅适用于 Windows 和 macOS)不具备采集屏幕的权限。 - + 24:(仅适用于 Windows)屏幕共享过程中发生意外错误(可能由于窗口屏蔽失败),导致屏幕共享策略降级,但屏幕共享过程本身没有受到影响。 屏幕共享过程中,由于设备本身驱动等问题导致屏蔽指定窗口失败时,SDK 也会报告该事件并自动回退到共享整个屏幕。如果你的应用场景需要屏蔽特定窗口以保护隐私,建议监听此事件并在事件触发时添加额外的隐私保护机制。 - + 25:(仅适用于 Windows)当前屏幕采集的窗口处于隐藏状态,并且在当前屏幕上不可见。 - + 26:(仅适用于 Windows)进行屏幕采集的窗口已经从隐藏状态中恢复。 - + - 27:(仅适用于 macOS 和 Windows)进行屏幕采集的窗口已经从最小化状态恢复正常。 + 27:(仅适用于 macOS 和 Windows)进行屏幕采集的窗口已经从最小化状态恢复正常。 - + 28:(仅适用于 Windows)屏幕采集已暂停。报告该错误码的常见场景:当前屏幕可能已切换到安全桌面,例如 UAC 对话框或者 Winlogon 桌面。 - + 29:(仅适用于 Windows)屏幕采集已从暂停状态中恢复。 - + - 30:(仅适用于 Windows 和 macOS)进行屏幕采集的显示器已断开连接。当收到该状态时,请提示用户当前屏幕共享已暂停并重启屏幕共享。 + 30:(仅适用于 Windows 和 macOS)进行屏幕采集的显示器已断开连接。当收到该状态时,请提示用户当前屏幕共享已暂停并重启屏幕共享。 @@ -145,10 +145,42 @@ 33:屏幕共享进程被系统来电打断。 - + 101:由于系统压力过大,导致当前视频采集设备不可用。 + + + (10):(仅适用于 macOS 平台)SDK 在视频设备列表中找不到对应的视频设备。请检查视频设备 ID 是否有效。 + + + + (3):本地视频采集设备被占用。请提示用户检查摄像头是否被其他应用占用,或尝试重新加入频道。 + + + + (5):本地视频编码失败。 + + + + (6):(仅适用于 iOS 平台)App 处于后台运行状态,无法正常进行视频采集。请提示用户切换至前台。 + + + + (7):(仅适用于 iOS 平台)App 处于 Slide Over、Split View 或 Picture in Picture 模式,且摄像头被其他应用占用,无法正常进行视频采集。请提示用户退出该模式或关闭其他占用摄像头的应用。 + + + + (30):(仅适用于 macOS 平台)用于屏幕共享的显示器已断开连接,当前屏幕共享已暂停。请提示用户重新开始屏幕共享。 + + + + (27):(仅适用于 macOS 平台)用于屏幕共享的窗口已从最小化状态恢复。 + + + + (4):本地视频采集失败。请提示用户检查视频采集设备是否正常工作,摄像头是否被其他应用占用,或尝试重新加入频道。 +
    diff --git a/dita/RTC-NG/API/enum_localvideostreamstate.dita b/dita/RTC-NG/API/enum_localvideostreamstate.dita index 507078f302f..4b420a5cd83 100644 --- a/dita/RTC-NG/API/enum_localvideostreamstate.dita +++ b/dita/RTC-NG/API/enum_localvideostreamstate.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOCAL_VIDEO_STREAM_STATE"/> - 本地视频状态。 + 本地视频状态类型。
    枚举值 @@ -13,7 +13,7 @@ - 1: 本地视频采集设备启动成功。调用 方法共享窗口且共享窗口为最大化时,也会报告该状态。 + 1: 本地视频采集设备启动成功。调用 方法共享窗口且共享窗口为最大化时,也会报告该状态。 @@ -23,6 +23,10 @@ 3: 本地视频启动失败。 + + + (3):本地视频启动失败。 +
    diff --git a/dita/RTC-NG/API/enum_logfiltertype.dita b/dita/RTC-NG/API/enum_logfiltertype.dita index f004bf2c504..a1a85cf9d2d 100644 --- a/dita/RTC-NG/API/enum_logfiltertype.dita +++ b/dita/RTC-NG/API/enum_logfiltertype.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOG_FILTER_TYPE"/> - 日志过滤等级。 + 设置 SDK 的输出日志级别。
    枚举值 @@ -31,6 +31,30 @@ 0x0008: 输出 级别的日志信息。 + + + (0):不输出任何日志信息。 + + + + (0x080f):输出所有日志信息。若需获取最完整的日志文件,建议将日志过滤级别设置为该值。 + + + + (0x000f):输出 级别的日志信息。推荐将日志过滤级别设置为该值。 + + + + (0x000e):输出 级别的日志信息。 + + + + (0x000c):输出 级别的日志信息。 + + + + (0x0008):输出 级别的日志信息。 +
    diff --git a/dita/RTC-NG/API/enum_loglevel.dita b/dita/RTC-NG/API/enum_loglevel.dita index c91b2133d17..a19a0a47e81 100644 --- a/dita/RTC-NG/API/enum_loglevel.dita +++ b/dita/RTC-NG/API/enum_loglevel.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOG_LEVEL"/> - 日志输出等级。 + 设置 SDK 的输出日志等级。
    枚举值 @@ -27,6 +27,30 @@ 0x0008: 仅输出 FATAL 级别的日志。 + + + (0):不输出任何日志信息。 + + + + (0x0001):(默认)输出 FATALWARN 级别的日志信息。建议将日志过滤器设置为该级别。 + (0x0001):(默认)输出 FATAL、ERROR、WARN 和 INFO 级别的日志信息。建议将日志过滤器设置为该等级。 + + + + (0x0002):输出 FATALWARN 级别的日志信息。 + (0x0002):输出 FATAL、ERROR 和 WARN 级别的日志信息。 + + + + (0x0004):输出 FATAL 级别的日志信息。 + (0x0004):输出 FATAL 和 ERROR 级别的日志信息。 + + + + (0x0008):输出 FATAL 级别的日志信息。 + (0x0008):输出 FATAL 级别的日志信息。 +
    diff --git a/dita/RTC-NG/API/enum_lowlightenhancelevel.dita b/dita/RTC-NG/API/enum_lowlightenhancelevel.dita index 3d23dfe09b1..e987ed519eb 100644 --- a/dita/RTC-NG/API/enum_lowlightenhancelevel.dita +++ b/dita/RTC-NG/API/enum_lowlightenhancelevel.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> - 暗光增强等级。 + 低光增强等级。
    枚举值 @@ -15,6 +15,10 @@ 1:优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。 -
    + + + (1):在低光增强过程中优先提升处理性能。处理图像的亮度和细节,处理速度更快。 + +
    diff --git a/dita/RTC-NG/API/enum_lowlightenhancemode.dita b/dita/RTC-NG/API/enum_lowlightenhancemode.dita index fe836e2a21e..18097a7abb9 100644 --- a/dita/RTC-NG/API/enum_lowlightenhancemode.dita +++ b/dita/RTC-NG/API/enum_lowlightenhancemode.dita @@ -1,8 +1,8 @@ - + <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> - 暗光增强模式。 + 低光增强模式。
    枚举值 @@ -15,6 +15,14 @@ 1:手动模式。用户需手动开启或关闭暗光增强功能。 -
    + + + (0):(默认)自动模式。SDK 会根据环境光自动启用或关闭低光增强功能,以补偿光照不足或防止过度曝光。 + + + + (1):手动模式。需由用户手动启用或关闭低光增强功能。 + +
    diff --git a/dita/RTC-NG/API/enum_mediadevicestatetype.dita b/dita/RTC-NG/API/enum_mediadevicestatetype.dita index a19ee4cab45..1d76a420a85 100644 --- a/dita/RTC-NG/API/enum_mediadevicestatetype.dita +++ b/dita/RTC-NG/API/enum_mediadevicestatetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="MEDIA_DEVICE_STATE_TYPE"/> - 设备状态。 + 媒体设备状态。
    枚举值 @@ -31,6 +31,18 @@ 8: 设备被拔出。 + + + (8):设备已拔出。 + + + + (3):设备已插入。 + + + + (4):设备未被检测到。 +
    diff --git a/dita/RTC-NG/API/enum_mediadevicetype.dita b/dita/RTC-NG/API/enum_mediadevicetype.dita index af5f3b1a338..babf74d8041 100644 --- a/dita/RTC-NG/API/enum_mediadevicetype.dita +++ b/dita/RTC-NG/API/enum_mediadevicetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="MEDIA_DEVICE_TYPE"/> - 设备类型。 + 媒体设备类型。
    枚举值 @@ -33,11 +33,27 @@ - (仅适用于 macOS。)5: 虚拟音频播放设备(虚拟声卡)。 + (仅适用于 macOS。)5: 虚拟音频播放设备(虚拟声卡)。 - (仅适用于 macOS。)6: 虚拟音频采集设备(虚拟声卡)。 + (仅适用于 macOS。)6: 虚拟音频采集设备(虚拟声卡)。 + + + + (6):(仅适用于 macOS 平台)虚拟音频采集设备(虚拟声卡)。 + + + + (1):音频采集设备。 + + + + (2):视频渲染设备(显卡)。 + + + + (3):视频采集设备。
    diff --git a/dita/RTC-NG/API/enum_mediaplayerevent.dita b/dita/RTC-NG/API/enum_mediaplayerevent.dita index a400bd73600..27e9f5f64c6 100644 --- a/dita/RTC-NG/API/enum_mediaplayerevent.dita +++ b/dita/RTC-NG/API/enum_mediaplayerevent.dita @@ -1,8 +1,8 @@ - + <ph keyref="MEDIA_PLAYER_EVENT"/> - 播放器事件。 + 媒体播放器事件。
    枚举值 @@ -67,6 +67,35 @@ 15:达到可缓存文件的大小上限。 + + + (12):媒体资源切换失败。 + + + + (5):播放器使用的音轨已更改。 + + + + (7):当前缓冲数据刚好足以支持播放。 + + + + (9):音频或视频播放从卡顿中恢复。 + + + + (11):媒体资源切换完成。 + (1):播放器完成跳转到新的播放位置。 + + + + (13):首帧视频已渲染。 + + + + (15):缓存的媒体文件总大小已达上限。 +
    diff --git a/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita b/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita index a384df3f825..7d0ecb3d410 100644 --- a/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita +++ b/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita @@ -1,8 +1,8 @@ - + <ph keyref="MEDIA_PLAYER_METADATA_TYPE"/> - 媒体附属信息数据类型。 + 媒体元数据类型。
    枚举值 @@ -15,6 +15,10 @@ 1: SEI (补充增强信息)类型。 + + + (1):SEI 类型。 +
    diff --git a/dita/RTC-NG/API/enum_mediaplayerreason.dita b/dita/RTC-NG/API/enum_mediaplayerreason.dita index de55e4b399e..b949f33971c 100644 --- a/dita/RTC-NG/API/enum_mediaplayerreason.dita +++ b/dita/RTC-NG/API/enum_mediaplayerreason.dita @@ -1,8 +1,8 @@ - + - + <ph keyref="MEDIA_PLAYER_REASON"/> - 播放器状态改变的原因。 + 媒体播放器状态变更的原因。
    枚举值 @@ -67,7 +67,7 @@ -14: SDK 不支持的接口调用。 - + -15: 媒体资源网络路径的鉴权信息已过期。请参考 更新鉴权信息。 @@ -79,6 +79,47 @@ -17:未知错误。 + + + (-17):未知错误。 + + + + (-11):播放器与声网服务器之间的连接无效。 + + + + (-3):无资源。 + (-4):媒体资源无效。 + + + + (-5):媒体流类型未知。 + + + + (-6):对象未初始化。 + + + + (-14):SDK 不支持调用的方法。 + + + + (-8):渲染器无效。 + + + + (-10):找不到媒体资源的 URL。 + + + + (-12):播放缓冲区不足。 + + + + (-15):媒体资源的鉴权信息已过期。 +
    diff --git a/dita/RTC-NG/API/enum_mediaplayerstate.dita b/dita/RTC-NG/API/enum_mediaplayerstate.dita index 494679a9f41..18df1471257 100644 --- a/dita/RTC-NG/API/enum_mediaplayerstate.dita +++ b/dita/RTC-NG/API/enum_mediaplayerstate.dita @@ -1,8 +1,8 @@ - + <ph keyref="MEDIA_PLAYER_STATE"/> - 播放器的状态。 + 播放状态。
    枚举值 @@ -47,6 +47,18 @@ 100: 播放失败。 + + + (100):播放媒体资源失败。 + + + + (2):已成功打开媒体资源。 + + + + (6):已完成所有循环播放。 +
    diff --git a/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita b/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita index 0e0449f4568..ab3588d9a85 100644 --- a/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita +++ b/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita @@ -1,13 +1,13 @@ - + <ph keyref="MediaRecorderStreamType"/> - 录制内容。 + 录制内容类型。
    枚举值 - + 1: 仅音频。 @@ -15,7 +15,7 @@ 1: 仅音频。 - + 2: 仅视频。 @@ -27,6 +27,10 @@ 3: (默认)音视频。 + + + (3):录制音频和视频(默认)。 +
    diff --git a/dita/RTC-NG/API/enum_mediasourcetype.dita b/dita/RTC-NG/API/enum_mediasourcetype.dita index f465e52238b..466c88a7af0 100644 --- a/dita/RTC-NG/API/enum_mediasourcetype.dita +++ b/dita/RTC-NG/API/enum_mediasourcetype.dita @@ -1,4 +1,4 @@ - + <ph keyref="MEDIA_SOURCE_TYPE"/> @@ -35,6 +35,40 @@ 100: 未知媒体源。 + + + (0):音频播放设备。 + + + + (1):音频采集设备。 + + + + (3):副摄像头。 + (3):次摄像头。 + + + + (6):自定义视频源。 + + + + (13):语音驱动扩展处理的视频源。 + (13):由语音驱动扩展处理的视频源。 + + + + (100):未知的媒体源。 + + + + (1):音频采集设备。 + + + + (2):主摄像头。 + diff --git a/dita/RTC-NG/API/enum_mediastreamtype.dita b/dita/RTC-NG/API/enum_mediastreamtype.dita index 6e9b00820a4..a9bf9040127 100644 --- a/dita/RTC-NG/API/enum_mediastreamtype.dita +++ b/dita/RTC-NG/API/enum_mediastreamtype.dita @@ -1,8 +1,8 @@ - + <ph keyref="MEDIA_STREAM_TYPE"/> - 媒体流的类型。 + 媒体流类型。
    枚举值 @@ -23,6 +23,22 @@ 3: 字幕流。 + + + (0):未知类型。 + + + + (1):视频流。 + + + + (2):音频流。 + + + + (3):字幕流。 +
    diff --git a/dita/RTC-NG/API/enum_mediatraceevent.dita b/dita/RTC-NG/API/enum_mediatraceevent.dita index 96a7c0d861e..6de29f0de78 100644 --- a/dita/RTC-NG/API/enum_mediatraceevent.dita +++ b/dita/RTC-NG/API/enum_mediatraceevent.dita @@ -1,17 +1,11 @@ - + <ph keyref="MEDIA_TRACE_EVENT"/> 媒体帧的渲染状态。
    -
    - -
    自从
    -
    v4.1.1
    -
    -
    -
    +
    枚举值 @@ -23,6 +17,10 @@ 1:视频帧已被解码。 + + + (1):视频帧已解码。 +
    diff --git a/dita/RTC-NG/API/enum_metadatatype.dita b/dita/RTC-NG/API/enum_metadatatype.dita index 8545a8654a5..bb339fef0d5 100644 --- a/dita/RTC-NG/API/enum_metadatatype.dita +++ b/dita/RTC-NG/API/enum_metadatatype.dita @@ -1,8 +1,8 @@ - + <ph keyref="METADATA_TYPE"/> - 观测器的 Metadata 类型。当前仅支持视频类型的 Metadata 。 + 观察者的元数据类型。目前仅支持视频元数据。
    枚举值 @@ -15,6 +15,14 @@ 0: Metadata 类型为视频。 + + + (-1):未知类型的元数据。 + + + + (0):视频类型的元数据。 +
    diff --git a/dita/RTC-NG/API/enum_multipathmode.dita b/dita/RTC-NG/API/enum_multipathmode.dita index 699a5c6610c..9a6ac46ddf6 100644 --- a/dita/RTC-NG/API/enum_multipathmode.dita +++ b/dita/RTC-NG/API/enum_multipathmode.dita @@ -2,7 +2,7 @@ <ph keyref="MultipathMode"/> - 数据在多个网络路径上的传输方式。 + 多网络路径下的数据传输模式。
    @@ -25,6 +25,11 @@ (1):动态发送模式,SDK 根据当前网络状况动态选择最佳路径进行数据传输,提升传输性能。 (1):动态发送模式,SDK 动态选择最佳路径进行数据传输,提升传输性能。 - + + + (1):动态传输模式。SDK 会动态选择最优路径进行数据传输,以提升传输性能。 + (1):动态传输模式。SDK 会根据当前的网络状况动态选择最优路径进行数据传输,以提升传输性能。 + +
    diff --git a/dita/RTC-NG/API/enum_multipathtype.dita b/dita/RTC-NG/API/enum_multipathtype.dita index 8ce825f6576..5cda9db8fc2 100644 --- a/dita/RTC-NG/API/enum_multipathtype.dita +++ b/dita/RTC-NG/API/enum_multipathtype.dita @@ -39,6 +39,25 @@ (99):未知类型,表示无法识别的网络路径类型。 (99):未知类型,表示无法识别的路径类型。可用于错误处理或回退场景。 - + + + (1):WIFI 类型,表示数据通过 Wi-Fi 网络传输。 + (1):Wi-Fi 类型,表示数据通过 Wi-Fi 网络传输,适用于延迟适中、无线连接的场景。 + + + + (2):Mobile 类型,表示数据通过移动网络传输。 + (2):移动网络类型,表示数据通过移动网络传输,适用于延迟较高或连接不稳定的场景。 + + + + (99):未知类型,表示无法识别的网络路径类型。 + (99):未知类型,表示无法识别的路径类型,可用于错误处理或回退场景。 + + + + (0):LAN 类型,表示数据通过局域网传输,适用于高速、低延迟的连接。 + +
    diff --git a/dita/RTC-NG/API/enum_networktype.dita b/dita/RTC-NG/API/enum_networktype.dita index 55920c21e60..8bc83753322 100644 --- a/dita/RTC-NG/API/enum_networktype.dita +++ b/dita/RTC-NG/API/enum_networktype.dita @@ -1,8 +1,8 @@ - + <ph keyref="NETWORK_TYPE"/> - 网络连接类型。 + 网络类型。
    枚举值 @@ -39,6 +39,14 @@ 6: 网络类型为 5G 移动网络。 - + + + (0):SDK 当前与网络断开连接。 + + + + (2):Wi-Fi 网络类型,包括热点连接。 + +
    diff --git a/dita/RTC-NG/API/enum_orientationmode.dita b/dita/RTC-NG/API/enum_orientationmode.dita index f878796e361..917d122be80 100644 --- a/dita/RTC-NG/API/enum_orientationmode.dita +++ b/dita/RTC-NG/API/enum_orientationmode.dita @@ -1,8 +1,8 @@ - + <ph keyref="ORIENTATION_MODE"/> - 视频编码的方向模式。 + 视频输出方向模式。
    枚举值 @@ -24,6 +24,19 @@ 2: 该模式下 SDK 固定输出人像(竖屏)模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 + + + (0):(默认)输出视频始终与采集视频方向一致。接收端根据视频编码器传递的旋转信息进行调整。适用于接收端可调整视频方向的场景。 +
      +
    • 如果采集的视频为横屏模式,输出视频为横屏模式。
    • +
    • 如果采集的视频为竖屏模式,输出视频为竖屏模式。
    • +
    +
    +
    + + + (2):输出视频始终为竖屏模式。如果采集的视频为横屏模式,视频编码器会对其进行裁剪以适配输出。适用于接收端无法处理旋转信息的场景,例如 CDN 直播推流。 +
    diff --git a/dita/RTC-NG/API/enum_permissiontype.dita b/dita/RTC-NG/API/enum_permissiontype.dita index ab5c575bd7c..a93f69b5d35 100644 --- a/dita/RTC-NG/API/enum_permissiontype.dita +++ b/dita/RTC-NG/API/enum_permissiontype.dita @@ -1,8 +1,8 @@ - + <ph keyref="PERMISSION_TYPE"/> - 设备权限类型。 + 设备权限的类型。
    枚举值 @@ -15,11 +15,19 @@ 1: 摄像头权限。 - + - (仅适用于 Android) 2: 屏幕共享权限。 + (仅适用于 Android) 2: 屏幕共享权限。 预留。 + + + (0):音频采集设备权限。 + + + + (1):摄像头权限。 +
    diff --git a/dita/RTC-NG/API/enum_playerpreloadevent.dita b/dita/RTC-NG/API/enum_playerpreloadevent.dita index 2e0345a7271..3709b15b939 100644 --- a/dita/RTC-NG/API/enum_playerpreloadevent.dita +++ b/dita/RTC-NG/API/enum_playerpreloadevent.dita @@ -1,8 +1,8 @@ - + <ph keyref="PLAYER_PRELOAD_EVENT"/> - 预加载媒体资源时发生的事件。 + 媒体资源预加载过程中的事件。
    枚举值 @@ -19,6 +19,10 @@ 2: 预加载媒体资源出错。 + + + (2):预加载媒体资源时发生错误。 +
    diff --git a/dita/RTC-NG/API/enum_proxytype.dita b/dita/RTC-NG/API/enum_proxytype.dita index 58112d72a6c..f7083c07d3d 100644 --- a/dita/RTC-NG/API/enum_proxytype.dita +++ b/dita/RTC-NG/API/enum_proxytype.dita @@ -1,8 +1,8 @@ - + <ph keyref="PROXY_TYPE"/> - 代理类型。 + 云代理类型。
    枚举值 @@ -27,6 +27,31 @@ 4: 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。 + + + (0):预留,暂不使用。 + (0):预留值。 + + + + (1):UDP 协议云代理,强制使用 UDP 云代理模式。该模式下,SDK 始终通过 UDP 传输数据。 + (1):UDP 协议云代理,强制使用 UDP 云代理模式。在该模式下,SDK 始终通过 UDP 传输数据。 + + + + (2):TCP(加密)协议云代理,强制使用 TCP 云代理模式。该模式下,SDK 始终通过 TCP/TLS 443 传输数据。 + (2):TCP(加密)协议云代理,强制使用 TCP 云代理模式。在该模式下,SDK 始终通过 TCP/TLS 443 传输数据。 + + + + (3):预留,暂不使用。 + (3):预留值。 + + + + (4):自动模式。该模式下,SDK 会优先尝试直接连接 SD-RTN™,若连接失败则自动切换为 TCP/TLS 443。 + (4):自动模式。SDK 会尝试直接连接 SD-RTN™,若连接失败则自动切换至 TCP/TLS 443。 +
    diff --git a/dita/RTC-NG/API/enum_qualityadaptindication.dita b/dita/RTC-NG/API/enum_qualityadaptindication.dita index 0e207e32544..442f9db3f52 100644 --- a/dita/RTC-NG/API/enum_qualityadaptindication.dita +++ b/dita/RTC-NG/API/enum_qualityadaptindication.dita @@ -1,8 +1,8 @@ - + <ph keyref="QUALITY_ADAPT_INDICATION"/> - 自上次统计后本地视频质量的自适应情况(基于目标帧率和目标码率)。 + 自上次统计以来,本地视频在目标帧率和目标码率方面的质量变化。
    枚举值 @@ -19,6 +19,14 @@ 2:因网络带宽减少,本地视频质量变差。 + + + (0):本地视频质量无变化。 + + + + (2):网络带宽下降,导致本地视频质量下降。 +
    diff --git a/dita/RTC-NG/API/enum_qualitytype.dita b/dita/RTC-NG/API/enum_qualitytype.dita index 49b94312fb9..d70f32d0b27 100644 --- a/dita/RTC-NG/API/enum_qualitytype.dita +++ b/dita/RTC-NG/API/enum_qualitytype.dita @@ -1,8 +1,8 @@ - + <ph keyref="QUALITY_TYPE"/> - 网络质量。 + 网络质量类型。
    枚举值 @@ -39,10 +39,38 @@ 7: 暂时无法检测网络质量(未使用)。 - + 8: 网络质量检测进行中。 -
    + + + (0):网络质量未知。 + + + + (1):网络质量极佳。 + + + + (2):网络质量较好,但码率可能略低于极佳。 + + + + (3):通话质量略有下降,用户可感知。 + + + + (5):网络质量极差,几乎无法通话。 + + + + (6):网络连接已断开,无法通话。 + + + + (8):正在进行 last-mile 网络探测。 + +
    diff --git a/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita b/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita index e1cdf589f46..7be1beffca2 100644 --- a/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita +++ b/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita @@ -1,4 +1,4 @@ - + <ph keyref="RAW_AUDIO_FRAME_OP_MODE_TYPE"/> @@ -9,16 +9,20 @@ - 0: (默认) 只读模式,用户仅从 获取原始数据,不作任何修改。用户仅获取 SDK 返回的原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。 + 0: (默认) 只读模式,用户仅从 获取原始数据,不作任何修改。用户仅获取 SDK 返回的原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。 - 1: 只写模式,用户替换 中的数据以供 SDK 编码传输。用户替换 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自行采集数据,可选择该模式。 + 1: 只写模式,用户替换 中的数据以供 SDK 编码传输。用户替换 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自行采集数据,可选择该模式。 - 2: 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 + 2: 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 - + + + (2):读写模式。例如,用户使用自有音效处理模块进行语音预处理,如变声。 + + diff --git a/dita/RTC-NG/API/enum_recorderreasoncode.dita b/dita/RTC-NG/API/enum_recorderreasoncode.dita index 8b8ef62ad0a..019df5c4d4f 100644 --- a/dita/RTC-NG/API/enum_recorderreasoncode.dita +++ b/dita/RTC-NG/API/enum_recorderreasoncode.dita @@ -1,8 +1,8 @@ - + <ph keyref="RecorderReasonCode"/> - 录制状态出错的原因。 + 状态变更原因码。
    枚举值 @@ -27,6 +27,22 @@ 4: 录制配置改变。 + + + (2):未检测到音视频流,或录制过程中音视频流中断超过 5 秒。 + + + + (1):无法将录制数据写入文件。 + + + + (3):录制时长超过上限。 + + + + (4):录制配置发生变更。 +
    diff --git a/dita/RTC-NG/API/enum_recorderstate.dita b/dita/RTC-NG/API/enum_recorderstate.dita index 5a3fff13111..ddb4dff0d35 100644 --- a/dita/RTC-NG/API/enum_recorderstate.dita +++ b/dita/RTC-NG/API/enum_recorderstate.dita @@ -1,8 +1,8 @@ - + <ph keyref="RecorderState"/> - 当前的录制状态。 + 当前录制状态。
    枚举值 @@ -19,6 +19,10 @@ 3: 音视频流录制停止。 + + + (3):停止音视频录制。 +
    diff --git a/dita/RTC-NG/API/enum_remoteaudiostate.dita b/dita/RTC-NG/API/enum_remoteaudiostate.dita index 1cd3a9db221..f91185b5721 100644 --- a/dita/RTC-NG/API/enum_remoteaudiostate.dita +++ b/dita/RTC-NG/API/enum_remoteaudiostate.dita @@ -1,8 +1,8 @@ - + <ph keyref="REMOTE_AUDIO_STATE"/> - 远端音频流状态。 + 远端音频状态。
    枚举值 @@ -27,6 +27,10 @@ 4: 远端音频流播放失败。在 的情况下,会报告该状态。 + + + (4):远端音频启动失败。当出现 时,SDK 会报告该状态。 +
    diff --git a/dita/RTC-NG/API/enum_remoteaudiostatereason.dita b/dita/RTC-NG/API/enum_remoteaudiostatereason.dita index 62692761d03..c4b454b7aee 100644 --- a/dita/RTC-NG/API/enum_remoteaudiostatereason.dita +++ b/dita/RTC-NG/API/enum_remoteaudiostatereason.dita @@ -1,8 +1,8 @@ - + <ph keyref="REMOTE_AUDIO_STATE_REASON"/> - 远端音频流状态切换原因。 + 远端音频状态变化的原因。
    枚举值 @@ -39,6 +39,10 @@ 7: 远端用户离开频道。 -
    + + + (0):远端音频状态发生变化时,SDK 报告的内部原因。 + +
    diff --git a/dita/RTC-NG/API/enum_remotevideostate.dita b/dita/RTC-NG/API/enum_remotevideostate.dita index 0405e4bc729..a93695afb55 100644 --- a/dita/RTC-NG/API/enum_remotevideostate.dita +++ b/dita/RTC-NG/API/enum_remotevideostate.dita @@ -1,8 +1,8 @@ - + <ph keyref="REMOTE_VIDEO_STATE"/> - 远端视频流状态。 + 远端视频流的状态。
    枚举值 @@ -17,18 +17,22 @@ - 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 - 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 + 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 + 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 - 3: 远端视频流卡顿。在 的情况下,会报告该状态。 - 3: 远端视频流卡顿。在 的情况下,会报告该状态。 + 3: 远端视频流卡顿。在 的情况下,会报告该状态。 + 3: 远端视频流卡顿。在 的情况下,会报告该状态。 4: 远端视频流播放失败。在 的情况下,会报告该状态。 + + + (4):远端视频启动失败。SDK 在 情况下会报告该状态。 +
    diff --git a/dita/RTC-NG/API/enum_remotevideostatereason.dita b/dita/RTC-NG/API/enum_remotevideostatereason.dita index ef7c39cc249..3ba4c307276 100644 --- a/dita/RTC-NG/API/enum_remotevideostatereason.dita +++ b/dita/RTC-NG/API/enum_remotevideostatereason.dita @@ -1,8 +1,8 @@ - + <ph keyref="REMOTE_VIDEO_STATE_REASON"/> - 远端视频流状态切换原因。 + 远端视频状态变化的原因。
    枚举值 @@ -47,14 +47,30 @@ 9: 网络情况改善时,远端音频流恢复为音视频流。 - + - 12:(仅适用于 iOS) 远端用户的 App 已切换到后台。 + 12:(仅适用于 iOS) 远端用户的 App 已切换到后台。 13:本地的视频解码器不支持对收到的远端视频流进行解码。 -
    + + + (9):网络状况改善后,远端纯音频流恢复为音视频流。 + + + + (8):由于网络状况不佳,远端音视频流降级为纯音频流。 + + + + (12):(仅适用于 iOS)远端用户的应用切换到后台。 + + + + (13):本地视频解码器不支持解码远端视频流。 + +
    diff --git a/dita/RTC-NG/API/enum_rendermodetype.dita b/dita/RTC-NG/API/enum_rendermodetype.dita index e9ceffe5f26..45c2d9d52c8 100644 --- a/dita/RTC-NG/API/enum_rendermodetype.dita +++ b/dita/RTC-NG/API/enum_rendermodetype.dita @@ -1,4 +1,4 @@ - + <ph keyref="RENDER_MODE_TYPE"/> @@ -11,6 +11,14 @@ 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 + + + (1):隐藏模式。优先填满窗口,超出窗口尺寸的视频部分将被裁剪。 + + + + (2):适应模式。优先完整显示视频内容,未填满窗口的区域以黑色填充。 + @@ -19,7 +27,7 @@ - + 3:匹配模式。
    diff --git a/dita/RTC-NG/API/enum_renewtokenerrorcode.dita b/dita/RTC-NG/API/enum_renewtokenerrorcode.dita index ee2e4f3a024..40a93f76c74 100644 --- a/dita/RTC-NG/API/enum_renewtokenerrorcode.dita +++ b/dita/RTC-NG/API/enum_renewtokenerrorcode.dita @@ -2,13 +2,13 @@ <ph keyref="RENEW_TOKEN_ERROR_CODE"/> - 表示调用 后的错误码。 + 调用 后的错误码。
    自从:
    -
    自 v4.6.0 版本新增。
    +
    自 4.6.0 版本新增。
    @@ -49,6 +49,34 @@ (6):Token 更新请求被取消,原因是发起了新的请求。 (6):Token 更新被取消,原因是发起了新的请求,前一个请求被取消。 - + + + (0):Token 更新成功。 + + + + (1):Token 更新失败。建议重新生成 Token 并重试 + (1):Token 更新失败。建议重新生成 Token 并重试 + + + + (4):Token 更新失败,原因是 Token 中的频道名与当前频道不一致。建议检查频道名,重新生成 Token 并重试 + (4):Token 更新失败,原因是 Token 中的频道名与当前频道不一致。建议检查频道名,重新生成 Token 并重试 + + + + (5):Token 更新失败,原因是 Token 中的 App ID 与当前 App ID 不一致。建议检查 App ID,重新生成 Token 并重试 + (5):Token 更新失败,原因是 Token 中的 App ID 与当前 App ID 不一致。建议检查 App ID,重新生成 Token 并重试 + + + + (6):Token 更新请求已取消,因为发起了新的请求。 + (6):Token 更新被取消,原因是发起了新的请求,前一个请求被取消。 + + + + (2):Token 更新失败,原因是传入的 Token 已过期。建议生成一个过期时间更长的新 Token 并重试 + +
    diff --git a/dita/RTC-NG/API/enum_rhythmplayerreason.dita b/dita/RTC-NG/API/enum_rhythmplayerreason.dita index 76f5d752b63..667744413ef 100644 --- a/dita/RTC-NG/API/enum_rhythmplayerreason.dita +++ b/dita/RTC-NG/API/enum_rhythmplayerreason.dita @@ -1,8 +1,8 @@ - + <ph keyref="RHYTHM_PLAYER_REASON"/> - 虚拟节拍器错误信息。 + 虚拟节拍器错误码。
    枚举值 @@ -27,6 +27,18 @@ 803:节拍音频文件时长超出限制。最大时长为 1.2 秒。 + + + (1):发生通用错误,无具体原因。 + + + + (802):播放节拍文件时发生错误。 + + + + (803):节拍文件时长超出限制。最大时长为 1.2 秒。 +
    diff --git a/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita b/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita index 29ef535da8c..2f52c0443e9 100644 --- a/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita +++ b/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="RHYTHM_PLAYER_STATE_TYPE"/> - 虚拟节拍器状态。 + 虚拟节拍器的状态。
    枚举值 @@ -27,6 +27,10 @@ 814:开启虚拟节拍器失败。你可以通过报告的错误码 errorCode 排查错误原因,也可以重新尝试开启虚拟节拍器。 + + + (814):虚拟节拍器启动失败。你可以使用返回的 排查错误原因,或尝试重新启动虚拟节拍器。 +
    diff --git a/dita/RTC-NG/API/enum_rtmpstreamingevent.dita b/dita/RTC-NG/API/enum_rtmpstreamingevent.dita index 78f4da2f3a2..d665fa1ced2 100644 --- a/dita/RTC-NG/API/enum_rtmpstreamingevent.dita +++ b/dita/RTC-NG/API/enum_rtmpstreamingevent.dita @@ -1,8 +1,8 @@ - + <ph keyref="RTMP_STREAMING_EVENT"/> - 旁路推流时发生的事件。 + 旁路推流过程中的事件。
    枚举值 @@ -23,6 +23,22 @@ 4: 预留参数。 + + + (1):添加背景图或水印图到旁路推流时发生错误。 + + + + (2):该推流地址已被用于旁路推流。如果你想开始新的推流,请使用新的推流地址。 + + + + (3):该功能不支持。 + + + + (4):保留字段。 +
    diff --git a/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita b/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita index 222c32790e2..164a6343f82 100644 --- a/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita +++ b/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita @@ -1,8 +1,8 @@ - + <ph keyref="RTMP_STREAM_PUBLISH_REASON"/> - 推流状态改变的原因。 + RTMP 或 RTMPS 推流状态变更的原因。
    枚举值 @@ -71,6 +71,50 @@ 100:推流已正常结束。当你结束推流后,SDK 会返回该值。 -
    + + + (16):项目无权限使用推流服务。 + + + + (9):声网服务器未找到 RTMP 或 RTMPS 推流。 + + + + (3):RTMP 或 RTMPS 推流连接超时。 + + + + (5):CDN 服务器发生错误。 + + + + (6):RTMP 或 RTMPS 推流过于频繁。 + + + + (7):主播发布的 URL 超过 10 个。请删除不必要的 URL 后再添加新 URL。 + + + + (11):当前用户角色不是主播,无法使用 CDN 推流功能。请检查应用代码逻辑。 + + + + (10):RTMP 或 RTMPS 推流地址格式不受支持。请检查地址格式是否正确。 + + + + (13):在无转码推流场景中调用了 方法更新转码配置。请检查应用代码逻辑。 + + + + (14):主播端网络发生错误。 + + + + (100):推流已正常停止。停止媒体推流后,SDK 返回该值。 + +
    diff --git a/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita b/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita index e5429f7511e..efc76f6553e 100644 --- a/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita +++ b/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita @@ -1,8 +1,8 @@ - + <ph keyref="RTMP_STREAM_PUBLISH_STATE"/> - 推流状态。 + 旁路推流状态。
    枚举值 @@ -36,6 +36,10 @@ 5:SDK 正在与推流服务器和 CDN 服务器断开连接。当你调用 方法正常结束推流时,SDK 会依次报告推流状态为 + + + (5):SDK 正在断开与声网推流服务器和 CDN 的连接。调用 正常停止旁路推流时,SDK 会依次上报 状态。 +
    diff --git a/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita b/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita index e1c159fee8c..851bad5b08d 100644 --- a/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita +++ b/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita @@ -1,17 +1,11 @@ - + <ph keyref="SCREEN_CAPTURE_FRAMERATE_CAPABILITY"/> 屏幕共享设备支持的最高帧率。
    -
    - -
    自从
    -
    v4.2.0
    -
    -
    -
    +
    枚举值 @@ -27,6 +21,10 @@ 2:最高支持 60 fps。 + + + (2):设备支持最高 60 fps。 +
    diff --git a/dita/RTC-NG/API/enum_screencapturesourcetype.dita b/dita/RTC-NG/API/enum_screencapturesourcetype.dita index 36b5fba3aa9..2316900766e 100644 --- a/dita/RTC-NG/API/enum_screencapturesourcetype.dita +++ b/dita/RTC-NG/API/enum_screencapturesourcetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="ScreenCaptureSourceType"/> - 共享目标的类型。在 中设置。 + 共享目标的类型。
    枚举值 @@ -23,6 +23,22 @@ 2:预留参数。 + + + (-1):未知类型。 + + + + (0):共享目标为窗口。 + + + + (1):共享目标为某个显示器的屏幕。 + + + + (2):保留参数。 +
    diff --git a/dita/RTC-NG/API/enum_screencolortype.dita b/dita/RTC-NG/API/enum_screencolortype.dita index 6f2049c3bcf..b03c8f5df0d 100644 --- a/dita/RTC-NG/API/enum_screencolortype.dita +++ b/dita/RTC-NG/API/enum_screencolortype.dita @@ -24,6 +24,18 @@ (2):蓝色屏幕。 (2):使用蓝色作为屏幕颜色类型。 - + + + (0):自动选择屏幕颜色类型。 + + + + (1):使用绿色作为屏幕颜色类型。 + + + + (2):使用蓝色作为屏幕颜色类型。 + + diff --git a/dita/RTC-NG/API/enum_screenscenariotype.dita b/dita/RTC-NG/API/enum_screenscenariotype.dita index d132dc4fe3f..d539993d179 100644 --- a/dita/RTC-NG/API/enum_screenscenariotype.dita +++ b/dita/RTC-NG/API/enum_screenscenariotype.dita @@ -1,8 +1,8 @@ - + <ph keyref="SCREEN_SCENARIO_TYPE"/> - 屏幕共享的场景。 + 屏幕共享场景类型。
    枚举值 @@ -19,10 +19,23 @@ 3: 视频。该场景下,优先保障共享的流畅性。如果你共享电影、视频直播,可以设置该场景。 - + 4: 远程控制。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享被远程控制的设备桌面,可以设置该场景。 + + + (4):远程控制场景。优先保证屏幕共享的视频质量,并降低接收端的延迟。适用于共享被远程控制的设备桌面。 + (3):视频场景。优先保证屏幕共享的流畅性。适用于共享电影或直播视频的场景。 + + + + (2):游戏场景。优先保证屏幕共享的流畅性。适用于共享游戏画面。 + + + + (3):视频场景。优先保证屏幕共享的流畅性。适用于共享电影或直播视频。 +
    diff --git a/dita/RTC-NG/API/enum_segmodeltype.dita b/dita/RTC-NG/API/enum_segmodeltype.dita index c32846d3c5f..8efb4427bd2 100644 --- a/dita/RTC-NG/API/enum_segmodeltype.dita +++ b/dita/RTC-NG/API/enum_segmodeltype.dita @@ -1,8 +1,8 @@ - + <ph keyref="SEG_MODEL_TYPE"/> - 进行背景处理的算法。 + 背景处理使用的算法类型。
    枚举值 @@ -15,6 +15,14 @@ 2: 仅适用于绿幕背景下的背景处理算法。 + + + (1):(默认)使用适用于所有场景的算法。 + + + + (2):使用专为绿幕背景场景设计的算法。 +
    diff --git a/dita/RTC-NG/API/enum_simulcaststreammode.dita b/dita/RTC-NG/API/enum_simulcaststreammode.dita index ee70c642924..613358e40fe 100644 --- a/dita/RTC-NG/API/enum_simulcaststreammode.dita +++ b/dita/RTC-NG/API/enum_simulcaststreammode.dita @@ -1,17 +1,11 @@ - + <ph keyref="SIMULCAST_STREAM_MODE"/> - 发送视频流的模式。 + 设置视频流的发送模式。
    -
    - -
    自从
    -
    v4.0.1
    -
    -
    -
    +
    枚举值 @@ -27,6 +21,18 @@ 1:始终发送小流。 + + + (-1):默认不发送低质量视频流,直到接收端发出订阅请求后,自动开始发送低质量视频流。 + + + + (0):从不发送低质量视频流。 + + + + (1):始终发送低质量视频流。 +
    diff --git a/dita/RTC-NG/API/enum_streamfallbackoptions.dita b/dita/RTC-NG/API/enum_streamfallbackoptions.dita index a26b4dcd7ee..d127dc6068a 100644 --- a/dita/RTC-NG/API/enum_streamfallbackoptions.dita +++ b/dita/RTC-NG/API/enum_streamfallbackoptions.dita @@ -1,8 +1,8 @@ - + <ph keyref="STREAM_FALLBACK_OPTIONS"/> - 网络条件较差时,音视频流回退处理的选项。 + 在网络条件较差时的音视频流回退处理选项。
    枚举值 @@ -19,6 +19,21 @@ 2: 网络条件较差时,先尝试只接收视频小流;如果因网络环境太差无法显示视频,则再回退到只接收订阅的音频流。 + + + (0):不进行音视频流的回退处理,无法保证音视频流的质量。 + (0):不进行音视频流的回退处理,音视频质量无法保证。 + + + + (1):仅接收低质量(低分辨率、低码率)的视频流。 + + + + (2):当网络条件较差时,优先接收低质量视频流;若网络极差导致无法显示视频,则回退为仅接收音频流。 + (2):当网络较差时,优先接收低质量视频流;若网络极差导致无法显示视频,则回退为仅接收音频流。 + (2):当网络条件较差时,优先接收低质量视频流;若网络极差无法显示视频,则回退为仅接收音频流。 +
    diff --git a/dita/RTC-NG/API/enum_streamlayerindex.dita b/dita/RTC-NG/API/enum_streamlayerindex.dita index c464ed5579f..ad03972d15f 100644 --- a/dita/RTC-NG/API/enum_streamlayerindex.dita +++ b/dita/RTC-NG/API/enum_streamlayerindex.dita @@ -2,7 +2,7 @@ <ph keyref="StreamLayerIndex"/> - 多质量层级视频流的索引。 + 不同质量层级的视频流索引。
    @@ -11,38 +11,27 @@ - (0):layer_1 层级的视频流,分辨率和码率低于 - (0):layer_1 层级的视频流,分辨率和码率低于 + (0):layer_1 层级的视频流,分辨率和码率低于 - (1):layer_2 层级的视频流,分辨率和码率低于 - (1):layer_2 层级的视频流,分辨率和码率低于 - (1):layer_2 层级的视频流,分辨率和码率低于 + (1):layer_2 层级的视频流,分辨率和码率低于 - (2):layer_3 层级的视频流,分辨率和码率低于 - (2):layer_3 层级的视频流,分辨率和码率低于 - (2):layer_3 层级的视频流,分辨率和码率低于 + (2):layer_3 层级的视频流,分辨率和码率低于 - (3):layer_4 层级的视频流,分辨率和码率低于 - (3):layer_4 层级的视频流,分辨率和码率低于 - (3):layer_4 层级的视频流,分辨率和码率低于 + (3):layer_4 层级的视频流,分辨率和码率低于 - (4):layer_5 层级的视频流,分辨率和码率低于 - (4):layer_5 层级的视频流,分辨率和码率低于 - (4):layer_5 层级的视频流,分辨率和码率低于 + (4):layer_5 层级的视频流,分辨率和码率低于 - (5):layer_6 层级的视频流,分辨率和码率低于 - (5):layer_6 层级的视频流,分辨率和码率低于 - (5):layer_6 层级的视频流,分辨率和码率低于 + (5):layer_6 层级的视频流,分辨率和码率低于 @@ -55,6 +44,18 @@ (7):多质量层级视频流的最大层数。 (7):视频流层级的最大数量。 - + + + (5):视频流层级 6,分辨率和码率低于 + + + + (6):低质量视频流,分辨率和码率最低。 + + + + (7):视频流层级的最大数量。 + +
    diff --git a/dita/RTC-NG/API/enum_streampublishstate.dita b/dita/RTC-NG/API/enum_streampublishstate.dita index ab446f518a6..9e9b1a1a36d 100644 --- a/dita/RTC-NG/API/enum_streampublishstate.dita +++ b/dita/RTC-NG/API/enum_streampublishstate.dita @@ -1,4 +1,4 @@ - + <ph keyref="STREAM_PUBLISH_STATE"/> @@ -31,6 +31,21 @@ 3: 发布成功。 + + + (3):发布成功。 + + + + (1):本地流发布失败。可能的原因包括: +
      +
    • 本地用户调用 )或 )停止发送本地媒体流;
    • +
    • 调用 禁用本地音频或视频模块;
    • +
    • 调用 )或 )禁用本地音视频采集;
    • +
    • 本地用户的角色为观众。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/enum_streamsubscribestate.dita b/dita/RTC-NG/API/enum_streamsubscribestate.dita index e2e1170ef39..dcd49aceb20 100644 --- a/dita/RTC-NG/API/enum_streamsubscribestate.dita +++ b/dita/RTC-NG/API/enum_streamsubscribestate.dita @@ -1,4 +1,4 @@ - + <ph keyref="STREAM_SUBSCRIBE_STATE"/> @@ -18,7 +18,7 @@
  • 远端用户:
    • 调用 () 或 () 停止发送本地媒体流。
    • 调用 关闭本地音频或视频模块。
    • -
    • 调用 () 或 () 关闭本地音频或视频采集。
    • +
    • 调用 () 或 () 关闭本地音频或视频采集。
    • 用户角色为观众。
  • 本地用户调用以下方法停止接收远端媒体流:
      @@ -36,6 +36,14 @@ 3: 收到了远端流,订阅成功。 - + + + (3):已成功接收远端流。 + + + + (1):订阅远端流失败。可能的原因包括:远端用户调用 )或 )停止发送本地媒体流;调用 禁用本地音频或视频模块;调用 )或 )禁用本地音频或视频采集;远端用户的角色为观众。或者本地用户调用以下方法停止接收远端流:调用 )或 )停止接收远端音频流;调用 )或 )停止接收远端视频流。 + + diff --git a/dita/RTC-NG/API/enum_userofflinereasontype.dita b/dita/RTC-NG/API/enum_userofflinereasontype.dita index 45c851a3fd7..8a4f425bb36 100644 --- a/dita/RTC-NG/API/enum_userofflinereasontype.dita +++ b/dita/RTC-NG/API/enum_userofflinereasontype.dita @@ -1,8 +1,8 @@ - + <ph keyref="USER_OFFLINE_REASON_TYPE"/> - 用户离线原因。 + 用户离线的原因。
      枚举值 @@ -21,6 +21,14 @@ 2: 用户身份从主播切换为观众。 + + + (1):在一定时间内未收到任何数据包,SDK 超时导致用户掉线。如果用户退出通话的消息因信道不稳定未传递给 SDK,SDK 会认为用户掉线。 + + + + (2):用户将客户端角色从主播切换为观众。 +
      diff --git a/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita b/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita index cde0f11a9e4..b969718907b 100644 --- a/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita +++ b/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita @@ -1,40 +1,22 @@ - + <ph keyref="VIDEO_CODEC_CAPABILITY_LEVEL"/> - 视频编解码能力等级。 + 编解码能力等级。
      -
      - -
      自从
      -
      v4.2.2
      -
      -
      -
      +
      枚举值 - - - -1:不支持的视频类型。目前仅支持对 H.264 和 H.265 格式的视频进行查询,如果视频为其他格式,则返回该值。 - - - - 5:基本的编解码支持,即:对 1080p、30 fps 以下的视频进行编解码。 - - - - 10:最高支持对 1080p、30 fps 的视频进行编解码。 - - - - 20:最高支持对 1080p、60 fps 的视频进行编解码。 - - - - 30:最高支持对 4K、30 fps 的视频进行编解码。 - - + + + (30):支持最高 4K、30 fps 的视频编解码能力。 + + + + (5):支持最高 1080p、30 fps 的视频编解码能力。 + +
      diff --git a/dita/RTC-NG/API/enum_videocodecprofiletype.dita b/dita/RTC-NG/API/enum_videocodecprofiletype.dita index 83457dc0b43..a539f6217aa 100644 --- a/dita/RTC-NG/API/enum_videocodecprofiletype.dita +++ b/dita/RTC-NG/API/enum_videocodecprofiletype.dita @@ -1,8 +1,8 @@ - + <ph keyref="VIDEO_CODEC_PROFILE_TYPE"/> - 旁路推流输出视频的编解码规格。 + 视频编解码器配置文件类型。
      @@ -18,6 +18,14 @@ 100: (默认)High 级别的视频编码规格,一般用于广播、视频碟片存储、高清电视。 + + + (66):Baseline 视频编解码器配置文件,通常用于移动端的视频通话。 + + + + (100):High 视频编解码器配置文件(默认),通常用于高分辨率直播或电视场景。 +
      diff --git a/dita/RTC-NG/API/enum_videocodectype.dita b/dita/RTC-NG/API/enum_videocodectype.dita index 3896a62be3b..5aaf7e80e42 100644 --- a/dita/RTC-NG/API/enum_videocodectype.dita +++ b/dita/RTC-NG/API/enum_videocodectype.dita @@ -1,17 +1,17 @@ - + <ph keyref="VIDEO_CODEC_TYPE"/> - 视频编码格式。 + 视频编解码器类型。
      枚举值 - + 0:(默认)不指定编解码格式。SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。 - + 1:标准 VP8。 @@ -23,7 +23,7 @@ 3:标准 H.265。 - + 6:Generic。本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。 @@ -31,7 +31,7 @@ 12:AV1。 - + 20:Generic JPEG。本类型所需的算力较小,可用于算力有限的 IoT 设备。 @@ -39,6 +39,14 @@ 标准 VP9。 + + + (20):通用 JPEG 类型。该类型计算资源消耗最少,适用于 IoT 设备。 + + + + (3):标准 H.265 编解码器格式。 +
      diff --git a/dita/RTC-NG/API/enum_videocodectypeforstream.dita b/dita/RTC-NG/API/enum_videocodectypeforstream.dita index 19abf2defb9..2ef001230ff 100644 --- a/dita/RTC-NG/API/enum_videocodectypeforstream.dita +++ b/dita/RTC-NG/API/enum_videocodectypeforstream.dita @@ -1,8 +1,8 @@ - + <ph keyref="VIDEO_CODEC_TYPE_FOR_STREAM"/> - 转码输出视频流的编解码类型。 + 输出视频的编解码器类型。
      枚举值 @@ -15,6 +15,10 @@ 2:H.265。 + + + (2):使用 H.265 编解码器。 +
      diff --git a/dita/RTC-NG/API/enum_videocontenthint.dita b/dita/RTC-NG/API/enum_videocontenthint.dita index 5117b87c1d7..5ced17e95d0 100644 --- a/dita/RTC-NG/API/enum_videocontenthint.dita +++ b/dita/RTC-NG/API/enum_videocontenthint.dita @@ -1,13 +1,13 @@ - + <ph keyref="VIDEO_CONTENT_HINT"/> - 屏幕共享的内容类型。 + 屏幕共享内容的提示类型。
      枚举值 - + (默认)无指定的内容类型。 @@ -19,6 +19,10 @@ 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。 + + + (2):静态内容。适用于注重清晰度或共享图片、PPT 幻灯片、文本等场景。 +
      diff --git a/dita/RTC-NG/API/enum_videodenoiserlevel.dita b/dita/RTC-NG/API/enum_videodenoiserlevel.dita index f6e565773b8..3f2ae6549fc 100644 --- a/dita/RTC-NG/API/enum_videodenoiserlevel.dita +++ b/dita/RTC-NG/API/enum_videodenoiserlevel.dita @@ -1,4 +1,4 @@ - + <ph keyref="VIDEO_DENOISER_LEVEL"/> @@ -19,6 +19,14 @@ 2:强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用该设置。 - + + + (0):(默认)在视频降噪过程中提升视频质量。该选项在性能消耗与降噪质量之间实现平衡,性能消耗适中,降噪速度适中,整体视频质量最佳。 + + + + (1):在视频降噪过程中降低性能消耗。该选项优先考虑性能消耗而非降噪质量,性能消耗较低,降噪速度更快。为避免处理后的视频出现明显拖影(移动物体后方出现阴影),声网建议在摄像头固定时使用该设置。 + + diff --git a/dita/RTC-NG/API/enum_videodenoisermode.dita b/dita/RTC-NG/API/enum_videodenoisermode.dita index f7f08667dcc..b81a8c110a5 100644 --- a/dita/RTC-NG/API/enum_videodenoisermode.dita +++ b/dita/RTC-NG/API/enum_videodenoisermode.dita @@ -1,4 +1,4 @@ - + <ph keyref="VIDEO_DENOISER_MODE"/> @@ -15,6 +15,14 @@ 1:手动模式。用户需手动开启或关闭视频降噪功能。 - + + + (0):默认模式。SDK 会根据环境光自动启用或关闭视频降噪功能。 + + + + (1):手动模式。用户需手动启用或关闭视频降噪功能。 + + diff --git a/dita/RTC-NG/API/enum_videoframeprocessmode.dita b/dita/RTC-NG/API/enum_videoframeprocessmode.dita index daf9090589b..91363bb9250 100644 --- a/dita/RTC-NG/API/enum_videoframeprocessmode.dita +++ b/dita/RTC-NG/API/enum_videoframeprocessmode.dita @@ -1,8 +1,8 @@ - + <ph keyref="VIDEO_FRAME_PROCESS_MODE"/> - 视频帧处理模式。 + 视频帧的处理模式。
      枚举值 @@ -21,6 +21,10 @@

      读写模式下,你会修改视频帧,视频观测器相当于视频 filter。

      + + + 读写模式。在该模式下可修改视频帧,视频帧观察器作为视频滤镜使用,会影响 SDK 后续的视频帧处理。 +
      diff --git a/dita/RTC-NG/API/enum_videoframetype.dita b/dita/RTC-NG/API/enum_videoframetype.dita index a13bcd34a88..96c799257d1 100644 --- a/dita/RTC-NG/API/enum_videoframetype.dita +++ b/dita/RTC-NG/API/enum_videoframetype.dita @@ -1,4 +1,4 @@ - + <ph keyref="VIDEO_FRAME_TYPE"/> @@ -31,6 +31,22 @@ 未知帧。 + + + (6):可丢弃帧。 + + + + (3):关键帧。 + + + + (4):差值帧。 + + + + 未知帧。 + diff --git a/dita/RTC-NG/API/enum_videomirrormodetype.dita b/dita/RTC-NG/API/enum_videomirrormodetype.dita index 3e043324462..c547fe41e87 100644 --- a/dita/RTC-NG/API/enum_videomirrormodetype.dita +++ b/dita/RTC-NG/API/enum_videomirrormodetype.dita @@ -1,8 +1,8 @@ - + <ph keyref="VIDEO_MIRROR_MODE_TYPE"/> - 镜像模式类型。 + 视频镜像模式。
      枚举值 @@ -14,6 +14,23 @@
    • 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
    • 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
    + + + (0):由 SDK 决定是否启用镜像模式。 +
      +
    • 本地视频视图:使用前置摄像头时默认启用镜像模式,使用后置摄像头时默认关闭镜像模式。
    • +
    • 远端用户视图:默认关闭镜像模式。
    • +
    +
    +
    + + + (1):启用镜像模式。 + + + + (2):关闭镜像模式。 + diff --git a/dita/RTC-NG/API/enum_videomoduleposition.dita b/dita/RTC-NG/API/enum_videomoduleposition.dita index 67392184324..0df643c936b 100644 --- a/dita/RTC-NG/API/enum_videomoduleposition.dita +++ b/dita/RTC-NG/API/enum_videomoduleposition.dita @@ -1,8 +1,8 @@ - + <ph keyref="VIDEO_MODULE_POSITION"/> - 视频观测位置。 + 视频观察器中视频帧的位置。
    枚举值 @@ -10,15 +10,15 @@ - 1: 本地采集视频数据并且经过前处理之后的位置,对应 回调。此处观测到的视频具备视频前处理的效果,可通过开启美颜、虚拟背景或水印等方式验证。 + 1: 本地采集视频数据并且经过前处理之后的位置,对应 回调。此处观测到的视频具备视频前处理的效果,可通过开启美颜、虚拟背景或水印等方式验证。 - 2: 接收远端发送的视频在渲染前的位置,对应 回调 + 2: 接收远端发送的视频在渲染前的位置,对应 回调 - 4: 本地视频编码前的位置,对应 回调。此处观测到的视频具备视频前处理和编码前处理的效果:
      + 4: 本地视频编码前的位置,对应 回调。此处观测到的视频具备视频前处理和编码前处理的效果:
      • 对于视频前处理效果,可通过开启美颜、虚拟背景或水印等方式验证。
      • 对于编码前处理效果,可通过设置一个较低的帧率(例如 5 fps)验证。
      @@ -26,6 +26,29 @@ 8: 本地采集视频之后、前处理之前的位置。此处观测到的视频不具备前处理的效果,可通过开启美颜、虚拟背景或设置水印等方式验证。 + + + (8):本地视频采集后、预处理前的位置。此位置的视频未应用任何预处理效果,可通过启用图像增强、虚拟背景或水印进行验证。 + + + + (4):编码器前的位置。对应 回调中的视频数据。此位置的视频已应用视频预处理和编码前处理效果。 +
        +
      • 若需验证视频预处理效果,可启用图像增强、虚拟背景或水印。
      • +
      • 若需验证编码前处理效果,可设置较低帧率(如 5 fps)。
      • +
      +
      + (4):编码器之前的位置,对应 回调中的视频数据。此位置的视频已应用视频预处理和编码前处理效果。 +
        +
      • 若需验证视频预处理效果,可启用图像增强、虚拟背景或水印。
      • +
      • 若需验证编码前处理效果,可设置较低帧率(如 5 fps)。
      • +
      +
      +
      + + + (1):本地采集的视频数据经过预处理后的位置,对应 回调。此位置的视频已应用图像增强、虚拟背景或水印等预处理效果,可通过启用相关功能进行验证。 +
    diff --git a/dita/RTC-NG/API/enum_videopixelformat.dita b/dita/RTC-NG/API/enum_videopixelformat.dita index 3d11f94a193..d540ef5e1ed 100644 --- a/dita/RTC-NG/API/enum_videopixelformat.dita +++ b/dita/RTC-NG/API/enum_videopixelformat.dita @@ -1,4 +1,4 @@ - + <ph keyref="VIDEO_PIXEL_FORMAT"/> @@ -44,15 +44,15 @@ 10:TEXTURE_2D 格式。
    - + 12: CVPixelBufferRef NV12 格式。 - + 13: CVPixelBufferRef I420 格式。 - + 14: CVPixelBufferRef BGRA 格式。 @@ -60,10 +60,18 @@ 16: I422 格式。 - + 17: ID3D11TEXTURE2D 格式。目前支持的类型有 DXGI_FORMAT_B8G8R8A8_UNORMDXGI_FORMAT_B8G8R8A8_TYPELESSDXGI_FORMAT_NV12 + + + (0):原始视频像素格式(默认)。 + + + + (14):视频像素格式为 CVPixelBufferRef 类型的 BGRA。 +
    diff --git a/dita/RTC-NG/API/enum_videosourcetype.dita b/dita/RTC-NG/API/enum_videosourcetype.dita index df669a899a1..498a1af4755 100644 --- a/dita/RTC-NG/API/enum_videosourcetype.dita +++ b/dita/RTC-NG/API/enum_videosourcetype.dita @@ -1,17 +1,17 @@ - + <ph keyref="VIDEO_SOURCE_TYPE"/> - 视频源的类型。 + 视频源类型。
    枚举值 - + 0:(默认)视频源为第一个摄像头。 - + 0:(默认)视频源为第一个摄像头。 @@ -19,11 +19,11 @@ 1:视频源为第二个摄像头。 - + 2:视频源为第一个屏幕。 - + 2:视频源为第一个屏幕。 @@ -59,21 +59,21 @@ 10:转码后的视频源。 - + - 11:(仅适用于 Android、Windows 和 macOS)(仅适用于 Android)视频源为第三个摄像头。 + 11:(仅适用于 Android、Windows 和 macOS)(仅适用于 Android)视频源为第三个摄像头。 - + - 12:(仅适用于 Android、Windows 和 macOS)(仅适用于 Android)视频源为第四个摄像头。 + 12:(仅适用于 Android、Windows 和 macOS)(仅适用于 Android)视频源为第四个摄像头。 - + - 13:(仅适用于 Windows 和 macOS)视频源为第三个屏幕。 + 13:(仅适用于 Windows 和 macOS)视频源为第三个屏幕。 - + - 14:(仅适用于 Windows 和 macOS)视频源为第四个屏幕。 + 14:(仅适用于 Windows 和 macOS)视频源为第四个屏幕。 @@ -83,6 +83,56 @@ 100:未知的视频源。 + + + (14):(仅适用于 macOS 平台)第四块屏幕。 + (12):第四摄像头。 + + + + (2):主屏幕。 + + + + (4):自定义视频源。 + + + + (5):媒体播放器。 + + + + (8):GIF 图片。 + (8):单张 GIF 图像。 + + + + (9):通过网络获取的远端视频源。 + (9):通过网络获取的远端视频。 + + + + (10):转码后的视频源。 + + + + (12):(仅适用于 macOS 平台)第四个摄像头。 + (11):(仅适用于 macOS 平台)第三个摄像头。 + (11):第三摄像头。 + + + + (15):由语音驱动扩展处理的视频源。 + (15):由语音驱动扩展处理的视频。 + + + + (100):未知的视频源。 + + + + (10):转码后的视频源。 +
    diff --git a/dita/RTC-NG/API/enum_videostreamtype.dita b/dita/RTC-NG/API/enum_videostreamtype.dita index ea221827bbb..b3d2a91553e 100644 --- a/dita/RTC-NG/API/enum_videostreamtype.dita +++ b/dita/RTC-NG/API/enum_videostreamtype.dita @@ -1,4 +1,4 @@ - + <ph keyref="VIDEO_STREAM_TYPE"/> @@ -39,6 +39,19 @@ 9: 视频质量层级 6。该质量层级的分辨率仅低于 + + + (0):高质量视频流,分辨率和码率最高。 + + + + (1):低质量视频流,分辨率和码率最低。 + + + + (9):第 6 层视频流,分辨率仅低于 + (9):视频流第 6 层,分辨率仅低于 + diff --git a/dita/RTC-NG/API/enum_videotranscodererror.dita b/dita/RTC-NG/API/enum_videotranscodererror.dita index 0120cc09335..d4788f5d43d 100644 --- a/dita/RTC-NG/API/enum_videotranscodererror.dita +++ b/dita/RTC-NG/API/enum_videotranscodererror.dita @@ -1,17 +1,11 @@ - + <ph keyref="VIDEO_TRANSCODER_ERROR"/> - 本地合图错误代码。 + 本地视频合图失败的错误码。
    -
    - -
    自从
    -
    v4.2.0
    -
    -
    -
    +
    枚举值 @@ -39,6 +33,26 @@ 20:内部未知错误。 + + + (1):所选视频源尚未开始采集。需为该视频源创建视频轨道并启动采集。 + + + + (5):合图后的视频编码分辨率无效。 + + + + (3):图片路径无效。需重新指定正确的图片路径。 + + + + (4):图片格式不受支持。请确保图片格式为 PNG、JPEG 或 GIF。 + + + + (20):未知的内部错误。 +
    diff --git a/dita/RTC-NG/API/enum_videoviewsetupmode.dita b/dita/RTC-NG/API/enum_videoviewsetupmode.dita index 5e665980b43..575b7a6e0ff 100644 --- a/dita/RTC-NG/API/enum_videoviewsetupmode.dita +++ b/dita/RTC-NG/API/enum_videoviewsetupmode.dita @@ -1,8 +1,8 @@ - + <ph keyref="VIDEO_VIEW_SETUP_MODE"/> - 视图设置模式。 + 视图的设置模式。
    @@ -21,6 +21,10 @@ 2:删除一个视图。 当你不再需要使用某个视图时,建议及时设置 setupMode 删除视图,否则可能会导致渲染资源泄漏。 + + + (2):删除一个视图。当你不再需要使用某个视图时,建议通过将 setupMode 设置为 来删除该视图,否则可能会导致渲染资源泄漏。 +
    diff --git a/dita/RTC-NG/API/enum_voiceaitunertype.dita b/dita/RTC-NG/API/enum_voiceaitunertype.dita index b491de57f92..aa3703de3a0 100644 --- a/dita/RTC-NG/API/enum_voiceaitunertype.dita +++ b/dita/RTC-NG/API/enum_voiceaitunertype.dita @@ -1,17 +1,11 @@ - + <ph keyref="VOICE_AI_TUNER_TYPE"/> AI 调音器音效类型。
    -
    - -
    自从
    -
    v4.4.0
    -
    -
    -
    +
    枚举值 @@ -55,6 +49,31 @@ 9:梦幻女歌声。梦幻而柔美的女声。 + + + (1):清新男声。声音清爽,略带甜味。 + (1):清新男声。清爽略带甜感的男性音色。 + + + + (3):甜美女声。声音高亢,富有可爱感。 + (3):甜美女声。高亢且可爱的女性音色。 + + + + (8):有力男声演唱。声音强劲有力,适合激情澎湃的演唱风格。 + (8):有力男声演唱。强劲有力的男性歌声。 + + + + (9):梦幻女声演唱。声音梦幻柔和,适合空灵唯美的演唱风格。 + (9):梦幻女声演唱。梦幻柔和的女性歌声。 + + + + (7):温暖优雅女声演唱。声音温暖成熟,适合情感充沛的演唱风格。 + (7):温暖优雅女声演唱。温暖成熟的女性歌声。 +
    diff --git a/dita/RTC-NG/API/enum_voicebeautifierpreset.dita b/dita/RTC-NG/API/enum_voicebeautifierpreset.dita index 8713b6b684b..a240ae9cc91 100644 --- a/dita/RTC-NG/API/enum_voicebeautifierpreset.dita +++ b/dita/RTC-NG/API/enum_voicebeautifierpreset.dita @@ -1,8 +1,8 @@ - + <ph keyref="VOICE_BEAUTIFIER_PRESET"/> - 预设的美声效果选项。 + SDK 预设的声动语聊美声效果选项。
    枚举值 @@ -80,6 +80,26 @@
  • 如果用户的音频采集设备可以高度还原音频细节,建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
  • - + + + (0x01020100):歌唱美声效果。调用 (AgoraVoiceBeautifierPresetSingingBeautifier)时,可美化男性音色并添加类似在小房间中歌唱的混响效果。声网建议用于处理男性音色,否则可能会出现声音失真。调用 (AgoraVoiceBeautifierPresetSingingBeautifier, param1, param2)时,可美化男性或女性音色并添加混响效果。 + + + + (0x01010300):充满活力的声音。声网建议用于处理女性音色,否则可能会出现声音失真。 + + + + (0x01030700):洪亮的声音。 + + + + (0x01030800):清脆的声音。 + + + + (0x01040100):超高音质的声音,使音频更清晰并还原更多细节。为获得更好的音效质量,声网建议在调用 前,将 profile 设置为 (4)或 (5),并将 scenario 设置为 (3)。如果您的音频采集设备已能高度还原音频细节,声网建议不要启用超高音质,否则 SDK 可能会过度还原音频细节,导致无法听到预期的声音效果。 + +
    diff --git a/dita/RTC-NG/API/enum_voiceconversionpreset.dita b/dita/RTC-NG/API/enum_voiceconversionpreset.dita index cc5c13724ab..b5d652798f0 100644 --- a/dita/RTC-NG/API/enum_voiceconversionpreset.dita +++ b/dita/RTC-NG/API/enum_voiceconversionpreset.dita @@ -1,4 +1,4 @@ - + <ph keyref="VOICE_CONVERSION_PRESET"/> @@ -27,6 +27,14 @@ 低沉。为避免音频失真,请确保仅对男声设置该效果。 + + + (0x03010200):甜美音色。为避免音频失真,建议用于处理女性音色。 + + + + (0x03010400):低沉音色。为避免音频失真,建议用于处理男性音色。 + diff --git a/dita/RTC-NG/API/enum_watermarksourcetype.dita b/dita/RTC-NG/API/enum_watermarksourcetype.dita index 7992e351c5f..a389c94ce3f 100644 --- a/dita/RTC-NG/API/enum_watermarksourcetype.dita +++ b/dita/RTC-NG/API/enum_watermarksourcetype.dita @@ -2,7 +2,7 @@ <ph keyref="WATERMARK_SOURCE_TYPE"/> - 水印源的类型。 + 水印源类型。
    @@ -23,6 +23,14 @@ (1):水印源为缓冲区。 - + + + (0):水印源为图像。 + + + + (1):水印源为缓冲区。 + +
    diff --git a/dita/RTC-NG/API/rtc_api_data_type.dita b/dita/RTC-NG/API/rtc_api_data_type.dita index 467f533fa3a..86eec6236b7 100644 --- a/dita/RTC-NG/API/rtc_api_data_type.dita +++ b/dita/RTC-NG/API/rtc_api_data_type.dita @@ -299,6 +299,7 @@
  • +
  • @@ -495,6 +496,7 @@
  • +
  • @@ -546,6 +548,7 @@
  • +
  • @@ -1462,8 +1465,11 @@
  • +
  • +
  • +
  • @@ -1473,9 +1479,12 @@
  • +
  • +
  • +
  • @@ -1500,6 +1509,7 @@
  • +
  • @@ -1508,6 +1518,7 @@
  • +
  • @@ -1583,6 +1594,7 @@
  • +
  • @@ -1677,6 +1689,7 @@
  • +
  • @@ -1694,10 +1707,10 @@
  • +
  • -
  • diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita index 76c44f80821..4b69166e3c1 100644 --- a/dita/RTC-NG/API/rtc_api_overview.dita +++ b/dita/RTC-NG/API/rtc_api_overview.dita @@ -305,7 +305,15 @@ - + + + + + + + + + @@ -504,7 +512,11 @@ 方法/回调 描述 - + + + + + @@ -564,7 +576,11 @@ - + + + + + @@ -937,7 +953,11 @@ - + + + + + @@ -1637,7 +1657,11 @@ - + + + + + @@ -2558,7 +2582,11 @@ (仅适用于 Android 和 iOS) - + + + + + (仅适用于 Andorid 和 iOS) @@ -2948,7 +2976,11 @@ - + + + + + @@ -3012,7 +3044,11 @@ - + + + + + @@ -3040,7 +3076,11 @@ - + + + + + @@ -3052,7 +3092,15 @@ - + + + + + + + + + diff --git a/dita/RTC-NG/RTC_NG_API_Android.ditamap b/dita/RTC-NG/RTC_NG_API_Android.ditamap index 2700da93035..f310f85b198 100644 --- a/dita/RTC-NG/RTC_NG_API_Android.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Android.ditamap @@ -103,46 +103,48 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -834,9 +836,11 @@ + + @@ -848,6 +852,21 @@ + + + + + + + + + + + + + + + @@ -866,19 +885,6 @@ - - - - - - - - - - - - - diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap index 754da1af194..2746caa1083 100644 --- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap +++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap @@ -115,10 +115,15 @@ + + + + + @@ -133,9 +138,6 @@ - - - @@ -372,9 +374,10 @@ - - - + + + + @@ -495,7 +498,7 @@ - + @@ -882,9 +885,11 @@ + + @@ -895,7 +900,26 @@ + + + + + + + + + + + + + + + + + + + @@ -916,25 +940,8 @@ - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dita/RTC-NG/RTC_NG_API_iOS.ditamap b/dita/RTC-NG/RTC_NG_API_iOS.ditamap index c195dd2f699..a55321ed787 100644 --- a/dita/RTC-NG/RTC_NG_API_iOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_iOS.ditamap @@ -113,10 +113,15 @@ + + + + + @@ -131,9 +136,6 @@ - - - @@ -797,10 +799,12 @@ + + @@ -812,8 +816,22 @@ + + + + + + + + + + + + + - + + @@ -830,18 +848,6 @@ - - - - - - - - - - - - diff --git a/dita/RTC-NG/RTC_NG_API_macOS.ditamap b/dita/RTC-NG/RTC_NG_API_macOS.ditamap index 5cd68b4c654..e4cc7d1fa43 100644 --- a/dita/RTC-NG/RTC_NG_API_macOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_macOS.ditamap @@ -108,10 +108,15 @@ + + + + + @@ -126,9 +131,6 @@ - - - @@ -747,10 +749,12 @@ + + @@ -762,7 +766,21 @@ + + + + + + + + + + + + + + @@ -780,18 +798,6 @@ - - - - - - - - - - - - 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 f1befefa466..3f16cfb9048 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -689,6 +689,503 @@ + + + + onProxyConnected + + + + + + + onError + + + + + + + onAudioQuality + + + + + + + onAudioDeviceStateChanged + + + + + + + onAudioMixingFinished + + + + + + + onVideoDeviceStateChanged + + + + + + + onFirstRemoteVideoDecoded + + + + + + + onUserMuteAudio + + + + + + + onUserEnableVideo + + + + + + + onUserEnableLocalVideo + + + + + + + onRemoteAudioStats + + + + + + + onRhythmPlayerStateChanged + + + + + + + onConnectionBanned + + + + + + + onAudioDeviceVolumeChanged + + + + + + + onAudioRoutingChanged + + + + + + + onReadyToSendMetadata + + + + + + + onDirectCdnStreamingStats + + + + + + + stopEchoTest + + + + + + + enableMultiCamera + + + + + + + startLastmileProbeTest + + + + + + + stopLastmileProbeTest + + + + + + + muteAllRemoteVideoStreams + + + + + + + setRemoteDefaultVideoStreamType + + + + + + + registerAudioEncodedFrameObserver + + + + + + + stopAudioMixing + + + + + + + pauseAudioMixing + + + + + + + resumeAudioMixing + + + + + + + getAudioTrackCount + + + + + + + adjustAudioMixingVolume + + + + + + + adjustAudioMixingPublishVolume + + + + + + + getAudioMixingPublishVolume + + + + + + + adjustAudioMixingPlayoutVolume + + + + + + + getAudioMixingPlayoutVolume + + + + + + + getAudioMixingDuration + + + + + + + getAudioMixingCurrentPosition + + + + + + + setAudioMixingDualMonoMode + + + + + + + pauseAllEffects + + + + + + + resumeAllEffects + + + + + + + stopAllEffects + + + + + + + unloadAllEffects + + + + + + + enableSoundPositionIndication + + + + + + + setRemoteVoicePosition + + + + + + + enableSpatialAudio + + + + + + + setRemoteUserSpatialAudioParams + + + + + + + setLocalVoicePitch + + + + + + + setLocalVoiceFormant + + + + + + + setLocalVoiceEqualization + + + + + + + setLocalVoiceReverb + + + + + + + adjustRecordingSignalVolume + + + + + + + adjustPlaybackSignalVolume + + + + + + + setRemoteSubscribeFallbackOption + + + + + + + adjustLoopbackSignalVolume + + + + + + + setDefaultAudioRouteToSpeakerphone + + + + + + + isSpeakerphoneEnabled + + + + + + + setRouteInCommunicationMode + + + + + + + enableCameraCenterStage + + + + + + + getScreenCaptureSources + + + + + + + updateRtmpTranscoding + + + + + + + startLocalVideoTranscoder + + + + + + + updateLocalTranscoderConfiguration + + + + + + + stopRtmpStream + + + + + + + stopLocalVideoTranscoder + + + + + + + registerMediaMetadataObserver + + + + + + + unregisterMediaMetadataObserver + + + + + + + stopRhythmPlayer + + + + + + + enableContentInspect + + + + + + + adjustCustomAudioPublishVolume + + + + + + + adjustCustomAudioPlayoutVolume + + + + + + + setAdvancedAudioOptions + + + + + + + selectAudioTrack [1/2] + + + + + + + setParameters [1/2] + + + @@ -15269,4 +15766,4 @@ - + \ No newline at end of file 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 3bd7bf5a4f8..43f811530d7 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -669,6 +669,447 @@ + + + + rtcEngine:didProxyConnected:withUid:proxyType:localProxyIp:elapsed: + + + + + + + rtcEngine:didOccurError: + + + + + + + audioQualityBlock: + + + + + + + rtcEngineLocalAudioMixingDidFinish: + + + + + + + rtcEngine:firstRemoteVideoDecodedOfUid:size:elapsed: + + + + + + + rtcEngine:didAudioMuted:byUid: + + + + + + + rtcEngine:didVideoEnabled:byUid: + + + + + + + rtcEngine:didLocalVideoEnabled:byUid: + + + + + + + rtcEngine:remoteAudioStats: + + + + + + + rtcEngine:didRhythmPlayerStateChanged:reason: + + + + + + + rtcEngineConnectionDidBanned: + + + + + + + rtcEngine:didAudioRouteChanged: + + + + + + + readyToSendMetadataAtTimestamp:sourceType: + + + + + + + onDirectCdnStreamingStats: + + + + + + + stopEchoTest + + + + + + + enableMultiCamera:config: + + + + + + + startLastmileProbeTest: + + + + + + + stopLastmileProbeTest + + + + + + + muteAllRemoteVideoStreams: + + + + + + + setRemoteDefaultVideoStreamType: + + + + + + + setAudioEncodedFrameDelegate:config: + + + + + + + stopAudioMixing + + + + + + + pauseAudioMixing + + + + + + + resumeAudioMixing + + + + + + + getAudioTrackCount + + + + + + + adjustAudioMixingVolume: + + + + + + + adjustAudioMixingPublishVolume: + + + + + + + getAudioMixingPublishVolume + + + + + + + adjustAudioMixingPlayoutVolume: + + + + + + + getAudioMixingPlayoutVolume + + + + + + + getAudioMixingDuration + + + + + + + getAudioMixingCurrentPosition + + + + + + + setAudioMixingDualMonoMode: + + + + + + + pauseAllEffects + + + + + + + resumeAllEffects + + + + + + + stopAllEffects + + + + + + + enableSoundPositionIndication: + + + + + + + setRemoteVoicePosition:pan:gain: + + + + + + + enableSpatialAudio: + + + + + + + setRemoteUserSpatialAudioParams:params: + + + + + + + setLocalVoicePitch: + + + + + + + setLocalVoiceFormant: + + + + + + + setLocalVoiceEqualizationOfBandFrequency:withGain: + + + + + + + setLocalVoiceReverbOfType:withValue: + + + + + + + adjustRecordingSignalVolume: + + + + + + + adjustPlaybackSignalVolume: + + + + + + + setRemoteSubscribeFallbackOption: + + + + + + + setDefaultAudioRouteToSpeakerphone: + + + + + + + isSpeakerphoneEnabled + + + + + + + enableCameraCenterStage: + + + + + + + updateRtmpTranscoding: + + + + + + + startLocalVideoTranscoder: + + + + + + + updateLocalTranscoderConfiguration: + + + + + + + stopRtmpStream: + + + + + + + stopLocalVideoTranscoder + + + + + + + setMediaMetadataDelegate:withType: + + + + + + + stopRhythmPlayer + + + + + + + enableContentInspect:config: + + + + + + + adjustCustomAudioPublishVolume:volume: + + + + + + + adjustCustomAudioPlayoutVolume:volume: + + + + + + + setAdvancedAudioOptions: + + + + + + + selectAudioTrack: + + + + + + + setParameters: + + + @@ -6350,6 +6791,41 @@ + + + + AgoraNoAlphaStitch + + + + + + + AgoraAlphaStitchUp + + + + + + + AgoraAlphaStitchBelow + + + + + + + AgoraAlphaStitchLeft + + + + + + + AgoraAlphaStitchRight + + + @@ -6392,20 +6868,34 @@ - + + + + AgoraAreaCodeTypeIN + + + + + + + AgoraAreaCodeTypeGlobal + + + + AgoraAreaCodeTypeIN - - - + + + AgoraAreaCodeTypeGlobal - - + + @@ -6427,6 +6917,20 @@ + + + + AgoraAudienceLatencyLevelLowLatency + + + + + + + AgoraAudienceLatencyLevelUltraLowLatency + + + @@ -6483,6 +6987,27 @@ + + + + AgoraAudioCodecProfileLCAAC + + + + + + + AgoraAudioCodecProfileHEAACv2 + + + + + + + AgoraAudioCodecProfileHEAACv2 + + + @@ -6546,6 +7071,34 @@ + + + + AgoraAudioCodecTypeOPUS + + + + + + + AgoraAudioCodecTypeAACLC + + + + + + + AgoraAudioCodecTypeHEAAC2 + + + + + + + AgoraAudioCodecTypeHEAAC2 + + + @@ -6574,6 +7127,27 @@ + + + + AgoraAudioEncodedFrameObserverPositionRecord + + + + + + + AgoraAudioEncodedFrameObserverPositionPlayback + + + + + + + AgoraAudioEncodedFrameObserverPositionMixed + + + @@ -6658,6 +7232,83 @@ + + + + AgoraAudioEncodingTypeAAC16000Low + + + + + + + AgoraAudioEncodingTypeAAC16000Medium + + + + + + + AgoraAudioEncodingTypeAAC32000Low + + + + + + + AgoraAudioEncodingTypeAAC32000Medium + + + + + + + AgoraAudioEncodingTypeAAC32000High + + + + + + + AgoraAudioEncodingTypeAAC48000Medium + + + + + + + AgoraAudioEncodingTypeAAC48000High + + + + + + + AgoraAudioEncodingTypeOPUS16000Low + + + + + + + AgoraAudioEncodingTypeOPUS6000Medium + + + + + + + AgoraAudioEncodingTypeOPUS48000Medium + + + + + + + AgoraAudioEncodingTypeOPUS48000High + + + @@ -6679,6 +7330,20 @@ + + + + AgoraAudioTrackTypeMixable + + + + + + + AgoraAudioTrackTypeDirect + + + @@ -6742,6 +7407,55 @@ + + + + AgoraAudioSourceMicrophone + + + + + + + AgoraAudioSourceCustom + + + + + + + AgoraAudioSourceMediaPlayer + + + + + + + AgoraAudioSourceLoopbackRecording + + + + + + + AgoraAudioSourceRemoteUser + + + + + + + AgoraAudioSourceRemoteChannel + + + + + + + AgoraAudioSourceTypeUnknown + + + @@ -6770,6 +7484,27 @@ + + + + AgoraBlurLow + + + + + + + AgoraBlurMedium + + + + + + + AgoraBlurHigh + + + @@ -6777,41 +7512,76 @@ - + + + + AgoraVirtualBackgroundNone + + + + + + + AgoraVirtualBackgroundColor + + + + + + + AgoraVirtualBackgroundImg + + + + + + + AgoraVirtualBackgroundBlur + + + + + + + AgoraVirtualBackgroundVideo + + + + AgoraVirtualBackgroundNone - - - + + + AgoraVirtualBackgroundColor - - - + + + AgoraVirtualBackgroundImg - - - + + + AgoraVirtualBackgroundBlur - - - + + + AgoraVirtualBackgroundVideo - - + + @@ -6889,6 +7659,41 @@ + + + + AgoraCameraStabilizationModeOff + + + + + + + AgoraCameraStabilizationModeAuto + + + + + + + AgoraCameraStabilizationModeLevel1 + + + + + + + AgoraCameraStabilizationModeLevel2 + + + + + + + AgoraCameraStabilizationModeLevel3 + + + @@ -6931,6 +7736,41 @@ + + + + AgoraCodecMaskNone + + + + + + + AgoraCodecMaskHwDec + + + + + + + AgoraCodecMaskHwEnc + + + + + + + AgoraCodecMaskSwDec + + + + + + + AgoraCodecMaskSwEnc + + + @@ -7029,6 +7869,27 @@ + + + + AgoraContentInspectTypeInvalid + + + + + + + AgoraContentInspectTypeSupervise + + + + + + + AgoraContentInspectTypeImageModeration + + + @@ -7057,6 +7918,27 @@ + + + + AgoraVideoQualityAdaptNone + + + + + + + AgoraVideoQualityAdaptUpBandwidth + + + + + + + AgoraVideoQualityAdaptDownBandwidth + + + @@ -7137,80 +8019,227 @@ - AgoraAudioEffectPresetRoomAcousVirtualSurroundSound + AgoraAudioEffectPresetRoomAcousVirtualSurroundSound + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectUncle + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectOldMan + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectBoy + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectSister + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectGirl + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectPigKin + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectHulk + + + + + + + AgoraAudioEffectPresetStyleTransformationRnb + + + + + + + AgoraAudioEffectPresetStyleTransformationPopular + + + + + + + AgoraAudioEffectPresetPitchCorrection + + + + + + + AgoraAudioEffectPresetOff + + + + + + + AgoraAudioEffectPresetRoomAcousticsKTV + + + + + + + AgoraAudioEffectPresetRoomAcousVocalConcer + + + + + + + AgoraAudioEffectPresetRoomAcousStudio + + + + + + + AgoraAudioEffectPresetRoomAcousPhonograph + + + + + + + AgoraAudioEffectPresetRoomAcousVirtualStereo + + + + + + + AgoraAudioEffectPresetRoomAcousSpatial + + + + + + + AgoraAudioEffectPresetRoomAcousEthereal + + + + + + + AgoraAudioEffectPresetRoomAcous3DVoice + + + + + + + AgoraAudioEffectPresetRoomAcousVirtualSurroundSound + + + + + + + AgoraAudioEffectPresetRoomAcousticsChorus - - - + + + AgoraAudioEffectPresetVoiceChangerEffectUncle - - - + + + AgoraAudioEffectPresetVoiceChangerEffectOldMan - - - + + + AgoraAudioEffectPresetVoiceChangerEffectBoy - - - + + + AgoraAudioEffectPresetVoiceChangerEffectSister - - - + + + AgoraAudioEffectPresetVoiceChangerEffectGirl - - - + + + AgoraAudioEffectPresetVoiceChangerEffectPigKin - - - + + + AgoraAudioEffectPresetVoiceChangerEffectHulk - - - + + + AgoraAudioEffectPresetStyleTransformationRnb - - - + + + AgoraAudioEffectPresetStyleTransformationPopular - - - + + + AgoraAudioEffectPresetPitchCorrection - - + + @@ -7358,6 +8387,34 @@ + + + + AgoraAudioDualMonoStereo + + + + + + + AgoraAudioDualMonoL + + + + + + + AgoraAudioDualMonoR + + + + + + + AgoraAudioDualMonoMix + + + @@ -7393,6 +8450,34 @@ + + + + AgoraAudioMixingDualMonoAuto + + + + + + + AgoraAudioMixingDualMonoL + + + + + + + AgoraAudioMixingDualMonoR + + + + + + + AgoraAudioMixingDualMonoMix + + + @@ -7519,6 +8604,20 @@ + + + + AgoraAudioProcessChannelsMono + + + + + + + AgoraAudioProcessChannelstereo + + + @@ -7582,6 +8681,41 @@ + + + + AgoraAudioProfileDefault + + + + + + + AgoraAudioProfileSpeechStandard + + + + + + + AgoraAudioProfileMusicStandardStereo + + + + + + + AgoraAudioProfileMusicHighQualityStereo + + + + + + + AgoraAudioProfileIot + + + @@ -7631,6 +8765,27 @@ + + + + AgoraAudioFileRecordingTypeMic + + + + + + + AgoraAudioFileRecordingTypePlayback + + + + + + + AgoraAudioFileRecordingTypeMixed + + + @@ -7666,6 +8821,34 @@ + + + + AgoraAudioRecordingQualityLow + + + + + + + AgoraAudioRecordingQualityMedium + + + + + + + AgoraAudioRecordingQualityHigh + + + + + + + AgoraAudioRecordingQualityUltraHigh + + + @@ -7907,38 +9090,115 @@ - AUDIO_ROUTE_USB + AUDIO_ROUTE_USB + + + + + + + AUDIO_ROUTE_HDMI + + + + + + + AUDIO_ROUTE_DISPLAYPORT + + + + + + + AUDIO_ROUTE_AIRPLAY + + + + + + + AgoraAudioOutputRoutingBluetoothDeviceA2dp + + + + + + + AgoraAudioOutputRoutingHeadsetNoMic + + + + + + + AgoraAudioOutputRoutingEarpiece + + + + + + + AgoraAudioOutputRoutingHeadsetNoMic + + + + + + + AgoraAudioOutputRoutingSpeakerphone + + + + + + + AgoraAudioOutputRoutingLoudspeaker + + + + + + + AgoraAudioOutputRoutingBluetoothDeviceHfp + + + + + + + AgoraAudioOutputRoutingUsb - - - + + + - AUDIO_ROUTE_HDMI + AgoraAudioOutputRoutingHdmi - - - + + + - AUDIO_ROUTE_DISPLAYPORT + AgoraAudioOutputRoutingDisplayPort - - - + + + - AUDIO_ROUTE_AIRPLAY + AgoraAudioOutputRoutingAirPlay - - - + + + AgoraAudioOutputRoutingBluetoothDeviceA2dp - - + + @@ -7967,6 +9227,27 @@ + + + + AgoraAudioSampleRateType32000 + + + + + + + AgoraAudioSampleRateType44100 + + + + + + + AgoraAudioSampleRateType48000 + + + @@ -8023,6 +9304,48 @@ + + + + AgoraAudioScenarioDefault + + + + + + + AgoraAudioScenarioGameStreaming + + + + + + + AgoraAudioScenarioChatRoom + + + + + + + AgoraAudioScenarioChorus + + + + + + + AgoraAudioScenarioMeeting + + + + + + + AgoraAudioScenarioAiClient + + + @@ -8100,6 +9423,34 @@ + + + + AgoraCaptureBrightnessLevelInvalid + + + + + + + AgoraCaptureBrightnessLevelNormal + + + + + + + AgoraCaptureBrightnessLevelBright + + + + + + + AgoraCaptureBrightnessLevelDark + + + @@ -8142,6 +9493,41 @@ + + + + AgoraConnectionStateDisconnected + + + + + + + AgoraConnectionStateConnecting + + + + + + + AgoraConnectionStateConnected + + + + + + + AgoraConnectionStateReconnecting + + + + + + + AgoraConnectionStateFailed + + + @@ -8443,6 +9829,90 @@ + + + + AgoraChannelMediaRelayErrorNone + + + + + + + AgoraChannelMediaRelayErrorServerErrorResponse + + + + + + + AgoraChannelMediaRelayErrorServerNoResponse + + + + + + + AgoraChannelMediaRelayErrorNoResourceAvailable + + + + + + + AgoraChannelMediaRelayErrorFailedJoinSourceChannel + + + + + + + AgoraChannelMediaRelayErrorFailedJoinDestinationChannel + + + + + + + AgoraChannelMediaRelayErrorFailedPacketReceivedFromSource + + + + + + + AgoraChannelMediaRelayErrorFailedPacketSentToDestination + + + + + + + AgoraChannelMediaRelayErrorServerConnectionLost + + + + + + + AgoraChannelMediaRelayErrorInternalError + + + + + + + AgoraChannelMediaRelayErrorSourceTokenExpired + + + + + + + AgoraChannelMediaRelayErrorDestinationTokenExpired + + + @@ -8478,6 +9948,34 @@ + + + + AgoraChannelMediaRelayStateIdle + + + + + + + AgoraChannelMediaRelayStateConnecting + + + + + + + AgoraChannelMediaRelayStateRunning + + + + + + + AgoraChannelMediaRelayStateFailure + + + @@ -8516,17 +10014,45 @@ - AgoraChannelProfileCommunication_1v1 + AgoraChannelProfileCommunication_1v1 + + + + + + + AgoraChannelProfileLiveBroadcasting_2 + + + + + + + AgoraChannelProfileCommunication + + + + + + + AgoraChannelProfileLiveBroadcasting + + + + + + + AgoraChannelProfileGame - - - + + + - AgoraChannelProfileLiveBroadcasting_2 + AgoraChannelProfileCloudGaming - - + + @@ -8583,6 +10109,27 @@ + + + + AgoraCompressionAuto + + + + + + + AgoraCompressionLowLatency + + + + + + + AgoraCompressionQuality + + + @@ -8646,6 +10193,20 @@ + + + + AgoraClientRoleBroadcaster + + + + + + + AgoraClientRoleAudience + + + @@ -8681,6 +10242,34 @@ + + + + AgoraClientRoleChangeFailedTooManyBroadcasters + + + + + + + AgoraClientRoleChangeFailedNotAuthorized + + + + + + + AgoraClientRoleChangeFailedRequestTimeout + + + + + + + AgoraClientRoleChangeFailedConnectionFailed + + + @@ -8723,6 +10312,41 @@ + + + + AgoraDegradationMaintainAuto + + + + + + + AgoraDegradationMaintainQuality + + + + + + + AgoraDegradationMaintainFramerate + + + + + + + AgoraDegradationBalanced + + + + + + + AgoraDegradationMaintainResolution + + + @@ -8919,6 +10543,27 @@ + + + + AgoraEncodingPreferAuto + + + + + + + AgoraEncodingPrefersoftware + + + + + + + AgoraEncodingPreferhardware + + + @@ -9318,6 +10963,69 @@ + + + + AgoraEncryptionModeAES128XTS + + + + + + + AgoraEncryptionModeAES128ECB + + + + + + + AgoraEncryptionModeAES256XTS + + + + + + + AgoraEncryptionModeSM4128ECB + + + + + + + AgoraEncryptionModeAES128GCM2 + + + + + + + AgoraEncryptionModeAES256GCM2 + + + + + + + AgoraEncryptionModeAES128GCM2 + + + + + + + AgoraEncryptionModeAES256GCM2 + + + + + + + AgoraEncryptionModeEnd + + + @@ -9360,6 +11068,41 @@ + + + + AgoraExperiencePoorReasonNone + + + + + + + AgoraExperiencePoorReasonRemoteNetworkQualityPoor + + + + + + + AgoraExperiencePoorReasonLocalNetworkQualityPoor + + + + + + + AgoraExperiencePoorReasonWirelessSignalPoor + + + + + + + AgoraExperiencePoorReasonWifiBluetoothCoexist + + + @@ -9381,6 +11124,20 @@ + + + + AgoraExperienceQualityGood + + + + + + + AgoraExperienceQualityBad + + + @@ -9680,29 +11437,78 @@ AgoraVideoFrameRateFps15 - - - + + + + + + AgoraVideoFrameRateFps24 + + + + + + + AgoraVideoFrameRateFps30 + + + + + + + AgoraVideoFrameRateFps60 + + + + + + + AgoraVideoFrameRateFps15 + + + + + + + AgoraVideoFrameRateFps7 + + + + + + + AgoraVideoFrameRateFps10 + + + + + + + AgoraVideoFrameRateFps15 + + + + AgoraVideoFrameRateFps24 - - - + + + AgoraVideoFrameRateFps30 - - - + + + AgoraVideoFrameRateFps60 - - + + @@ -9731,6 +11537,27 @@ + + + + AgoraAudioHeadphoneEQPresetOff + + + + + + + AgoraAudioHeadphoneEQPresetOverear + + + + + + + AgoraAudioHeadphoneEQPresetInear + + + @@ -9759,6 +11586,20 @@ + + + + AgoraLastmileProbeResultIncompleteNoBwe + + + + + + + AgoraLastmileProbeResultUnavailable + + + @@ -9787,6 +11628,27 @@ + + + + AgoraLighteningContrastLow + + + + + + + AgoraLighteningContrastNormal + + + + + + + AgoraLighteningContrastHigh + + + @@ -9843,6 +11705,62 @@ + + + + AgoraAudioLocalReasonOK + + + + + + + AgoraAudioLocalReasonFailure + + + + + + + AgoraAudioLocalReasonDeviceNoPermission + + + + + + + AgoraAudioLocalReasonDeviceBusy + + + + + + + AgoraAudioLocalReasonRecordFailure + + + + + + + AgoraAudioLocalReasonNoRecordingDevice + + + + + + + AgoraAudioLocalReasonNoPlayoutDevice + + + + + + + AgoraAudioLocalReasonInterrupted + + + @@ -9878,6 +11796,13 @@ + + + + AgoraAudioLocalStateRecording + + + @@ -10025,6 +11950,104 @@ + + + + AgoraLocalVideoStreamReasonOK + + + + + + + AgoraLocalVideoStreamReasonFailure + + + + + + + AgoraLocalVideoStreamReasonDeviceNoPermission + + + + + + + AgoraLocalVideoStreamReasonDeviceBusy + + + + + + + AgoraLocalVideoStreamReasonCaptureFailure + + + + + + + AgoraLocalVideoStreamReasonCodecNotSupport + + + + + + + AgoraLocalVideoStreamReasonCaptureInBackGround + + + + + + + AgoraLocalVideoStreamReasonCaptureMultipleForegroundApps + + + + + + + AgoraLocalVideoStreamReasonCaptureDeviceDisconnected + + + + + + + AgoraLocalVideoStreamReasonCaptureDeviceInvalidId + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureWindowMinimized + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureWindowClosed + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureRecoverFromMinimized + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureDisplayDisconnected + + + @@ -10060,6 +12083,27 @@ + + + + AgoraVideoLocalStateCapturing + + + + + + + AgoraVideoLocalStateEncoding + + + + + + + AgoraVideoLocalStateFailed + + + @@ -10100,15 +12144,57 @@ AgoraLogFilterError - - - + + + + + + AgoraLogFilterCritical + + + + + + + AgoraLogFilterOff + + + + + + + AgoraLogFilterDebug + + + + + + + AgoraLogFilterInfo + + + + + + + AgoraLogFilterWarning + + + + + + + AgoraLogFilterError + + + + AgoraLogFilterCritical - - + + @@ -10151,6 +12237,41 @@ + + + + AgoraLogLevelNone + + + + + + + AgoraLogLevelInfo + + + + + + + AgoraLogLevelWarn + + + + + + + AgoraLogLevelError + + + + + + + AgoraLogLevelFatal + + + @@ -10172,6 +12293,20 @@ + + + + AgoraLowlightEnhanceModeAuto + + + + + + + AgoraLowlightEnhanceModeManual + + + @@ -10193,6 +12328,20 @@ + + + + AgoraLowlightEnhanceLevelQuality + + + + + + + AgoraLowlightEnhanceLevelFast + + + @@ -10410,6 +12559,125 @@ + + + + AgoraMediaPlayerReasonNone + + + + + + + AgoraMediaPlayerReasonInvalidArguments + + + + + + + AgoraMediaPlayerReasonInternal + + + + + + + AgoraMediaPlayerReasonNoSource + + + + + + + AgoraMediaPlayerReasonInvalidMediaSource + + + + + + + AgoraMediaPlayerReasonUnknowStreamType + + + + + + + AgoraMediaPlayerReasonObjNotInitialized + + + + + + + AgoraMediaPlayerReasonCodecNotSupported + + + + + + + AgoraMediaPlayerReasonVideoRenderFailed + + + + + + + AgoraMediaPlayerReasonInvalidState + + + + + + + AgoraMediaPlayerReasonUrlNotFound + + + + + + + AgoraMediaPlayerReasonInvalidConnectState + + + + + + + AgoraMediaPlayerReasonSrcBufferUnderflow + + + + + + + AgoraMediaPlayerReasonInterrupted + + + + + + + AgoraMediaPlayerReasonNotSupported + + + + + + + AgoraMediaPlayerReasonTokenExpired + + + + + + + AgoraMediaPlayerReasonUnknown + + + @@ -10471,50 +12739,148 @@ AgoraMediaPlayerEventFreezeStop - - - + + + + + + AgoraMediaPlayerEventSwitchBegin + + + + + + + AgoraMediaPlayerEventSwitchComplete + + + + + + + AgoraMediaPlayerEventSwitchError + + + + + + + AgoraMediaPlayerEventFirstDisplayed + + + + + + + AgoraMediaPlayerEventReachCacheFileMaxCount + + + + + + + AgoraMediaPlayerEventReachCacheFileMaxSize + + + + + + + AgoraMediaPlayerEventSeekBegin + + + + + + + AgoraMediaPlayerEventSeekComplete + + + + + + + AgoraMediaPlayerEventSeekError + + + + + + + AgoraMediaPlayerEventAudioTrackChanged + + + + + + + AgoraMediaPlayerEventBufferLow + + + + + + + AgoraMediaPlayerEventBufferRecover + + + + + + + AgoraMediaPlayerEventFreezeStart + + + + + + + AgoraMediaPlayerEventFreezeStop + + + + AgoraMediaPlayerEventSwitchBegin - - - + + + AgoraMediaPlayerEventSwitchComplete - - - + + + AgoraMediaPlayerEventSwitchError - - - + + + AgoraMediaPlayerEventFirstDisplayed - - - + + + AgoraMediaPlayerEventReachCacheFileMaxCount - - - + + + AgoraMediaPlayerEventReachCacheFileMaxSize - - + + @@ -10536,6 +12902,20 @@ + + + + AgoraMediaPlayerMetaDataTypeUnknown + + + + + + + AgoraMediaPlayerMetaDataTypeSEI + + + @@ -10606,6 +12986,69 @@ + + + + AgoraMediaPlayerStateIdle + + + + + + + AgoraMediaPlayerStateOpening + + + + + + + AgoraMediaPlayerStateOpenCompleted + + + + + + + AgoraMediaPlayerStatePlaying + + + + + + + AgoraMediaPlayerStatePaused + + + + + + + AgoraMediaPlayerStatePlayBackCompleted + + + + + + + AgoraMediaPlayerStatePlayBackAllLoopsCompleted + + + + + + + AgoraMediaPlayerStateStopped + + + + + + + AgoraMediaPlayerStateFailed + + + @@ -10648,6 +13091,13 @@ + + + + AgoraMediaRecorderStreamTypeBoth + + + @@ -10704,6 +13154,55 @@ + + + + AgoraMediaSourceTypeAudioPlayout + + + + + + + AgoraMediaSourceTypeRecording + + + + + + + AgoraMediaSourceTypePrimaryCamera + + + + + + + AgoraMediaSourceTypeSecondaryCamera + + + + + + + AgoraMediaSourceTypeCustomVideo + + + + + + + AgoraMediaSourceTypeSpeechDriven + + + + + + + AgoraMediaSourceTypeUnknown + + + @@ -10725,6 +13224,20 @@ + + + + AgoraMediaTraceEventVideoRendered + + + + + + + AgoraMediaTraceEventVideoDecoded + + + @@ -10760,6 +13273,34 @@ + + + + AgoraMediaStreamTypeUnknown + + + + + + + AgoraMediaStreamTypeVideo + + + + + + + AgoraMediaStreamTypeAudio + + + + + + + AgoraMediaStreamTypeSubtitle + + + @@ -10781,6 +13322,20 @@ + + + + AgoraMetadataTypeUnknown + + + + + + + AgoraMetadataTypeVideo + + + @@ -10872,6 +13427,20 @@ + + + + AgoraNetworkTypeDisconnected + + + + + + + AgoraNetworkTypeWIFI + + + @@ -10900,6 +13469,27 @@ + + + + AgoraVideoOutputOrientationModeAdaptative + + + + + + + AgoraVideoOutputOrientationModeFixedLandscape + + + + + + + AgoraVideoOutputOrientationModeFixedPortrait + + + @@ -10956,6 +13546,20 @@ + + + + AgoraPermissionTypeRecordAudio + + + + + + + AgoraPermissionTypeCamera + + + @@ -10975,15 +13579,36 @@ AgoraMediaPlayerPreloadEventComplete - - - + + + + + + AgoraMediaPlayerPreloadEventError + + + + + + + AgoraMediaPlayerPreloadEventBegin + + + + + + + AgoraMediaPlayerPreloadEventComplete + + + + AgoraMediaPlayerPreloadEventError - - + + @@ -11054,6 +13679,62 @@ + + + + AgoraNetworkQualityUnknown + + + + + + + AgoraNetworkQualityExcellent + + + + + + + AgoraNetworkQualityGood + + + + + + + AgoraNetworkQualityPoor + + + + + + + AgoraNetworkQualityBad + + + + + + + AgoraNetworkQualityVBad + + + + + + + AgoraNetworkQualityDown + + + + + + + AgoraNetworkQualityDetecting + + + @@ -11082,6 +13763,20 @@ + + + + AgoraAudioRawFrameOperationModeReadOnly + + + + + + + AgoraAudioRawFrameOperationModeReadWrite + + + @@ -11124,6 +13819,34 @@ + + + + AgoraAudioRemoteStateStopped + + + + + + + AgoraAudioRemoteStateDecoding + + + + + + + AgoraAudioRemoteStateFrozen + + + + + + + AgoraAudioRemoteStateFailed + + + @@ -11166,6 +13889,41 @@ + + + + AgoraVideoRemoteStateStopped + + + + + + + AgoraVideoRemoteStateStarting + + + + + + + AgoraVideoRemoteStateDecoding + + + + + + + AgoraVideoRemoteStateFrozen + + + + + + + AgoraVideoRemoteStateFailed + + + @@ -11383,6 +14141,13 @@ + + + + AgoraAudioRemoteReasonInternal + + + @@ -11474,6 +14239,48 @@ + + + + AgoraVideoRemoteReasonInternal + + + + + + + AgoraVideoRemoteReasonRecovery + + + + + + + AgoraVideoRemoteReasonAudioFallbackRecovery + + + + + + + AgoraVideoRemoteReasonAudioFallbackRecovery + + + + + + + AgoraVideoRemoteReasonSDKInBackground + + + + + + + AgoraVideoRemoteReasonCodecNotSupport + + + @@ -11635,6 +14442,62 @@ + + + + AgoraVideoStreamTypeHigh + + + + + + + AgoraVideoStreamTypeLow + + + + + + + AgoraVideoStreamTypeLayer1 + + + + + + + AgoraVideoStreamTypeLayer2 + + + + + + + AgoraVideoStreamTypeLayer3 + + + + + + + AgoraVideoStreamTypeLayer4 + + + + + + + AgoraVideoStreamTypeLayer5 + + + + + + + AgoraVideoStreamTypeLayer6 + + + @@ -11677,6 +14540,20 @@ + + + + AgoraExternalVideoSourceTypeVideoFrame + + + + + + + AgoraExternalVideoSourceTypeEncodedVideoFrame + + + @@ -11710,15 +14587,50 @@ AgoraMediaRecorderReasonCodeOverMaxDuration - - - + + + + + + AgoraMediaRecorderReasonCodeConfigChange + + + + + + + AgoraMediaRecorderReasonCodeNoError + + + + + + + AgoraMediaRecorderReasonCodeWriteFailed + + + + + + + AgoraMediaRecorderReasonCodeNoStream + + + + + + + AgoraMediaRecorderReasonCodeOverMaxDuration + + + + AgoraMediaRecorderReasonCodeConfigChange - - + + @@ -11747,6 +14659,27 @@ + + + + AgoraMediaRecorderStateError + + + + + + + AgoraMediaRecorderStateStarted + + + + + + + AgoraMediaRecorderStateStopped + + + @@ -11775,6 +14708,20 @@ + + + + AgoraVideoRenderModeHidden + + + + + + + AgoraVideoRenderModeFit + + + @@ -12089,6 +15036,118 @@ + + + + AgoraRtmpStreamingReasonOK + + + + + + + AgoraRtmpStreamingReasonInvalidParameters + + + + + + + AgoraRtmpStreamingReasonEncryptedStreamNotAllowed + + + + + + + AgoraRtmpStreamingReasonConnectionTimeout + + + + + + + AgoraRtmpStreamingReasonInternalServerError + + + + + + + AgoraRtmpStreamingReasonRtmpServerError + + + + + + + AgoraRtmpStreamingReasonTooOften + + + + + + + AgoraRtmpStreamingReasonReachLimit + + + + + + + AgoraRtmpStreamingReasonNotAuthorized + + + + + + + AgoraRtmpStreamingReasonStreamNotFound + + + + + + + AgoraRtmpStreamingReasonFormatNotSupported + + + + + + + AgoraRtmpStreamingReasonNotBroadcaster + + + + + + + AgoraRtmpStreamingReasonTranscodingNoMixStream + + + + + + + AgoraRtmpStreamingReasonNetDown + + + + + + + AgoraRtmpStreamingReasonInvalidPrivilege + + + + + + + AgoraRtmpStreamingReasonUnpublishOK + + + @@ -12138,7 +15197,49 @@ - + + + + AgoraRtmpStreamingStateIdle + + + + + + + AgoraRtmpStreamingStateConnecting + + + + + + + AgoraRtmpStreamingStateRunning + + + + + + + AgoraRtmpStreamingStateRecovering + + + + + + + AgoraRtmpStreamingStateFailure + + + + + + + AgoraRtmpStreamingStateDisconnecting + + + + AgoraRtePlayerState @@ -12236,6 +15337,34 @@ + + + + AgoraRtmpStreamingEventFailedLoadImage + + + + + + + AgoraRtmpStreamingEventUrlAlreadyInUse + + + + + + + AgoraRtmpStreamingEventAdvancedFeatureNotSupport + + + + + + + AgoraRtmpStreamingEventRequestTooOften + + + @@ -12278,6 +15407,41 @@ + + + + AgoraRhythmPlayerStateIdle + + + + + + + AgoraRhythmPlayerStateOpening + + + + + + + AgoraRhythmPlayerStateDecoding + + + + + + + AgoraRhythmPlayerStatePlaying + + + + + + + AgoraRhythmPlayerStateFailed + + + @@ -12311,15 +15475,50 @@ AgoraRhythmPlayerReasonCanNotPlay - - - + + + + + + AgoraRhythmPlayerReasonFileOverDurationLimit + + + + + + + AgoraRhythmPlayerReasonOK + + + + + + + AgoraRhythmPlayerReasonFailed + + + + + + + AgoraRhythmPlayerReasonCanNotOpen + + + + + + + AgoraRhythmPlayerReasonCanNotPlay + + + + AgoraRhythmPlayerReasonFileOverDurationLimit - - + + @@ -12348,6 +15547,27 @@ + + + + AgoraAutoSimulcastStream + + + + + + + AgoraDisableSimulcastStream + + + + + + + AgoraEnableSimulcastStream + + + @@ -12495,6 +15715,27 @@ + + + + AgoraScreenCaptureFrameRate15FPS + + + + + + + AgoraScreenCaptureFrameRate30FPS + + + + + + + AgoraScreenCaptureFrameRate60FPS + + + @@ -12516,6 +15757,20 @@ + + + + SegModelAgoraAi + + + + + + + SegModelAgoraGreen + + + @@ -12551,6 +15806,34 @@ + + + + AgoraStreamPublishStateIdle + + + + + + + AgoraStreamPublishStateNoPublished + + + + + + + AgoraStreamPublishStatePublishing + + + + + + + AgoraStreamPublishStatePublished + + + @@ -12586,6 +15869,34 @@ + + + + AgoraScreenScenarioDocument + + + + + + + AgoraScreenScenarioGaming + + + + + + + AgoraScreenScenarioVideo + + + + + + + AgoraScreenScenarioRDC + + + @@ -12621,6 +15932,34 @@ + + + + AgoraStreamSubscribeStateIdle + + + + + + + AgoraStreamSubscribeStateNoSubscribed + + + + + + + AgoraStreamSubscribeStateSubscribing + + + + + + + AgoraStreamSubscribeStateSubscribed + + + @@ -12663,6 +16002,27 @@ + + + + AgoraUserOfflineReasonQuit + + + + + + + AgoraUserOfflineReasonDropped + + + + + + + AgoraUserOfflineReasonBecomeAudience + + + @@ -12719,6 +16079,20 @@ + + + + AgoraVideoDenoiserModeAuto + + + + + + + AgoraVideoDenoiserModeManual + + + @@ -12747,6 +16121,20 @@ + + + + AgoraVideoDenoiserLevelHighQuality + + + + + + + AgoraVideoDenoiserLevelFast + + + @@ -12794,57 +16182,176 @@ AgoraVideoSourceTypeMediaPlayer - - - + + + + + + AgoraVideoSourceTypeImagePNG + + + + + + + AgoraVideoSourceTypeImageJPEG + + + + + + + AgoraVideoSourceTypeImageGIF + + + + + + + AgoraVideoSourceTypeRemote + + + + + + + AgoraVideoSourceTypeTransCoded + + + + + + + AgoraVideoSourceTypeSpeechDriven + + + + + + + AgoraVideoSourceTypeUnknown + + + + + + + AgoraVideoSourceTypeCameraFourth + + + + + + + AgoraVideoSourceTypeCameraSecondary + + + + + + + AgoraVideoSourceTypeScreenFourth + + + + + + + AgoraVideoSourceTypeScreenSecondary + + + + + + + AgoraVideoSourceTypeCustom + + + + + + + AgoraVideoSourceTypeMediaPlayer + + + + AgoraVideoSourceTypeImagePNG - - - + + + AgoraVideoSourceTypeImageJPEG - - - + + + AgoraVideoSourceTypeImageGIF - - - + + + AgoraVideoSourceTypeRemote - - - + + + AgoraVideoSourceTypeTransCoded - - - + + + + + + AgoraVideoSourceTypeCameraThird + + + + + + + AgoraVideoSourceTypeCameraFourth + + + + + + + AgoraVideoSourceTypeScreenThird + + + + + + + AgoraVideoSourceTypeScreenFourth + + + + AgoraVideoSourceTypeSpeechDriven - - - + + + AgoraVideoSourceTypeUnknown - - + + @@ -12887,6 +16394,41 @@ + + + + AgoraVideoCodecCapabilityLevelUnspecified + + + + + + + AgoraVideoCodecCapabilityLevelBasicSupport + + + + + + + AgoraVideoCodecCapabilityLevel1080p30fps + + + + + + + AgoraVideoCodecCapabilityLevel1080p60fps + + + + + + + AgoraVideoCodecCapabilityLevel4k60fps + + + @@ -12915,6 +16457,27 @@ + + + + AgoraVideoCodecProfileTypeBaseLine + + + + + + + AgoraVideoCodecProfileTypeMain + + + + + + + AgoraVideoCodecProfileTypeHigh + + + @@ -12978,6 +16541,48 @@ + + + + AgoraVideoCodecTypeNone + + + + + + + AgoraVideoCodecTypeVP8 + + + + + + + AgoraVideoCodecTypeH264 + + + + + + + AgoraVideoCodecTypeH265 + + + + + + + AgoraVideoCodecTypeGenericJpeg + + + + + + + AgoraVideoCodecTypeGenericJpeg + + + @@ -12999,6 +16604,20 @@ + + + + AgoraVideoHwEncoderSoftware + + + + + + + AgoraVideoHwEncoderHardware + + + @@ -13020,6 +16639,20 @@ + + + + AgoraVideoCodecTypeH264ForStream + + + + + + + AgoraVideoCodecTypeH265ForStream + + + @@ -13048,6 +16681,27 @@ + + + + AgoraVideoContentHintNone + + + + + + + AgoraVideoContentHintMotion + + + + + + + AgoraVideoContentHintDetails + + + @@ -13069,6 +16723,20 @@ + + + + AgoraVideoFrameProcessModeReadOnly + + + + + + + AgoraVideoFrameProcessModeReadWrite + + + @@ -13118,6 +16786,48 @@ + + + + AgoraVideoFrameTypeBlankFrame + + + + + + + AgoraVideoFrameTypeKeyFrame + + + + + + + AgoraVideoFrameTypeDeltaFrame + + + + + + + AgoraVideoFrameTypeBFrame + + + + + + + AgoraVideoFrameTypeDroppableFrame + + + + + + + AgoraVideoFrameTypeUnknow + + + @@ -13181,6 +16891,34 @@ + + + + AgoraVideoModulePositionPostCaptureOrigin + + + + + + + AgoraVideoModulePositionPreRenderer + + + + + + + AgoraVideoModulePositionPreEncoder + + + + + + + AgoraVideoModulePositionPostCaptureOrigin + + + @@ -13209,6 +16947,27 @@ + + + + AgoraVideoMirrorModeAuto + + + + + + + AgoraVideoMirrorModeEnabled + + + + + + + AgoraVideoMirrorModeDisabled + + + @@ -13335,6 +17094,34 @@ + + + + AgoraVideoFormatI420 + + + + + + + AgoraVideoFormatRGBA + + + + + + + AgoraVideoFormatI422 + + + + + + + AgoraVideoFormatDefault + + + @@ -13363,6 +17150,27 @@ + + + + AgoraVideoViewSetupReplace + + + + + + + AgoraVideoViewSetupAdd + + + + + + + AgoraVideoViewSetupRemove + + + @@ -13412,6 +17220,48 @@ + + + + AgoraVideoTranscoderErrorVideoSourceNotReady + + + + + + + AgoraVideoTranscoderErrorInvalidVideoSourceType + + + + + + + AgoraVideoTranscoderErrorInvalidImagePath + + + + + + + AgoraVideoTranscoderErrorUnsupportImageFormat + + + + + + + AgoraVideoTranscoderErrorInvalidLayout + + + + + + + AgoraVideoTranscoderErrorInternal + + + @@ -13475,125 +17325,293 @@ - + + + + AgoraVoiceAITunerPowerfulMaleSinging + + + + + + + AgoraVoiceAITunerDreamyFemaleSinging + + + + + + + AgoraVoiceAITunerMatureMale + + + + + + + AgoraVoiceAITunerFreshMale + + + + + + + AgoraVoiceAITunerElegantFemale + + + + + + + AgoraVoiceAITunerSweetFemale + + + + + + + AgoraVoiceAITunerWarmMaleSinging + + + + + + + AgoraVoiceAITunerGentleFemaleSinging + + + + + + + AgoraVoiceAITunerHuskyMaleSinging + + + + + + + AgoraVoiceAITunerWarmElegantFemaleSinging + + + + + + + AgoraVoiceAITunerPowerfulMaleSinging + + + + + + + AgoraVoiceAITunerDreamyFemaleSinging + + + + + + + AgoraVoiceBeautifierPreset + + + + + + + AgoraVoiceBeautifierPresetOff + + + + + + + AgoraVoiceBeautifierPresetChatBeautifierMagnetic + + + + + + + AgoraVoiceBeautifierPresetChatBeautifierFresh + + + + + + + AgoraVoiceBeautifierPresetChatBeautifierVitality + + + + + + + AgoraVoiceBeautifierPresetSingingBeautifier + + + + + + + AgoraVoiceBeautifierTimbreTransformationVigorous + + + + + + + AgoraVoiceBeautifierTimbreTransformationDeep + + + + + + + AgoraVoiceBeautifierTimbreTransformationMellow + + + + + + + AgoraVoiceBeautifierTimbreTransformationFalsetto + + + + + + + AgoraVoiceBeautifierTimbreTransformationFull + + + + + + + AgoraVoiceBeautifierTimbreTransformationClear + + + + - AgoraVoiceAITunerPowerfulMaleSinging + AgoraVoiceBeautifierTimbreTransformationResounding - + - AgoraVoiceAITunerDreamyFemaleSinging + AgoraVoiceBeautifierTimbreTransformatRinging - + - AgoraVoiceBeautifierPreset + AgoraVoiceBeautifierUltraHighQuality - + AgoraVoiceBeautifierPresetOff - - - + + + AgoraVoiceBeautifierPresetChatBeautifierMagnetic - - - + + + AgoraVoiceBeautifierPresetChatBeautifierFresh - - - + + + AgoraVoiceBeautifierPresetChatBeautifierVitality - - - + + + AgoraVoiceBeautifierPresetSingingBeautifier - - - + + + AgoraVoiceBeautifierTimbreTransformationVigorous - - - + + + AgoraVoiceBeautifierTimbreTransformationDeep - - - + + + AgoraVoiceBeautifierTimbreTransformationMellow - - - + + + AgoraVoiceBeautifierTimbreTransformationFalsetto - - - + + + AgoraVoiceBeautifierTimbreTransformationFull - - - + + + AgoraVoiceBeautifierTimbreTransformationClear - - - + + + AgoraVoiceBeautifierTimbreTransformationResounding - - - + + + AgoraVoiceBeautifierTimbreTransformatRinging - - - + + + AgoraVoiceBeautifierUltraHighQuality - - + + @@ -13776,7 +17794,42 @@ - + + + + AgoraVoiceConversionPresetOff + + + + + + + AgoraVoiceConversionPresetNeutral + + + + + + + AgoraVoiceConversionPresetSweet + + + + + + + AgoraVoiceConversionPresetChangerSolid + + + + + + + AgoraVoiceConversionPresetChangerBass + + + + WatermarkType @@ -13797,6 +17850,20 @@ + + + + WatermarkTypeImage + + + + + + + WatermarkTypeBuffer + + + @@ -13818,6 +17885,13 @@ + + + + AgoraMultipathModeDynamic + + + @@ -13853,6 +17927,34 @@ + + + + AgoraMultipathTypeLAN + + + + + + + AgoraMultipathTypeWIFI + + + + + + + AgoraMultipathTypeMobile + + + + + + + AgoraMultipathTypeUnknown + + + @@ -13881,6 +17983,27 @@ + + + + ScreenColorAuto + + + + + + + ScreenColorGreen + + + + + + + ScreenColorBlue + + + @@ -13930,6 +18053,48 @@ + + + + AgoraRenewTokenSuccess + + + + + + + AgoraRenewTokenFailure + + + + + + + AgoraRenewTokenInvalidToken + + + + + + + AgoraRenewTokenInvalidChannelName + + + + + + + AgoraRenewTokenInconsistentAppId + + + + + + + AgoraRenewTokenCanceledByNewRequest + + + @@ -14042,6 +18207,62 @@ + + + + AgoraStreamLayer1 + + + + + + + AgoraStreamLayer2 + + + + + + + AgoraStreamLayer3 + + + + + + + AgoraStreamLayer4 + + + + + + + AgoraStreamLayer5 + + + + + + + AgoraStreamLayer6 + + + + + + + AgoraStreamLow + + + + + + + AgoraStreamLayerCountMax + + + @@ -14208,4 +18429,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 9f4190b2ad3..252e5b55850 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -759,6 +759,447 @@ + + + + onProxyConnected + + + + + + + onError + + + + + + + onAudioQuality + + + + + + + onAudioMixingFinished + + + + + + + onFirstRemoteVideoDecoded + + + + + + + onUserMuteAudio + + + + + + + onUserEnableVideo + + + + + + + onUserEnableLocalVideo + + + + + + + onRemoteAudioStats + + + + + + + onRhythmPlayerStateChanged + + + + + + + onConnectionBanned + + + + + + + onAudioRouteChanged + + + + + + + onReadyToSendMetadata + + + + + + + onDirectCdnStreamingStats + + + + + + + stopEchoTest + + + + + + + startLastmileProbeTest + + + + + + + stopLastmileProbeTest + + + + + + + muteAllRemoteVideoStreams + + + + + + + setRemoteDefaultVideoStreamType [1/2] + + + + + + + registerAudioEncodedFrameObserver + + + + + + + stopAudioMixing + + + + + + + pauseAudioMixing + + + + + + + resumeAudioMixing + + + + + + + getAudioTrackCount + + + + + + + adjustAudioMixingVolume + + + + + + + adjustAudioMixingPublishVolume + + + + + + + getAudioMixingPublishVolume + + + + + + + adjustAudioMixingPlayoutVolume + + + + + + + getAudioMixingPlayoutVolume + + + + + + + getAudioMixingDuration + + + + + + + getAudioMixingCurrentPosition + + + + + + + setAudioMixingDualMonoMode + + + + + + + pauseAllEffects + + + + + + + resumeAllEffects + + + + + + + stopAllEffects + + + + + + + enableSoundPositionIndication + + + + + + + setRemoteVoicePosition + + + + + + + enableSpatialAudio + + + + + + + setRemoteUserSpatialAudioParams + + + + + + + setLocalVoicePitch + + + + + + + setLocalVoiceFormant + + + + + + + setLocalVoiceEqualization + + + + + + + setLocalVoiceReverb + + + + + + + adjustRecordingSignalVolume + + + + + + + adjustPlaybackSignalVolume + + + + + + + setRemoteSubscribeFallbackOption [1/2] + + + + + + + setDefaultAudioRouteToSpeakerphone + + + + + + + isSpeakerphoneEnabled + + + + + + + setRouteInCommunicationMode + + + + + + + updateRtmpTranscoding + + + + + + + startLocalVideoTranscoder + + + + + + + updateLocalTranscoderConfiguration + + + + + + + stopRtmpStream + + + + + + + stopLocalVideoTranscoder + + + + + + + registerMediaMetadataObserver + + + + + + + unregisterMediaMetadataObserver + + + + + + + stopRhythmPlayer + + + + + + + enableContentInspect + + + + + + + adjustCustomAudioPublishVolume + + + + + + + adjustCustomAudioPlayoutVolume + + + + + + + setAdvancedAudioOptions + + + + + + + selectAudioTrack + + + + + + + setParameters + + + @@ -6816,6 +7257,48 @@ + + + + AUDIO_SOURCE_MICROPHONE + + + + + + + AUDIO_SOURCE_CUSTOM + + + + + + + AUDIO_SOURCE_MEDIA_PLAYER + + + + + + + AUDIO_SOURCE_LOOPBACK_RECORDING + + + + + + + AUDIO_SOURCE_REMOTE_USER + + + + + + + AUDIO_SOURCE_REMOTE_CHANNEL + + + @@ -7542,10 +8025,24 @@ - PITCH_CORRECTION + PITCH_CORRECTION + + + + + + + VIDEO_FRAME + + + + + + + ENCODED_VIDEO_FRAME - - + + @@ -7826,6 +8323,34 @@ + + + + AUDIO_MIXING_DUAL_MONO_AUTO + + + + + + + AUDIO_MIXING_DUAL_MONO_L + + + + + + + AUDIO_MIXING_DUAL_MONO_R + + + + + + + AUDIO_MIXING_DUAL_MONO_MIX + + + @@ -7910,6 +8435,34 @@ + + + + DEFAULT + + + + + + + SPEECH_STANDARD + + + + + + + MUSIC_STANDARD_STEREO + + + + + + + MUSIC_HIGH_QUALITY_STEREO + + + @@ -10493,6 +11046,41 @@ + + + + LOG_LEVEL_NONE + + + + + + + LOG_LEVEL_INFO + + + + + + + LOG_LEVEL_WARN + + + + + + + LOG_LEVEL_ERROR + + + + + + + LOG_LEVEL_FATAL + + + @@ -10913,6 +11501,20 @@ + + + + MEDIA_TRACE_EVENT_VIDEO_RENDERED + + + + + + + MEDIA_TRACE_EVENT_VIDEO_DECODED + + + @@ -11242,6 +11844,27 @@ + + + + SCREEN_SCENARIO_DOCUMENT + + + + + + + SCREEN_SCENARIO_GAMING + + + + + + + SCREEN_SCENARIO_VIDEO + + + @@ -13742,6 +14365,20 @@ + + + + VIDEO_MODULE_POSITION_PRE_RENDERER + + + + + + + VIDEO_MODULE_POSITION_PRE_ENCODER + + + @@ -14176,7 +14813,77 @@ - + + + + VOICE_AI_TUNER_MATURE_MALE + + + + + + + VOICE_AI_TUNER_FRESH_MALE + + + + + + + VOICE_AI_TUNER_ELEGANT_FEMALE + + + + + + + VOICE_AI_TUNER_SWEET_FEMALE + + + + + + + VOICE_AI_TUNER_WARM_MALE_SINGING + + + + + + + VOICE_AI_TUNER_GENTLE_FEMALE_SINGING + + + + + + + VOICE_AI_TUNER_HUSKY_MALE_SINGING + + + + + + + VOICE_AI_TUNER_WARM_ELEGANT_FEMALE_SINGING + + + + + + + VOICE_AI_TUNER_POWERFUL_MALE_SINGING + + + + + + + VOICE_AI_TUNER_DREAMY_FEMALE_SINGING + + + + MultipathMode @@ -14197,6 +14904,13 @@ + + + + MULTIPATH_MODE_DYNAMIC + + + @@ -14232,6 +14946,34 @@ + + + + MULTIPATH_TYPE_LAN + + + + + + + MULTIPATH_TYPE_WIFI + + + + + + + MULTIPATH_TYPE_MOBILE + + + + + + + MULTIPATH_TYPE_UNKNOWN + + + @@ -14288,6 +15030,48 @@ + + + + RENEW_TOKEN_SUCCESS + + + + + + + RENEW_TOKEN_FAILURE + + + + + + + RENEW_TOKEN_INVALID_TOKEN + + + + + + + RENEW_TOKEN_INVALID_CHANNEL_NAME + + + + + + + RENEW_TOKEN_INCONSISTENT_APPID + + + + + + + RENEW_TOKEN_CANCELED_BY_NEW_REQUEST + + + @@ -14597,4 +15381,4 @@ - + \ No newline at end of file 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 915c57bb4c1..4441e0a53d5 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -626,6 +626,440 @@ + + + + rtcEngine:didProxyConnected:withUid:proxyType:localProxyIp:elapsed: + + + + + + + rtcEngine:didOccurError: + + + + + + + audioQualityBlock: + + + + + + + rtcEngineLocalAudioMixingDidFinish: + + + + + + + rtcEngine:firstRemoteVideoDecodedOfUid:size:elapsed: + + + + + + + rtcEngine:didAudioMuted:byUid: + + + + + + + rtcEngine:didVideoEnabled:byUid: + + + + + + + rtcEngine:didLocalVideoEnabled:byUid: + + + + + + + rtcEngine:remoteAudioStats: + + + + + + + rtcEngine:didRhythmPlayerStateChanged:reason: + + + + + + + rtcEngineConnectionDidBanned: + + + + + + + rtcEngine:didAudioRouteChanged: + + + + + + + readyToSendMetadataAtTimestamp:sourceType: + + + + + + + onDirectCdnStreamingStats: + + + + + + + stopEchoTest + + + + + + + startLastmileProbeTest: + + + + + + + stopLastmileProbeTest + + + + + + + muteAllRemoteVideoStreams: + + + + + + + setRemoteDefaultVideoStreamType: + + + + + + + setAudioEncodedFrameDelegate:config: + + + + + + + stopAudioMixing + + + + + + + pauseAudioMixing + + + + + + + resumeAudioMixing + + + + + + + getAudioTrackCount + + + + + + + adjustAudioMixingVolume: + + + + + + + adjustAudioMixingPublishVolume: + + + + + + + getAudioMixingPublishVolume + + + + + + + adjustAudioMixingPlayoutVolume: + + + + + + + getAudioMixingPlayoutVolume + + + + + + + getAudioMixingDuration + + + + + + + getAudioMixingCurrentPosition + + + + + + + setAudioMixingDualMonoMode: + + + + + + + pauseAllEffects + + + + + + + resumeAllEffects + + + + + + + stopAllEffects + + + + + + + enableSoundPositionIndication: + + + + + + + setRemoteVoicePosition:pan:gain: + + + + + + + enableSpatialAudio: + + + + + + + setRemoteUserSpatialAudioParams:params: + + + + + + + setLocalVoicePitch: + + + + + + + setLocalVoiceFormant: + + + + + + + setLocalVoiceEqualizationOfBandFrequency:withGain: + + + + + + + setLocalVoiceReverbOfType:withValue: + + + + + + + adjustRecordingSignalVolume: + + + + + + + adjustPlaybackSignalVolume: + + + + + + + setRemoteSubscribeFallbackOption: + + + + + + + adjustLoopbackSignalVolume: + + + + + + + enableCameraCenterStage: + + + + + + + getScreenCaptureSourcesWithThumbSize:iconSize:includeScreen: + + + + + + + updateRtmpTranscoding: + + + + + + + startLocalVideoTranscoder: + + + + + + + updateLocalTranscoderConfiguration: + + + + + + + stopRtmpStream: + + + + + + + stopLocalVideoTranscoder + + + + + + + setMediaMetadataDelegate:withType: + + + + + + + stopRhythmPlayer + + + + + + + enableContentInspect:config: + + + + + + + adjustCustomAudioPublishVolume:volume: + + + + + + + adjustCustomAudioPlayoutVolume:volume: + + + + + + + setAdvancedAudioOptions: + + + + + + + selectAudioTrack: + + + + + + + setParameters: + + + @@ -5961,6 +6395,41 @@ + + + + AgoraNoAlphaStitch + + + + + + + AgoraAlphaStitchUp + + + + + + + AgoraAlphaStitchBelow + + + + + + + AgoraAlphaStitchLeft + + + + + + + AgoraAlphaStitchRight + + + @@ -6017,6 +6486,20 @@ + + + + AgoraAreaCodeTypeIN + + + + + + + AgoraAreaCodeTypeGlobal + + + @@ -6038,6 +6521,20 @@ + + + + AgoraAudienceLatencyLevelLowLatency + + + + + + + AgoraAudienceLatencyLevelUltraLowLatency + + + @@ -6094,6 +6591,20 @@ + + + + AgoraAudioCodecProfileLCAAC + + + + + + + AgoraAudioCodecProfileHEAACv2 + + + @@ -6157,6 +6668,27 @@ + + + + AgoraAudioCodecTypeOPUS + + + + + + + AgoraAudioCodecTypeAACLC + + + + + + + AgoraAudioCodecTypeHEAAC2 + + + @@ -6185,6 +6717,27 @@ + + + + AgoraAudioEncodedFrameObserverPositionRecord + + + + + + + AgoraAudioEncodedFrameObserverPositionPlayback + + + + + + + AgoraAudioEncodedFrameObserverPositionMixed + + + @@ -6269,6 +6822,83 @@ + + + + AgoraAudioEncodingTypeAAC16000Low + + + + + + + AgoraAudioEncodingTypeAAC16000Medium + + + + + + + AgoraAudioEncodingTypeAAC32000Low + + + + + + + AgoraAudioEncodingTypeAAC32000Medium + + + + + + + AgoraAudioEncodingTypeAAC32000High + + + + + + + AgoraAudioEncodingTypeAAC48000Medium + + + + + + + AgoraAudioEncodingTypeAAC48000High + + + + + + + AgoraAudioEncodingTypeOPUS16000Low + + + + + + + AgoraAudioEncodingTypeOPUS6000Medium + + + + + + + AgoraAudioEncodingTypeOPUS48000Medium + + + + + + + AgoraAudioEncodingTypeOPUS48000High + + + @@ -6290,6 +6920,20 @@ + + + + AgoraAudioTrackTypeMixable + + + + + + + AgoraAudioTrackTypeDirect + + + @@ -6353,6 +6997,55 @@ + + + + AgoraAudioSourceMicrophone + + + + + + + AgoraAudioSourceCustom + + + + + + + AgoraAudioSourceMediaPlayer + + + + + + + AgoraAudioSourceLoopbackRecording + + + + + + + AgoraAudioSourceRemoteUser + + + + + + + AgoraAudioSourceRemoteChannel + + + + + + + AgoraAudioSourceTypeUnknown + + + @@ -6372,15 +7065,36 @@ AgoraBlurMedium - - - + + + + + + AgoraBlurHigh + + + + + + + AgoraBlurLow + + + + + + + AgoraBlurMedium + + + + AgoraBlurHigh - - + + @@ -6423,6 +7137,41 @@ + + + + AgoraVirtualBackgroundNone + + + + + + + AgoraVirtualBackgroundColor + + + + + + + AgoraVirtualBackgroundImg + + + + + + + AgoraVirtualBackgroundBlur + + + + + + + AgoraVirtualBackgroundVideo + + + @@ -6535,6 +7284,41 @@ + + + + AgoraCodecMaskNone + + + + + + + AgoraCodecMaskHwDec + + + + + + + AgoraCodecMaskHwEnc + + + + + + + AgoraCodecMaskSwDec + + + + + + + AgoraCodecMaskSwEnc + + + @@ -6633,6 +7417,27 @@ + + + + AgoraContentInspectTypeInvalid + + + + + + + AgoraContentInspectTypeSupervise + + + + + + + AgoraContentInspectTypeImageModeration + + + @@ -6643,178 +7448,346 @@ - AgoraVideoQualityAdaptNone + AgoraVideoQualityAdaptNone + + + + + + + AgoraVideoQualityAdaptUpBandwidth + + + + + + + AgoraVideoQualityAdaptDownBandwidth + + + + + + + AgoraVideoQualityAdaptNone + + + + + + + AgoraVideoQualityAdaptUpBandwidth + + + + + + + AgoraVideoQualityAdaptDownBandwidth + + + + + + + AgoraAudioEffectPreset + + + + + + + AgoraAudioEffectPresetOff + + + + + + + AgoraAudioEffectPresetRoomAcousticsKTV + + + + + + + AgoraAudioEffectPresetRoomAcousVocalConcer + + + + + + + AgoraAudioEffectPresetRoomAcousStudio + + + + + + + AgoraAudioEffectPresetRoomAcousPhonograph + + + + + + + AgoraAudioEffectPresetRoomAcousVirtualStereo + + + + + + + AgoraAudioEffectPresetRoomAcousSpatial + + + + + + + AgoraAudioEffectPresetRoomAcousEthereal + + + + + + + AgoraAudioEffectPresetRoomAcousticsChorus + + + + + + + AgoraAudioEffectPresetRoomAcous3DVoice + + + + + + + AgoraAudioEffectPresetRoomAcousVirtualSurroundSound + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectUncle + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectOldMan + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectBoy + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectSister + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectGirl + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectPigKin + + + + + + + AgoraAudioEffectPresetVoiceChangerEffectHulk - + - AgoraVideoQualityAdaptUpBandwidth + AgoraAudioEffectPresetStyleTransformationRnb - + - AgoraVideoQualityAdaptDownBandwidth + AgoraAudioEffectPresetStyleTransformationPopular - + - AgoraAudioEffectPreset + AgoraAudioEffectPresetPitchCorrection - + AgoraAudioEffectPresetOff - - - + + + AgoraAudioEffectPresetRoomAcousticsKTV - - - + + + AgoraAudioEffectPresetRoomAcousVocalConcer - - - + + + AgoraAudioEffectPresetRoomAcousStudio - - - + + + AgoraAudioEffectPresetRoomAcousPhonograph - - - + + + AgoraAudioEffectPresetRoomAcousVirtualStereo - - - + + + AgoraAudioEffectPresetRoomAcousSpatial - - - + + + AgoraAudioEffectPresetRoomAcousEthereal - - - + + + - AgoraAudioEffectPresetRoomAcousticsChorus + AgoraAudioEffectPresetRoomAcous3DVoice - - - + + + - AgoraAudioEffectPresetRoomAcous3DVoice + AgoraAudioEffectPresetRoomAcousVirtualSurroundSound - - - + + + - AgoraAudioEffectPresetRoomAcousVirtualSurroundSound + AgoraAudioEffectPresetRoomAcousticsChorus - - - + + + AgoraAudioEffectPresetVoiceChangerEffectUncle - - - + + + AgoraAudioEffectPresetVoiceChangerEffectOldMan - - - + + + AgoraAudioEffectPresetVoiceChangerEffectBoy - - - + + + AgoraAudioEffectPresetVoiceChangerEffectSister - - - + + + AgoraAudioEffectPresetVoiceChangerEffectGirl - - - + + + AgoraAudioEffectPresetVoiceChangerEffectPigKin - - - + + + AgoraAudioEffectPresetVoiceChangerEffectHulk - - - + + + AgoraAudioEffectPresetStyleTransformationRnb - - - + + + AgoraAudioEffectPresetStyleTransformationPopular - - - + + + AgoraAudioEffectPresetPitchCorrection - - + + @@ -6962,6 +7935,34 @@ + + + + AgoraAudioDualMonoStereo + + + + + + + AgoraAudioDualMonoL + + + + + + + AgoraAudioDualMonoR + + + + + + + AgoraAudioDualMonoMix + + + @@ -6997,6 +7998,34 @@ + + + + AgoraAudioMixingDualMonoAuto + + + + + + + AgoraAudioMixingDualMonoL + + + + + + + AgoraAudioMixingDualMonoR + + + + + + + AgoraAudioMixingDualMonoMix + + + @@ -7130,6 +8159,20 @@ + + + + AgoraAudioProcessChannelsMono + + + + + + + AgoraAudioProcessChannelstereo + + + @@ -7193,6 +8236,41 @@ + + + + AgoraAudioProfileDefault + + + + + + + AgoraAudioProfileSpeechStandard + + + + + + + AgoraAudioProfileMusicStandardStereo + + + + + + + AgoraAudioProfileMusicHighQualityStereo + + + + + + + AgoraAudioProfileIot + + + @@ -7242,6 +8320,27 @@ + + + + AgoraAudioFileRecordingTypeMic + + + + + + + AgoraAudioFileRecordingTypePlayback + + + + + + + AgoraAudioFileRecordingTypeMixed + + + @@ -7268,15 +8367,43 @@ AgoraAudioRecordingQualityHigh - - - + + + + + + AgoraAudioRecordingQualityUltraHigh + + + + + + + AgoraAudioRecordingQualityLow + + + + + + + AgoraAudioRecordingQualityMedium + + + + + + + AgoraAudioRecordingQualityHigh + + + + AgoraAudioRecordingQualityUltraHigh - - + + @@ -7550,6 +8677,76 @@ + + + + AgoraAudioOutputRoutingHeadsetNoMic + + + + + + + AgoraAudioOutputRoutingEarpiece + + + + + + + AgoraAudioOutputRoutingSpeakerphone + + + + + + + AgoraAudioOutputRoutingLoudspeaker + + + + + + + AgoraAudioOutputRoutingBluetoothDeviceHfp + + + + + + + AgoraAudioOutputRoutingUsb + + + + + + + AgoraAudioOutputRoutingHdmi + + + + + + + AgoraAudioOutputRoutingDisplayPort + + + + + + + AgoraAudioOutputRoutingAirPlay + + + + + + + AgoraAudioOutputRoutingBluetoothDeviceA2dp + + + @@ -7578,6 +8775,27 @@ + + + + AgoraAudioSampleRateType32000 + + + + + + + AgoraAudioSampleRateType44100 + + + + + + + AgoraAudioSampleRateType48000 + + + @@ -7634,6 +8852,48 @@ + + + + AgoraAudioScenarioDefault + + + + + + + AgoraAudioScenarioGameStreaming + + + + + + + AgoraAudioScenarioChatRoom + + + + + + + AgoraAudioScenarioChorus + + + + + + + AgoraAudioScenarioMeeting + + + + + + + AgoraAudioScenarioAiClient + + + @@ -7711,6 +8971,34 @@ + + + + AgoraCaptureBrightnessLevelInvalid + + + + + + + AgoraCaptureBrightnessLevelNormal + + + + + + + AgoraCaptureBrightnessLevelBright + + + + + + + AgoraCaptureBrightnessLevelDark + + + @@ -7753,6 +9041,41 @@ + + + + AgoraConnectionStateDisconnected + + + + + + + AgoraConnectionStateConnecting + + + + + + + AgoraConnectionStateConnected + + + + + + + AgoraConnectionStateReconnecting + + + + + + + AgoraConnectionStateFailed + + + @@ -7954,50 +9277,134 @@ AgoraChannelMediaRelayErrorFailedJoinDestinationChannel - - - + + + + + + AgoraChannelMediaRelayErrorFailedPacketReceivedFromSource + + + + + + + AgoraChannelMediaRelayErrorFailedPacketSentToDestination + + + + + + + AgoraChannelMediaRelayErrorServerConnectionLost + + + + + + + AgoraChannelMediaRelayErrorInternalError + + + + + + + AgoraChannelMediaRelayErrorSourceTokenExpired + + + + + + + AgoraChannelMediaRelayErrorDestinationTokenExpired + + + + + + + AgoraChannelMediaRelayErrorNone + + + + + + + AgoraChannelMediaRelayErrorServerErrorResponse + + + + + + + AgoraChannelMediaRelayErrorServerNoResponse + + + + + + + AgoraChannelMediaRelayErrorNoResourceAvailable + + + + + + + AgoraChannelMediaRelayErrorFailedJoinSourceChannel + + + + + + + AgoraChannelMediaRelayErrorFailedJoinDestinationChannel + + + + AgoraChannelMediaRelayErrorFailedPacketReceivedFromSource - - - + + + AgoraChannelMediaRelayErrorFailedPacketSentToDestination - - - + + + AgoraChannelMediaRelayErrorServerConnectionLost - - - + + + AgoraChannelMediaRelayErrorInternalError - - - + + + AgoraChannelMediaRelayErrorSourceTokenExpired - - - + + + AgoraChannelMediaRelayErrorDestinationTokenExpired - - + + @@ -8033,6 +9440,34 @@ + + + + AgoraChannelMediaRelayStateIdle + + + + + + + AgoraChannelMediaRelayStateConnecting + + + + + + + AgoraChannelMediaRelayStateRunning + + + + + + + AgoraChannelMediaRelayStateFailure + + + @@ -8082,6 +9517,34 @@ + + + + AgoraChannelProfileCommunication + + + + + + + AgoraChannelProfileLiveBroadcasting + + + + + + + AgoraChannelProfileGame + + + + + + + AgoraChannelProfileCloudGaming + + + @@ -8138,6 +9601,27 @@ + + + + AgoraCompressionAuto + + + + + + + AgoraCompressionLowLatency + + + + + + + AgoraCompressionQuality + + + @@ -8201,6 +9685,20 @@ + + + + AgoraClientRoleBroadcaster + + + + + + + AgoraClientRoleAudience + + + @@ -8236,6 +9734,34 @@ + + + + AgoraClientRoleChangeFailedTooManyBroadcasters + + + + + + + AgoraClientRoleChangeFailedNotAuthorized + + + + + + + AgoraClientRoleChangeFailedRequestTimeout + + + + + + + AgoraClientRoleChangeFailedConnectionFailed + + + @@ -8278,6 +9804,41 @@ + + + + AgoraDegradationMaintainAuto + + + + + + + AgoraDegradationMaintainQuality + + + + + + + AgoraDegradationMaintainFramerate + + + + + + + AgoraDegradationBalanced + + + + + + + AgoraDegradationMaintainResolution + + + @@ -8474,6 +10035,27 @@ + + + + AgoraEncodingPreferAuto + + + + + + + AgoraEncodingPrefersoftware + + + + + + + AgoraEncodingPreferhardware + + + @@ -8873,6 +10455,55 @@ + + + + AgoraEncryptionModeAES128XTS + + + + + + + AgoraEncryptionModeAES128ECB + + + + + + + AgoraEncryptionModeAES256XTS + + + + + + + AgoraEncryptionModeSM4128ECB + + + + + + + AgoraEncryptionModeAES128GCM2 + + + + + + + AgoraEncryptionModeAES256GCM2 + + + + + + + AgoraEncryptionModeEnd + + + @@ -8892,29 +10523,64 @@ AgoraExperiencePoorReasonRemoteNetworkQualityPoor - - - + + + + + + AgoraExperiencePoorReasonLocalNetworkQualityPoor + + + + + + + AgoraExperiencePoorReasonWirelessSignalPoor + + + + + + + AgoraExperiencePoorReasonWifiBluetoothCoexist + + + + + + + AgoraExperiencePoorReasonNone + + + + + + + AgoraExperiencePoorReasonRemoteNetworkQualityPoor + + + + AgoraExperiencePoorReasonLocalNetworkQualityPoor - - - + + + AgoraExperiencePoorReasonWirelessSignalPoor - - - + + + AgoraExperiencePoorReasonWifiBluetoothCoexist - - + + @@ -8936,6 +10602,20 @@ + + + + AgoraExperienceQualityGood + + + + + + + AgoraExperienceQualityBad + + + @@ -9258,6 +10938,41 @@ + + + + AgoraVideoFrameRateFps15 + + + + + + + AgoraVideoFrameRateFps7 + + + + + + + AgoraVideoFrameRateFps24 + + + + + + + AgoraVideoFrameRateFps30 + + + + + + + AgoraVideoFrameRateFps60 + + + @@ -9286,6 +11001,27 @@ + + + + AgoraAudioHeadphoneEQPresetOff + + + + + + + AgoraAudioHeadphoneEQPresetOverear + + + + + + + AgoraAudioHeadphoneEQPresetInear + + + @@ -9314,6 +11050,20 @@ + + + + AgoraLastmileProbeResultIncompleteNoBwe + + + + + + + AgoraLastmileProbeResultUnavailable + + + @@ -9342,6 +11092,27 @@ + + + + AgoraLighteningContrastLow + + + + + + + AgoraLighteningContrastNormal + + + + + + + AgoraLighteningContrastHigh + + + @@ -9405,6 +11176,62 @@ + + + + AgoraAudioLocalReasonOK + + + + + + + AgoraAudioLocalReasonFailure + + + + + + + AgoraAudioLocalReasonDeviceNoPermission + + + + + + + AgoraAudioLocalReasonDeviceBusy + + + + + + + AgoraAudioLocalReasonRecordFailure + + + + + + + AgoraAudioLocalReasonNoRecordingDevice + + + + + + + AgoraAudioLocalReasonNoPlayoutDevice + + + + + + + AgoraAudioLocalReasonInterrupted + + + @@ -9440,6 +11267,13 @@ + + + + AgoraAudioLocalStateRecording + + + @@ -9522,50 +11356,148 @@ AgoraLocalVideoStreamReasonCaptureDeviceDisconnected - - - + + + + + + AgoraLocalVideoStreamReasonCaptureDeviceInvalidId + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureWindowMinimized + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureWindowClosed + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureNoPermission + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureRecoverFromMinimized + + + + + + + AgoraLocalVideoStreamReasonScreenCaptureDisplayDisconnected + + + + + + + AgoraLocalVideoStreamReasonOK + + + + + + + AgoraLocalVideoStreamReasonFailure + + + + + + + AgoraLocalVideoStreamReasonDeviceNoPermission + + + + + + + AgoraLocalVideoStreamReasonDeviceBusy + + + + + + + AgoraLocalVideoStreamReasonCaptureFailure + + + + + + + AgoraLocalVideoStreamReasonCodecNotSupport + + + + + + + AgoraLocalVideoStreamReasonCaptureInBackGround + + + + + + + AgoraLocalVideoStreamReasonCaptureMultipleForegroundApps + + + + + + + AgoraLocalVideoStreamReasonCaptureDeviceDisconnected + + + + AgoraLocalVideoStreamReasonCaptureDeviceInvalidId - - - + + + AgoraLocalVideoStreamReasonScreenCaptureWindowMinimized - - - + + + AgoraLocalVideoStreamReasonScreenCaptureWindowClosed - - - - - - AgoraLocalVideoStreamReasonScreenCaptureNoPermission - - - - + + + AgoraLocalVideoStreamReasonScreenCaptureRecoverFromMinimized - - - + + + AgoraLocalVideoStreamReasonScreenCaptureDisplayDisconnected - - + + @@ -9601,6 +11533,27 @@ + + + + AgoraVideoLocalStateCapturing + + + + + + + AgoraVideoLocalStateEncoding + + + + + + + AgoraVideoLocalStateFailed + + + @@ -9650,6 +11603,48 @@ + + + + AgoraLogFilterOff + + + + + + + AgoraLogFilterDebug + + + + + + + AgoraLogFilterInfo + + + + + + + AgoraLogFilterWarning + + + + + + + AgoraLogFilterError + + + + + + + AgoraLogFilterCritical + + + @@ -9692,6 +11687,41 @@ + + + + AgoraLogLevelNone + + + + + + + AgoraLogLevelInfo + + + + + + + AgoraLogLevelWarn + + + + + + + AgoraLogLevelError + + + + + + + AgoraLogLevelFatal + + + @@ -9713,6 +11743,20 @@ + + + + AgoraLowlightEnhanceModeAuto + + + + + + + AgoraLowlightEnhanceModeManual + + + @@ -9734,6 +11778,20 @@ + + + + AgoraLowlightEnhanceLevelQuality + + + + + + + AgoraLowlightEnhanceLevelFast + + + @@ -9881,57 +11939,176 @@ AgoraMediaPlayerReasonInvalidState - - - + + + + + + AgoraMediaPlayerReasonUrlNotFound + + + + + + + AgoraMediaPlayerReasonInvalidConnectState + + + + + + + AgoraMediaPlayerReasonSrcBufferUnderflow + + + + + + + AgoraMediaPlayerReasonInterrupted + + + + + + + AgoraMediaPlayerReasonNotSupported + + + + + + + AgoraMediaPlayerReasonTokenExpired + + + + + + + AgoraMediaPlayerReasonIpExpired + + + + + + + AgoraMediaPlayerReasonUnknown + + + + + + + AgoraMediaPlayerReasonTokenExpired + + + + + + + AgoraMediaPlayerReasonNotSupported + + + + + + + AgoraMediaPlayerReasonInterrupted + + + + + + + AgoraMediaPlayerReasonSrcBufferUnderflow + + + + + + + AgoraMediaPlayerReasonInvalidConnectState + + + + + + + AgoraMediaPlayerReasonUrlNotFound + + + + + + + AgoraMediaPlayerReasonInvalidState + + + + + + + AgoraMediaPlayerReasonVideoRenderFailed + + + + + + + AgoraMediaPlayerReasonCodecNotSupported + + + + - AgoraMediaPlayerReasonUrlNotFound + AgoraMediaPlayerReasonObjNotInitialized - - - + + + - AgoraMediaPlayerReasonInvalidConnectState + AgoraMediaPlayerReasonUnknowStreamType - - - + + + - AgoraMediaPlayerReasonSrcBufferUnderflow + AgoraMediaPlayerReasonInvalidMediaSource - - - + + + - AgoraMediaPlayerReasonInterrupted + AgoraMediaPlayerReasonNoSource - - - + + + - AgoraMediaPlayerReasonNotSupported + AgoraMediaPlayerReasonInternal - - - + + + - AgoraMediaPlayerReasonTokenExpired + AgoraMediaPlayerReasonInvalidArguments - - - + + + - AgoraMediaPlayerReasonIpExpired + AgoraMediaPlayerReasonNone - - + + @@ -10037,6 +12214,104 @@ + + + + AgoraMediaPlayerEventReachCacheFileMaxSize + + + + + + + AgoraMediaPlayerEventReachCacheFileMaxCount + + + + + + + AgoraMediaPlayerEventFirstDisplayed + + + + + + + AgoraMediaPlayerEventSwitchError + + + + + + + AgoraMediaPlayerEventSwitchComplete + + + + + + + AgoraMediaPlayerEventSwitchBegin + + + + + + + AgoraMediaPlayerEventFreezeStop + + + + + + + AgoraMediaPlayerEventFreezeStart + + + + + + + AgoraMediaPlayerEventBufferRecover + + + + + + + AgoraMediaPlayerEventBufferLow + + + + + + + AgoraMediaPlayerEventAudioTrackChanged + + + + + + + AgoraMediaPlayerEventSeekError + + + + + + + AgoraMediaPlayerEventSeekComplete + + + + + + + AgoraMediaPlayerEventSeekBegin + + + @@ -10058,6 +12333,20 @@ + + + + AgoraMediaPlayerMetaDataTypeSEI + + + + + + + AgoraMediaPlayerMetaDataTypeUnknown + + + @@ -10128,6 +12417,69 @@ + + + + AgoraMediaPlayerStateFailed + + + + + + + AgoraMediaPlayerStateStopped + + + + + + + AgoraMediaPlayerStatePlayBackAllLoopsCompleted + + + + + + + AgoraMediaPlayerStatePlayBackCompleted + + + + + + + AgoraMediaPlayerStatePaused + + + + + + + AgoraMediaPlayerStatePlaying + + + + + + + AgoraMediaPlayerStateOpenCompleted + + + + + + + AgoraMediaPlayerStateOpening + + + + + + + AgoraMediaPlayerStateIdle + + + @@ -10170,6 +12522,13 @@ + + + + AgoraMediaRecorderStreamTypeBoth + + + @@ -10194,38 +12553,87 @@ - AgoraMediaSourceTypeRecording + AgoraMediaSourceTypeRecording + + + + + + + AgoraMediaSourceTypePrimaryCamera + + + + + + + AgoraMediaSourceTypeSecondaryCamera + + + + + + + AgoraMediaSourceTypeCustomVideo + + + + + + + AgoraMediaSourceTypeSpeechDriven + + + + + + + AgoraMediaSourceTypeUnknown + + + + + + + AgoraMediaSourceTypeSpeechDriven + + + + + + + AgoraMediaSourceTypeCustomVideo - - - + + + - AgoraMediaSourceTypePrimaryCamera + AgoraMediaSourceTypeSecondaryCamera - - - + + + - AgoraMediaSourceTypeSecondaryCamera + AgoraMediaSourceTypePrimaryCamera - - - + + + - AgoraMediaSourceTypeCustomVideo + AgoraMediaSourceTypeRecording - - - + + + - AgoraMediaSourceTypeSpeechDriven + AgoraMediaSourceTypeAudioPlayout - - + + @@ -10247,6 +12655,20 @@ + + + + AgoraMediaTraceEventVideoDecoded + + + + + + + AgoraMediaTraceEventVideoRendered + + + @@ -10282,6 +12704,34 @@ + + + + AgoraMediaStreamTypeSubtitle + + + + + + + AgoraMediaStreamTypeAudio + + + + + + + AgoraMediaStreamTypeVideo + + + + + + + AgoraMediaStreamTypeUnknown + + + @@ -10303,6 +12753,20 @@ + + + + AgoraMetadataTypeVideo + + + + + + + AgoraMetadataTypeUnknown + + + @@ -10366,6 +12830,20 @@ + + + + AgoraNetworkTypeWIFI + + + + + + + AgoraNetworkTypeDisconnected + + + @@ -10394,6 +12872,27 @@ + + + + AgoraVideoOutputOrientationModeFixedPortrait + + + + + + + AgoraVideoOutputOrientationModeFixedLandscape + + + + + + + AgoraVideoOutputOrientationModeAdaptative + + + @@ -10415,6 +12914,20 @@ + + + + AgoraPermissionTypeCamera + + + + + + + AgoraPermissionTypeRecordAudio + + + @@ -10443,6 +12956,27 @@ + + + + AgoraMediaPlayerPreloadEventError + + + + + + + AgoraMediaPlayerPreloadEventComplete + + + + + + + AgoraMediaPlayerPreloadEventBegin + + + @@ -10513,6 +13047,62 @@ + + + + AgoraNetworkQualityDetecting + + + + + + + AgoraNetworkQualityDown + + + + + + + AgoraNetworkQualityVBad + + + + + + + AgoraNetworkQualityBad + + + + + + + AgoraNetworkQualityPoor + + + + + + + AgoraNetworkQualityGood + + + + + + + AgoraNetworkQualityExcellent + + + + + + + AgoraNetworkQualityUnknown + + + @@ -10541,6 +13131,20 @@ + + + + AgoraAudioRawFrameOperationModeReadWrite + + + + + + + AgoraAudioRawFrameOperationModeReadOnly + + + @@ -10583,6 +13187,34 @@ + + + + AgoraAudioRemoteStateFailed + + + + + + + AgoraAudioRemoteStateFrozen + + + + + + + AgoraAudioRemoteStateDecoding + + + + + + + AgoraAudioRemoteStateStopped + + + @@ -10623,8 +13255,43 @@ AgoraVideoRemoteStateFrozen - - + + + + + + AgoraVideoRemoteStateFailed + + + + + + + AgoraVideoRemoteStateFrozen + + + + + + + AgoraVideoRemoteStateDecoding + + + + + + + AgoraVideoRemoteStateStarting + + + + + + + AgoraVideoRemoteStateStopped + + + @@ -10842,6 +13509,13 @@ + + + + AgoraAudioRemoteReasonInternal + + + @@ -10933,6 +13607,41 @@ + + + + AgoraVideoRemoteReasonCodecNotSupport + + + + + + + AgoraVideoRemoteReasonSDKInBackground + + + + + + + AgoraVideoRemoteReasonAudioFallbackRecovery + + + + + + + AgoraVideoRemoteReasonRecovery + + + + + + + AgoraVideoRemoteReasonInternal + + + @@ -11094,6 +13803,62 @@ + + + + AgoraVideoStreamTypeLayer6 + + + + + + + AgoraVideoStreamTypeLayer5 + + + + + + + AgoraVideoStreamTypeLayer4 + + + + + + + AgoraVideoStreamTypeLayer3 + + + + + + + AgoraVideoStreamTypeLayer2 + + + + + + + AgoraVideoStreamTypeLayer1 + + + + + + + AgoraVideoStreamTypeLow + + + + + + + AgoraVideoStreamTypeHigh + + + @@ -11136,6 +13901,20 @@ + + + + AgoraExternalVideoSourceTypeEncodedVideoFrame + + + + + + + AgoraExternalVideoSourceTypeVideoFrame + + + @@ -11178,6 +13957,41 @@ + + + + AgoraMediaRecorderReasonCodeConfigChange + + + + + + + AgoraMediaRecorderReasonCodeOverMaxDuration + + + + + + + AgoraMediaRecorderReasonCodeNoStream + + + + + + + AgoraMediaRecorderReasonCodeWriteFailed + + + + + + + AgoraMediaRecorderReasonCodeNoError + + + @@ -11206,6 +14020,27 @@ + + + + AgoraMediaRecorderStateStopped + + + + + + + AgoraMediaRecorderStateStarted + + + + + + + AgoraMediaRecorderStateError + + + @@ -11234,6 +14069,20 @@ + + + + AgoraVideoRenderModeFit + + + + + + + AgoraVideoRenderModeHidden + + + @@ -11547,8 +14396,120 @@ AgoraRtmpStreamingReasonInvalidPrivilege - - + + + + + + AgoraRtmpStreamingReasonUnpublishOK + + + + + + + AgoraRtmpStreamingReasonInvalidPrivilege + + + + + + + AgoraRtmpStreamingReasonNetDown + + + + + + + AgoraRtmpStreamingReasonTranscodingNoMixStream + + + + + + + AgoraRtmpStreamingReasonNotBroadcaster + + + + + + + AgoraRtmpStreamingReasonFormatNotSupported + + + + + + + AgoraRtmpStreamingReasonStreamNotFound + + + + + + + AgoraRtmpStreamingReasonNotAuthorized + + + + + + + AgoraRtmpStreamingReasonReachLimit + + + + + + + AgoraRtmpStreamingReasonTooOften + + + + + + + AgoraRtmpStreamingReasonRtmpServerError + + + + + + + AgoraRtmpStreamingReasonInternalServerError + + + + + + + AgoraRtmpStreamingReasonConnectionTimeout + + + + + + + AgoraRtmpStreamingReasonEncryptedStreamNotAllowed + + + + + + + AgoraRtmpStreamingReasonInvalidParameters + + + + + + + AgoraRtmpStreamingReasonOK + + + @@ -11598,6 +14559,48 @@ + + + + AgoraRtmpStreamingStateDisconnecting + + + + + + + AgoraRtmpStreamingStateFailure + + + + + + + AgoraRtmpStreamingStateRecovering + + + + + + + AgoraRtmpStreamingStateRunning + + + + + + + AgoraRtmpStreamingStateConnecting + + + + + + + AgoraRtmpStreamingStateIdle + + + @@ -11696,6 +14699,34 @@ + + + + AgoraRtmpStreamingEventRequestTooOften + + + + + + + AgoraRtmpStreamingEventAdvancedFeatureNotSupport + + + + + + + AgoraRtmpStreamingEventUrlAlreadyInUse + + + + + + + AgoraRtmpStreamingEventFailedLoadImage + + + @@ -11738,6 +14769,41 @@ + + + + AgoraRhythmPlayerStateFailed + + + + + + + AgoraRhythmPlayerStatePlaying + + + + + + + AgoraRhythmPlayerStateDecoding + + + + + + + AgoraRhythmPlayerStateOpening + + + + + + + AgoraRhythmPlayerStateIdle + + + @@ -11780,6 +14846,41 @@ + + + + AgoraRhythmPlayerReasonFileOverDurationLimit + + + + + + + AgoraRhythmPlayerReasonCanNotPlay + + + + + + + AgoraRhythmPlayerReasonCanNotOpen + + + + + + + AgoraRhythmPlayerReasonFailed + + + + + + + AgoraRhythmPlayerReasonOK + + + @@ -11808,6 +14909,27 @@ + + + + AgoraEnableSimulcastStream + + + + + + + AgoraDisableSimulcastStream + + + + + + + AgoraAutoSimulcastStream + + + @@ -11948,6 +15070,20 @@ + + + + SegModelAgoraGreen + + + + + + + SegModelAgoraAi + + + @@ -11983,6 +15119,34 @@ + + + + AgoraStreamPublishStatePublished + + + + + + + AgoraStreamPublishStatePublishing + + + + + + + AgoraStreamPublishStateNoPublished + + + + + + + AgoraStreamPublishStateIdle + + + @@ -12018,6 +15182,34 @@ + + + + AgoraScreenScenarioRDC + + + + + + + AgoraScreenScenarioVideo + + + + + + + AgoraScreenScenarioGaming + + + + + + + AgoraScreenScenarioDocument + + + @@ -12053,6 +15245,34 @@ + + + + AgoraStreamSubscribeStateSubscribed + + + + + + + AgoraStreamSubscribeStateSubscribing + + + + + + + AgoraStreamSubscribeStateNoSubscribed + + + + + + + AgoraStreamSubscribeStateIdle + + + @@ -12095,6 +15315,27 @@ + + + + AgoraUserOfflineReasonBecomeAudience + + + + + + + AgoraUserOfflineReasonDropped + + + + + + + AgoraUserOfflineReasonQuit + + + @@ -12142,15 +15383,29 @@ AgoraVideoDenoiserMode - - - + + + + + + AgoraVideoDenoiserModeAuto + + + + + + + AgoraVideoDenoiserModeManual + + + + AgoraVideoDenoiserModeAuto - - + + @@ -12179,6 +15434,20 @@ + + + + AgoraVideoDenoiserLevelFast + + + + + + + AgoraVideoDenoiserLevelHighQuality + + + @@ -12305,6 +15574,83 @@ + + + + AgoraVideoSourceTypeUnknown + + + + + + + AgoraVideoSourceTypeSpeechDriven + + + + + + + AgoraVideoSourceTypeTransCoded + + + + + + + AgoraVideoSourceTypeRemote + + + + + + + AgoraVideoSourceTypeImageGIF + + + + + + + AgoraVideoSourceTypeImageJPEG + + + + + + + AgoraVideoSourceTypeImagePNG + + + + + + + AgoraVideoSourceTypeMediaPlayer + + + + + + + AgoraVideoSourceTypeCustom + + + + + + + AgoraVideoSourceTypeScreenFourth + + + + + + + AgoraVideoSourceTypeCameraFourth + + + @@ -12347,6 +15693,41 @@ + + + + AgoraVideoCodecCapabilityLevelUnspecified + + + + + + + AgoraVideoCodecCapabilityLevelBasicSupport + + + + + + + AgoraVideoCodecCapabilityLevel1080p30fps + + + + + + + AgoraVideoCodecCapabilityLevel1080p60fps + + + + + + + AgoraVideoCodecCapabilityLevel4k60fps + + + @@ -12375,6 +15756,27 @@ + + + + AgoraVideoCodecProfileTypeHigh + + + + + + + AgoraVideoCodecProfileTypeMain + + + + + + + AgoraVideoCodecProfileTypeBaseLine + + + @@ -12438,6 +15840,41 @@ + + + + AgoraVideoCodecTypeGenericJpeg + + + + + + + AgoraVideoCodecTypeH265 + + + + + + + AgoraVideoCodecTypeH264 + + + + + + + AgoraVideoCodecTypeVP8 + + + + + + + AgoraVideoCodecTypeNone + + + @@ -12459,6 +15896,20 @@ + + + + AgoraVideoHwEncoderHardware + + + + + + + AgoraVideoHwEncoderSoftware + + + @@ -12480,6 +15931,20 @@ + + + + AgoraVideoCodecTypeH265ForStream + + + + + + + AgoraVideoCodecTypeH264ForStream + + + @@ -12501,6 +15966,20 @@ + + + + AgoraVideoFrameProcessModeReadWrite + + + + + + + AgoraVideoFrameProcessModeReadOnly + + + @@ -12550,6 +16029,48 @@ + + + + AgoraVideoFrameTypeUnknow + + + + + + + AgoraVideoFrameTypeDroppableFrame + + + + + + + AgoraVideoFrameTypeBFrame + + + + + + + AgoraVideoFrameTypeDeltaFrame + + + + + + + AgoraVideoFrameTypeKeyFrame + + + + + + + AgoraVideoFrameTypeBlankFrame + + + @@ -12609,10 +16130,31 @@ - AgoraVideoModulePositionPreEncoder + AgoraVideoModulePositionPreEncoder + + + + + + + AgoraVideoModulePositionPreEncoder + + + + + + + AgoraVideoModulePositionPreRenderer + + + + + + + AgoraVideoModulePositionPostCaptureOrigin - - + + @@ -12641,6 +16183,27 @@ + + + + AgoraVideoMirrorModeDisabled + + + + + + + AgoraVideoMirrorModeEnabled + + + + + + + AgoraVideoMirrorModeAuto + + + @@ -12767,6 +16330,34 @@ + + + + AgoraVideoFormatDefault + + + + + + + AgoraVideoFormatI422 + + + + + + + AgoraVideoFormatRGBA + + + + + + + AgoraVideoFormatI420 + + + @@ -12795,6 +16386,27 @@ + + + + AgoraVideoViewSetupRemove + + + + + + + AgoraVideoViewSetupAdd + + + + + + + AgoraVideoViewSetupReplace + + + @@ -12851,6 +16463,48 @@ + + + + AgoraVideoTranscoderErrorInternal + + + + + + + AgoraVideoTranscoderErrorInvalidLayout + + + + + + + AgoraVideoTranscoderErrorUnsupportImageFormat + + + + + + + AgoraVideoTranscoderErrorInvalidImagePath + + + + + + + AgoraVideoTranscoderErrorInvalidVideoSourceType + + + + + + + AgoraVideoTranscoderErrorVideoSourceNotReady + + + @@ -12928,6 +16582,76 @@ + + + + AgoraVoiceAITunerDreamyFemaleSinging + + + + + + + AgoraVoiceAITunerPowerfulMaleSinging + + + + + + + AgoraVoiceAITunerWarmElegantFemaleSinging + + + + + + + AgoraVoiceAITunerHuskyMaleSinging + + + + + + + AgoraVoiceAITunerGentleFemaleSinging + + + + + + + AgoraVoiceAITunerWarmMaleSinging + + + + + + + AgoraVoiceAITunerSweetFemale + + + + + + + AgoraVoiceAITunerElegantFemale + + + + + + + AgoraVoiceAITunerFreshMale + + + + + + + AgoraVoiceAITunerMatureMale + + + @@ -12952,87 +16676,185 @@ - AgoraVoiceBeautifierPresetChatBeautifierMagnetic + AgoraVoiceBeautifierPresetChatBeautifierMagnetic + + + + + + + AgoraVoiceBeautifierPresetChatBeautifierFresh + + + + + + + AgoraVoiceBeautifierPresetChatBeautifierVitality + + + + + + + AgoraVoiceBeautifierPresetSingingBeautifier + + + + + + + AgoraVoiceBeautifierTimbreTransformationVigorous + + + + + + + AgoraVoiceBeautifierTimbreTransformationDeep + + + + + + + AgoraVoiceBeautifierTimbreTransformationMellow + + + + + + + AgoraVoiceBeautifierTimbreTransformationFalsetto + + + + + + + AgoraVoiceBeautifierTimbreTransformationFull + + + + + + + AgoraVoiceBeautifierTimbreTransformationClear + + + + + + + AgoraVoiceBeautifierTimbreTransformationResounding + + + + + + + AgoraVoiceBeautifierTimbreTransformatRinging + + + + + + + AgoraVoiceBeautifierUltraHighQuality + + + + + + + AgoraVoiceBeautifierTimbreTransformatRinging + + + + + + + AgoraVoiceBeautifierTimbreTransformationResounding - - - + + + - AgoraVoiceBeautifierPresetChatBeautifierFresh + AgoraVoiceBeautifierTimbreTransformationClear - - - + + + - AgoraVoiceBeautifierPresetChatBeautifierVitality + AgoraVoiceBeautifierTimbreTransformationFull - - - + + + - AgoraVoiceBeautifierPresetSingingBeautifier + AgoraVoiceBeautifierTimbreTransformationFalsetto - - - + + + - AgoraVoiceBeautifierTimbreTransformationVigorous + AgoraVoiceBeautifierTimbreTransformationMellow - - - + + + AgoraVoiceBeautifierTimbreTransformationDeep - - - + + + - AgoraVoiceBeautifierTimbreTransformationMellow + AgoraVoiceBeautifierTimbreTransformationVigorous - - - + + + - AgoraVoiceBeautifierTimbreTransformationFalsetto + AgoraVoiceBeautifierPresetSingingBeautifier - - - + + + - AgoraVoiceBeautifierTimbreTransformationFull + AgoraVoiceBeautifierPresetChatBeautifierVitality - - - + + + - AgoraVoiceBeautifierTimbreTransformationClear + AgoraVoiceBeautifierPresetChatBeautifierFresh - - - + + + - AgoraVoiceBeautifierTimbreTransformationResounding + AgoraVoiceBeautifierPresetChatBeautifierMagnetic - - - + + + - AgoraVoiceBeautifierTimbreTransformatRinging + AgoraVoiceBeautifierPresetOff - - + + @@ -13229,6 +17051,41 @@ + + + + AgoraVoiceConversionPresetChangerBass + + + + + + + AgoraVoiceConversionPresetChangerSolid + + + + + + + AgoraVoiceConversionPresetSweet + + + + + + + AgoraVoiceConversionPresetNeutral + + + + + + + AgoraVoiceConversionPresetOff + + + @@ -13250,6 +17107,20 @@ + + + + WatermarkTypeBuffer + + + + + + + WatermarkTypeImage + + + @@ -13285,6 +17156,13 @@ + + + + AgoraMultipathModeDynamic + + + @@ -13313,6 +17191,34 @@ + + + + AgoraMultipathTypeUnknown + + + + + + + AgoraMultipathTypeMobile + + + + + + + AgoraMultipathTypeWIFI + + + + + + + AgoraMultipathTypeLAN + + + @@ -13362,6 +17268,27 @@ + + + + ScreenColorBlue + + + + + + + ScreenColorGreen + + + + + + + ScreenColorAuto + + + @@ -13390,6 +17317,48 @@ + + + + AgoraRenewTokenCanceledByNewRequest + + + + + + + AgoraRenewTokenInconsistentAppId + + + + + + + AgoraRenewTokenInvalidChannelName + + + + + + + AgoraRenewTokenInvalidToken + + + + + + + AgoraRenewTokenFailure + + + + + + + AgoraRenewTokenSuccess + + + @@ -13509,6 +17478,62 @@ + + + + AgoraStreamLayerCountMax + + + + + + + AgoraStreamLow + + + + + + + AgoraStreamLayer6 + + + + + + + AgoraStreamLayer5 + + + + + + + AgoraStreamLayer4 + + + + + + + AgoraStreamLayer3 + + + + + + + AgoraStreamLayer2 + + + + + + + AgoraStreamLayer1 + + + @@ -13662,4 +17687,4 @@ - + \ No newline at end of file diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap index 630073cc6ff..be733e58322 100644 --- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap +++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap @@ -2240,6 +2240,7 @@ + @@ -2270,6 +2271,7 @@ + @@ -2473,10 +2475,12 @@ + + @@ -2670,6 +2674,7 @@ + @@ -2743,6 +2748,7 @@ + @@ -3547,4 +3553,4 @@ - + \ No newline at end of file